Problèmes rencontrés pendant le dev :
bibliothèque de jeu ClanLib qui subissait de lourde modifications internes, API instable
Ici, j'ai conseillé SFML parce que je connais bien, que je suis le développement et que la 2.1 est plutôt bien fichu (ça permet de faire du graphique, mais aussi du son et du textes avec gestion des fontes, et du réseau).
le moteur physique a été codé à partir de nos cours de physique au lycée : le moteur était plutôt bancal, instable et bogué
Pour des jeux où la physique compte beaucoup, je conseille Box2D (et je pense que Wormux fait partie de ces jeux là). Mais pour l'exemple que je donne, il n'y a pas beaucoup de physique et des trucs bien maîtrisés donc ça vaut le coup de refaire un bout de code pour ça.
le réseau est arrivé très tard dans le jeu et fonctionnait mal sur Internet (bien en local avec une très faible latence)
Ça, j'ai prévenu tous les groupes dès le départ. Le réseau, ce n'est pas quelque chose qu'on ajoute après avoir fait un jeu solo. Et je pense qu'inconsciemment, j'avais Wormux en tête parce que je me souviens avoir lu au cours des news sur LinuxFR la difficulté à faire ce travail d'ajout. Donc tous les jeux solos resteront solo et les jeux réseaux le sont dès le départ. Et je les ai prévenu que le réseau, c'était pas facile, surtout quand on veut faire du temps-réel (ce qui est le cas pour tous les groupes).
on a passé une grosse partie du temps à s'occuper des aspects qui n'ont pas de lien avec le jeu directement : pile graphique, réseau, entrées-sorties, etc.
Est-ce que ça ne dépend pas des libs utilisées ? Avec SFML où tout est intégré, et où les interfaces sont très simples à utiliser, j'espère que ça se passera bien et qu'on pourra se concentrer sur les aspects importants. Mes expériences avec des projets semestriels utilisant SFML me donnent plutôt confiance sur ces aspects.
Il y a 10 ans, les bibliothèques de jeu n'était pas bien packagé sous Linux, les pilotes graphiques libres était très lents, et une nouvelle version mettait plusieurs mois à être disponible dans les distributions Linux. La distribution était un gros problème.
10 ans après, c'est guère mieux. Bon, on a des pilotes libres qui sont tout à fait convenables pour les jeux développés dans le cadre du club. Mais niveau libs, c'est quand même pas la joie parfois. Quand j'ai commencé Akagoria, dans Debian, Box2D était packagé comme un cochon (changement du nom de la lib par rapport au reste du monde !) et SFML en était encore à la version 1.6 alors que la 2.1 était sorti depuis un moment quand même. Donc, au départ, je compilais tout ça à la main. Depuis, ça s'est amélioré, les packages sont maintenant présents, mais seront-ils maintenus ? Rien n'est moins sûr. Les jeux, c'est vraiment le parent pauvre des distributions malheureusement.
[^] # Re: Conseils d'un ancien programmeur de jeu
Posté par rewind (Mastodon) . En réponse au journal Dead Pixels Society. Évalué à 5.
Ici, j'ai conseillé SFML parce que je connais bien, que je suis le développement et que la 2.1 est plutôt bien fichu (ça permet de faire du graphique, mais aussi du son et du textes avec gestion des fontes, et du réseau).
Pour des jeux où la physique compte beaucoup, je conseille Box2D (et je pense que Wormux fait partie de ces jeux là). Mais pour l'exemple que je donne, il n'y a pas beaucoup de physique et des trucs bien maîtrisés donc ça vaut le coup de refaire un bout de code pour ça.
Ça, j'ai prévenu tous les groupes dès le départ. Le réseau, ce n'est pas quelque chose qu'on ajoute après avoir fait un jeu solo. Et je pense qu'inconsciemment, j'avais Wormux en tête parce que je me souviens avoir lu au cours des news sur LinuxFR la difficulté à faire ce travail d'ajout. Donc tous les jeux solos resteront solo et les jeux réseaux le sont dès le départ. Et je les ai prévenu que le réseau, c'était pas facile, surtout quand on veut faire du temps-réel (ce qui est le cas pour tous les groupes).
Est-ce que ça ne dépend pas des libs utilisées ? Avec SFML où tout est intégré, et où les interfaces sont très simples à utiliser, j'espère que ça se passera bien et qu'on pourra se concentrer sur les aspects importants. Mes expériences avec des projets semestriels utilisant SFML me donnent plutôt confiance sur ces aspects.
10 ans après, c'est guère mieux. Bon, on a des pilotes libres qui sont tout à fait convenables pour les jeux développés dans le cadre du club. Mais niveau libs, c'est quand même pas la joie parfois. Quand j'ai commencé Akagoria, dans Debian, Box2D était packagé comme un cochon (changement du nom de la lib par rapport au reste du monde !) et SFML en était encore à la version 1.6 alors que la 2.1 était sorti depuis un moment quand même. Donc, au départ, je compilais tout ça à la main. Depuis, ça s'est amélioré, les packages sont maintenant présents, mais seront-ils maintenus ? Rien n'est moins sûr. Les jeux, c'est vraiment le parent pauvre des distributions malheureusement.