• # Merci pour vos réponses.

    Posté par . En réponse à la dépêche Sortie de battle‐rage: un jeu de combat, dans le genre Street Fighter.. Évalué à 0.

    Bonjours tout le monde du LIBRE,

    D'abords je signale a nouveau que je ne suis pas du monde du jeu vidéo propriétaire ou non.

    Je suis du monde LIBRE, l'on utilise des licences certes, mais des licences LIBRES, et puis l'on aime a utiliser le concept du copyleft afin que les ressources et codes créer reste libre.

    Dans notre monde tout le monde a droit d'utilisé les ressources qu'ils veut dans le but qu'il veut.

    Seulement nous vivons dans un monde capitalo-néo-fasciste ou l'argent, le pouvoir et la propriété (protéger par des licences) font la loi, nous ne somme qu'une poignée de ce monde mais notre monde est meilleurs.


    Je vous en voulais d'avoir fait un flan de cette histoire de licence.

    Mais vous avez parfaitement raison, j'aurai dû faire plus gaffe en amont du travail de programmation et de séquençages des ressources (qui d'ailleurs m'a pris beaucoup de temps a extraire les séquences des coups d'une archive de 350 a 750 images et une première passe de nettoyage afin d'enlever la magie comme les boules de feu par exemple) par joueur (16 joueurs).

    Et finalement comme c'est une première ce problème de licence pour moi, dont suite a la découverte je me suis battus corps et âmes afin de contacter SNK et de punir le site qui m'a abusé.

    J'ai donc appris de mes erreurs et je ne ferai plus cela, même si d'autres le font (volontairement ou pas) car cela est toléré.

    Extrait du 3ième mail rester sans réponses envoyer a SNK (info-usa CHEZ snkplaymore.co.jp):

    
    Final note:
    If you don’t answer on my mail, which I write carefully, full of respect to your services and full truly to you. 
    I will consider that you tolerate the illegal ripping of your resources from your programs, 
    (programs written by your employed, images created by your employed, which hard work painfully for winning their earning) 
    and so be very unfair to them (your employed), to me (no respect for little programmers), to all the world of good people.
    Else if you decide to pursue in justice the site which distribute ripped files from your programs, you will make a good action I think personally. 
    PS: 
    If this mail is receive by a secretary or someone which isn't able to respond me: 
    thanks to transmit it to someone of the firm SNK which is able to respond to me.
    It's not because I'm a hobby programmer, and you an international video game firm, that you can simply ignore me and the problem I get with because it's a problem for you too.
    Your non-answers would be very offending to me and not very respectfully to somebody which want to clarify some legal aspects of a work he have done. In a very damaging circumstances for this person. 
    If this mail is taking in charge by someone competent:
    thanks to read the 2 precedent mails too (which are written in a very confusing manner) I send to the mail address (chez) info-usa @snkplaymore.co.jp 
    to get all elements about this affair and you can visit the following web pages for further information about it:
    http://www.open-source-projects.net/battle-rage/battle-rage
    and
    http://www.open-source-projects.net/battle-rage/disclaiming/battle-rage_resources_disclaiming.html
    and the web page where I downloaded the images files from:
    https://www.spriters-resource.com/xbox_360/neogeobattlecoliseum/ 
    

    Je tiens a signaler aussi que je ne suis pas un programmeur LIBRE, très avancée, et donc que ma naiveté dans ce domaine vient certainement de là.


    Ce n'est pas parce que SNK ne répond pas que ça te lave de tout. Bien au contraire, tu n'as pas reçu d'autorisation pour utiliser leur travail.

    Que ce soit toléré ou non, le juge s'en balance, et c'est toi qui tombera dès que SNK ou les ayants droits vont bouger le petit doigt.

    J'ai fait de' mon mieux pour parlementer avec eux si ils ne peuvent pas communiquer, ils sont trop attarder pour faire un procès.


    Dans le même style que les sprites, on voit que tu as copié/collé du code d'un bouquin. Vérifie que la licence te le permets (s'il n'y en a pas, la réponse est non :-) ).

    Le sources sont libres et j'ai contacter l'auteur du code a 2 reprise par courtoisie sans réponses.


    Tu n'es pas obligé non plus d'être seul sur le projet. Il y a des infographistes libristes aussi. Regarde Battle for Wesnoth, par exemple, je trouve que ça vaut tous les jeux propriétaires.

    J'ai toujours été tous seul sur mes projets, sauf une fois ou quelqu'un a daigner corriger mon code source a la pré-sortie de it-edit (Intégrated Terminals Editor) en version 1.

    Alors les appels a la contribution je les fait ou car je ne sais pas ou j'obtiendrai de résultat ???


    Pour parler du code:

    Je n'ai pas testé le jeu, mais le code source mériterait un bon nettoyage: il y a souvent des méthodes très longues, difficiles à lire, des gotos, des variables globales, des nombres magiques...

    Il faut dire qu'avant de faire du C++ je faisait du C.

    1. Les méthodes (plutôt fonctions) longues: par exemple celle qui implémente les réactions du personnage ordinateur, le sont car je n'ai pas pensé a découper certaines portions en d'autres fonction plus petites.

    Celle-ci a pour prototype:

    void fighter_2_compute_reactions(const int8_t fighter1_action, const int16_t fighter1_x, Fighters* fighter2)

    Je n'y passe que l'action du joueur sous forme de int8_t, la position du joueur sous forme de int16_t, et un raw-pointer sur le combattant ordinateur (qui sont des smart pointers dans main(...) dont j'ai bien besoins pour implémenter ses réactions.

    Plutôt léger je trouve, dans les ressources passé pour une fonction implémentant toutes les réactions de l'ordinateur qu'il est vrai que j'ai dû plus découper en sous fonctions car certaines séquences de code reviennent. .

    Ou alors celle des intersections entre joueur (attention les rectangles sont décalés dans le but que les 2 combattants se retrouve face a face et non image contre image (ce qui produirai un padding non-réaliste).

    Cela dans le but d'assainir les mainloop qui elle sont courtes et très lisible je trouve personnellement, au moins a partir du moment ou l'on entre dans la boucle.

    1. Concernant les instructions goto.

    Il est vrai que leur usage et déconseillé (car elle peuvent déstructurer le code) mais a partir du moment ou l'on sais ce que l'on fait l'on peut en faire un bon usage pour un bon bond dans le code.

    1. des variables globales.

    Il en faut bien parfois et je ne vois pas ou est le mal a condition de ne pas en abusé.

    1. des nombres magiques...

    Je préfère coder mes getters de table de hachage:

    std::unordered_map<int8_t, std::forward_list<SDL_Texture*>>

    ou l'action du joueur ou de l'ordinateur correspond a ces nombres, en nombre magique (comme tu dit) de 1 octet au lieu d'un std::string qui va bouffer plus de mémoire mais qui sera plus explicite.

    Le parcours de la single linked list est fait par des itérateur.