Pépite du libre : Slime Volley reprend son évolution
Dans ce jeu, vous dirigez une slime (un blob semi-circulaire) sur lequel la balle rebondit. Le développement était en dormance depuis la dernière version en date, la 2.4.2 est sortie en juillet 2010 qui permet de jouer de 2 à 6 joueurs, qu’ils soient locaux, distant ou contrôlés par une IA, mais le projet vient de reprendre vie depuis quelques semaines.
Oui, je suis joueur et gnulinuxien, donc je joue principalement à des jeux libres. J’ai beaucoup joué à Tremulous en DUT, c’était un des rares bons jeux réseau qui tenait sur le quota disque qu’on avait sur les PCs. C’est un jeu extra en LAN, je suis le développement de Unvanquished (le renouveau de Tremulous) de près, mais c’est beaucoup moins intéressant de jouer en ligne et j’ai plus trop l’occasion d’organiser des LANs.
C’est difficile de faire une liste exhaustive et de choisir, donc en vrac, les jeux libres qui m’ont beaucoup plu : Which way is up, Xonotic, Nikki and the robots, Me and my shadow, Battle for wesnoth, Bos wars (vieilles versions), Legend of Edgar, Teeworlds, SuperTuxKart, FLARE, et je suis sûr d’en oublier…
4- Peux-tu nous expliquer la genèse du jeu Slime Volley et Genetic Invasion?
Pour Slime Volley, j’étais en DUT et j’en avais marre de coder en ADA (le langage qu’on utilisait en première année), donc j’ai suivi le tutoriel du site du zero pour apprendre le C, et le tutoriel terminait par une explication sur comment utiliser SDL.
J’aimais bien le jeu Slime Volley qui existait en java sur le net et j’ai décidé d’en faire un clone libre en C/SDL. J’ai demandé de l’aide à un ami du Lycée (VinDuv) et le projet a démarré! Avec le temps et les versions le jeu a gagné en fonctionnalités. On a fini par décidé de redémarrer le projet en C++, mais on en a jamais trouvé le temps ou la motivation et le projet est mort. C’était il y a quelque chose comme 2 ans, et j’ai repris le développement il y a quelques semaines, cette fois ci en restant en C/SDL sur la continuité du code existant.
Quant à Genetic Invasion, c’était dans le cadre de mon école d’ingénieur, on devait faire un projet en groupe, j’ai trouvé aucun sujet qui me plaisait dans ceux proposés donc j’ai proposé le mien : un jeu qui utilise la théorie de Darwin pour gérer l’évolution des ennemis. 3 collègues m’ont rejoint et le projet s’est plutôt bien passé. J’ai découvert au passage que l’idée d’utiliser la théorie de l’évolution en informatique n’était pas nouvelle et que ça s’appelait les algorithmes génétiques (qui sont un sous ensemble des évolutionnaires). On a donc pu utiliser des bibliothèques existantes et avancer vite. Malheureusement le développement a été très ralenti après la fin du projet universitaire, pour finir par s’arrêter avec le jeu dans un état injouable…
More information and download : http://projects.haxx.es/p/genetic-invasion/
Mais je ne perds pas espoir, j’ai trouvé la motivation pour reprendre Slime Volley, je reprendrais Genetic Invasion un jour:-)
5- Du côté technique, quels sont les technologies employées et quels logiciels utilises-tu pour le développement? (langage(s) informatique(s), bibliothèques utilisé(s), format du contenu (images, sons, animations))
J’utilise l’éditeur Geany qui est un bon compromis entre l’IDE et le simple éditeur. Je me sers de CMake pour gérer la compilation des projets. Slime Volley est en C/SDL comme évoqué précédemment, Genetic Invasion est en C++/SFML avec l’utilisation de libeo pour l’évolution.
Rien de spécifique coté format pour le contenu, je prends tout ce que les bibliothèques acceptent de manger. (on utilise SDL_Image pour pouvoir charger du png dans Slime Volley)
6- Du côté contenu, fais-tu appel à des ressources externes? (comme on peut en trouver sur freegamedev.net (code) OpenGameArt.org (animations, grapĥismes), freesound.org (sons) ou transifex.com (traduction))
Pour Slime Volley non, on a au début bricolé des trucs nous même, puis on a eu des contributions d’un peu meilleure qualité. Quand on a voulu que le jeu intègre Debian on a du vérifier toutes les licences et changer les sons qui n’étaient pas libres, on a pioché dans les sons systèmes d’Ubuntu et KDE (pour les sons de rebond de balle).
Pour Genetic Invasion oui, on a utilisé des sprites de OpenGameArt pour les ennemis et les tourelles, et un album de musique sur Jamendo pour la bande son. (Un album de Ozzed, fans de 8bits, écoutez, c’est du bon!)
Il y a quelques temps j’ai aussi repris le projet FreeSiege, qui avait un code libre mais des données non-libres piochées sur google image. J’ai tout remplacé par des choses de OpenGameArt et des contributions sur freegamedev. Et encore une fois un album de Ozzed pour la bande son.
7- Du côté communautaire, Slime Volley est-il conçu plutôt de manière communautaire ou plutôt comme un projet personnel?
Un peu des deux, mais ça va changer.
Coté code ça a toujours été un projet personnel, en partie parce qu’il n’y a pas vraiment matière à faire travailler beaucoup de personnes vu la simplicité du jeu. Coté graphismes, on a eu plusieurs contributions au travers de notre forum (aujourd’hui fermé à cause du spam, on rouvrira peut-être d’ici la release), en autres de yagraph.
Il y a aussi une personne qui m’avait fait des thèmes pour la nouvelle version, et j’ai malheureusement perdu son contact, plus moyen de remettre la main sur nos échange ou sur les images de niveau qu’il m’avait envoyé. S’il lit ça, qu’il me contacte!
Avec la nouvelle version et le système de thème à débloquer, je vais avoir besoin de pas mal de nouveaux thèmes donc je risque de faire un appel aux contributions d’ici peu. (Probablement sur linuxfr, mais si quelqu’un veut contribuer il lui suffit de me contacter peu importe comment) J’ai aussi fait appel à un ami (comme chez Foucault…) qui est plus matheux que moi pour retravailler la gestion des collisions qui a toujours été un point noir de Slime Volley.
8- Quels sont les outils que tu as mis en place pour recevoir d’éventuelles contributions?
Pas grand chose hélas, j’ai du fermer le forum à cause du spam comme expliqué précédemment. On travaille avec un dépôt SVN hébergé chez TuxFamily (merci à eux qui ont permis au projet d’exister sur le web, le dépôt svn et le site web fonctionne encore après ces nombreuses années).
Si je fais un appel aux contributions officiel pour les thèmes je rouvrirai le forum ou en tout cas je fournirais un moyen de nous contacter facilement
9- Du côté développement, Slime Volley n’avait pas eu le droit a une nouvelle version depuis juillet 2010 et la dernière version de Genetic Invasion date du début de l’année, est-ce que cette situation est choisie à cause de la maturité du projet et que toutes les fonctionnalités voulues sont implémentées ou subite par manque de contributions ou reçoivent-ils suffisamment d’intérêt de la part de la communauté à ton goût?
J’ai déjà un peu expliqué au dessus, le développement de Slime Volley s’est arrêté par manque de temps et parce qu’on avait l’impression de plus trop pouvoir le faire évoluer à moins de passer à un moteur physique et un langage objet (Je suis maintenant occupé à prouver le contraire).
Pour ce qui est de Genetic Invasion une fois le projet fini dans le cadre universitaire, le développement a fortement ralenti, tous les membres se sont retrouvés occupés à leurs stages, puis l’un a eu un accident de voiture, …
Pour ce qui est de l’intérêt de la communauté, Slime Volley n’a pas à se plaindre, j’ai toujours retrouvé des articles un peu partout sur le web, et même dans les journaux papiers parfois! Sur le store d’Ubuntu également on peut laisser des commentaires, j’y ai trouvé plein de compliments dans divers langues à propos de Slime Volley.
Par contre, les autres jeux que j’ai développé j’ai eu plus de mal à faire leur promotion et les faire connaître au près des joueurs. (Divide and succeed par exemple n’a intéressé personne alors que malgré un look très minimaliste le principe du jeu est intéressant, et il aurait eu besoin de contributions pour les niveaux).
Dans le cas de Genetic Invasion c’est surtout la difficulté à faire un binaire utilisable et un jeu fini et équilibré qui a posé problème.
10- As-tu déjà proposé ou penses-tu proposer un jour Slime Volley ou Genetic Invasion au Google Summer of Code, comme l’ont déjà fait FreedroidRPG, Hedgewar ou Unknown Horizons?
Hum je n’y avais pas pensé, il y a encore peu de temps j’espérais pouvoir y participer en tant qu’étudiant, j’ai finalement pas essayé à cause des contraintes de calendrier. J’ai pas de projet d’y participer en tant qu’encadrant pour l’instant, j’ai peur que ça me prenne trop de temps en dehors du boulot…
11- Hormis, Slime Volley et Genetic Invasion, contribues-tu à d’autres projets libres (jeux ou autres)?
Actuellement non mais j’ai contribué à pas mal de trucs au cours des dernières années, je vous redirige vers mon site web où j’essaie d’être exhaustif : http://mcmic.haxx.es
En vrac,
- coté projets perso : Slime Volley, Genetic Invasion, Divide and succeed, OpenStreetGame
- coté contributions : Pink Pony (IA), violetland (menu de config), FreeSiege (données libres), SuperTuxKart (mode reverse)
12- Comment vois-tu l’avenir pour Slime Volley et Genetic Invasion et as-tu d’autres projets de jeu dans les cartons?
L’avenir de Slime Volley c’est la nouvelle version que je prépare, après ça je verrais si j’ai envie d’y ajouter d’autres trucs ou si le jeu me parait complet.
Pour Genetic Invasion il faut que je reprenne le projet quand j’aurai le courage, il faut finir la migration vers sfml2 et revenir à l’ancien système de simulation, et peaufiner l’équilibrage. Je n’ai aucune idée de quand je trouverais la motivation et le temps pour faire tout ça.
J’ai pas d’autre projet pour l’instant, en général je suis sur un projet à la fois, en ce moment c’est Slime Volley
Merci à MCMic d’avoir répondu à nos questions.
Je vous encourage vivement à visiter le site de Slime Volley en relayant son appel aux contributions sur Slime Volley et si vous en avez l’envie de contribuer vous aussi au design de ces charmants petits slimes.