Salut les zestueux !
Aujourd’hui je viens vous présenter le nouveau projet dans lequel je me suis lancé, avec une petite présentation personnelle avant ça.
Présentation
Je m’appelle Jérôme, j’ai 24 ans et je suis actuellement développeur dans un petit studio de jeux vidéos basé sur Lyon, cependant c’est aussi ma passion depuis très longtemps.
Côté technique, je programme en C++ depuis bientôt dix ans, après quelques détours par d’autres langages (notamment Lua, C, C#, etc.).
Projet (historique)
Le projet dont je vais vous parler a été commencé en 2009, à l’époque où j’avais des étoiles dans les yeux, l’impression que tout était simple et où je sous-estimais les tâches.
C’est donc tout naturellement que je me suis lancé dans un jeu de type MMO.
L’idée était la suivante: faire un jeu de gestion dans l’espace, avec gestion d’une base planétaire, production d’une flotte spatiale, et affrontement avec les autres joueurs via les vaisseaux spatiaux.
Avec une petite particularité: Tout est programmable.
Autrement dit, les vaisseaux spatiaux n’obéissent pas à une IA générique implémentée par le développeur du jeu, mais bien implémentée par le joueur.
Le jeu et son idées ont intéressé pas mal de monde à l’époque, au point d’intéresser un graphiste professionnel qui nous avait fait un site web, ainsi qu’un ingénieur son qui nous a même composé quelques musiques.
Le problème, en plus du fait que personne dans l’équipe n’avait la moindre idée sur comment lancer le projet réellement, c’est qu’au détour d’un essai de programmation en utilisant un moteur de jeu, j’ai été frustré de ne pas comprendre le fonctionnement de ces moteurs au point de décider d’en créer un, pensant que ça allait seulement retarder le projet de quelques mois.
C’est donc tout naturellement que huit ans plus tard…
Projet (présent)
Aujourd’hui, après cinq années de travail sur mon propre moteur de jeu, avoir acquis en connaissances, compétences et maturité, j’ai décidé de relancer cette idée de jeu de programmation, mais en version faisable.
Du coup l’idée, c’est de reprendre le jeu à la base, c’est à dire faire un jeu de combat de vaisseaux spatiaux qui soient contrôlés par des IA écrites par les joueurs, et ensuite d’étoffer.
Mais avant, et surtout, l’idée est d’en faire un jeu communautaire, c’est notamment pour cette raison que le jeu sera open-source et disponible sur GitHub, que les idées à apporter au jeu pourront être apportées par n’importe qui et soumises au vote du public.
Et également, que le développement du jeu sera effectué en live sur Twitch.
Voici le lien du twitch, quelques sessions de développement ont déjà été effectuées et sont disponibles en replay (je vous déconseille la première session, car mon micro et ma webcam n’étaient pas DU TOUT adaptés ).
https://www.twitch.tv/sirlynixvanfrietjes
Actuellement, le développement est assez technique, le travail se fait surtout sur le réseau (mise en place d’une architecture de base pour le serveur, de la gestion des packets, etc.) donc ça peut en rebuter certains, n’hésitez pas à revenir d’ici une live ou deux, lorsqu’il y aura enfin du concret à montrer (un client graphique en somme).
Évolution
Comme je l’ai dit, le but principal est de sortir un jeu reprenant le concept de base, en charcutant bien des idées qui avaient été développées à la base et en les ramenant après si possible.
Voici une liste de ces idées potentielles: - Permettre à un non-programmeur de jouer, notamment via la programmation graphique (type blueprint d’UE4/éditeur de trigger de Warcraft 3) - Faire un marché au script, un joueur pourrait vendre/louer ses scripts à d’autres joueurs pour qu’ils se tapent dessus, mais gare aux backdoors ! - Rendre les vaisseaux modulaires, on peut imaginer que des processeurs donnent accès à plus de mémoire pour les scripts, qu’on puisse monter les armes de son choix, etc. - Autoriser d’autres moyens que le combat pur et dur pour gagner une partie.
Je reviens sur cette dernière idée, on peut imaginer qu’un vaisseau ait beaucoup de moteurs/boucliers mais aucune arme, avec une IA dont le seul objectif est de s’écraser sur le plus gros vaisseau de la flotte ennemie.
On peut imaginer un vaisseau brouilleur (doté de boucliers et d’antennes) dont le seul but est d’empêcher le dialogue entre les vaisseaux ennemis en brouillant les fréquences, ou en les spammant de messages (un petit Denial of Service !).
On peut imaginer plein de choses, l’objectif c’est pas que ce projet soit juste le mien, mais aussi le vôtre
Vidéos
Je suis actuellement en live si ça vous intéresse.
Il y a également un serveur Discord sur lequel se trouve un canal dédié au projet si ça vous intéresse (command !projets dans #bots).
Sur ce, je dois y aller, vous êtes déjà dix à m’attendre !