mardi 30 avril 2013

Témoignage d'un créateur et présentation de son projet Mission M82

Voici un témoignage de Zakatchi, un lycéen qui crée actuellement un jeu par navigateur dans le cadre d'un concours organisé par l'Efrei. Il nous présente ici son projet et comment il s'est déroulé, en partageant les difficultés qu'il a rencontrées ainsi que quelques conseils bien utiles ! Merci à lui et bonne chance à son jeu Mission M82 pour la suite du concours ;-) DA.

Le parcours de la création d'un jeu par navigateur...
... à travers le concours Innov'Game.


Bonjour à tous !

Après vous avoir présenté le concours Innov'Game by Efrei, je vais aujourd'hui vous présenter le parcours de la création de notre jeu par navigateur. Le concours (auquel je participe) est intéressant de par sa forme : l'objectif est bel et bien de recréer les conditions de création d'un jeu professionnel. 
Je vais, tout au long de cet article, faire une analogie avec notre propre jeu : Mission M82.

J'ai fait des erreurs de débutant pendant ce projet, mais j'ai également et surtout beaucoup appris. Sur le projet, nous sommes deux lycéens. Avec un ami nous avons donc tenté cette aventure, et quel qu'en soit le résultat, pour nous c'est une belle expérience et nous avons désormais notre projet le plus abouti entre les mains.


            A) L'équipe

Comme je l'ai dit, nous ne sommes que deux. Un qui dessine et s'occupe de toutes les illustrations, et l'autre - moi - qui développe. Ce n'est pas toujours facile de se mettre d'accord sur le thème du jeu, le gameplay, etc, alors avoir une trop grosse équipe ne vous aidera pas forcément : chacun aura ses idées et trancher sera d'autant plus difficile !

Notre principale difficulté est la communication au sein de l'équipe car nous n'habitons pas à proximité l'un de l'autre. Nous n'avons pas pu nous voir souvent. Ceci dit nous nous sommes rapidement mis d'accord... Prévoyez pour vos projets des rencontres fréquentes - même via Skype  - car quand les personnes habitent aux quatre coins de la France c'est très vite compliqué.

            B) Conception

La conception d'un jeu est le début d'une grande aventure. C'est le moment où il faut faire le choix du type de jeu, l'univers etc. Ne négligez pas cet aspect primordial : pas de bon jeu sans bon univers. Si il ne vous plaît pas, vous serez vite lassé de le développer et si il n'est pas assez approfondi, peu original ou mal adapté, ce sont les joueurs qui se lasseront.

Pour le concours, le but était de nous faire créer un univers de toutes pièces, à partir d'un thème imposé : la source. Nous ne devions dans un premier temps pas parler du gameplay. Cependant, même si nous avons laissé libre cours à notre imagination, il ne faut pas oublier que le développement suivra derrière : c'est frustrant d'imaginer le plus beau jeu du monde, si on se rend compte par la suite qu'il est irréalisable ...





Nous avons choisi un thème futuriste et pas vraiment sérieux. Avec les actualités - au moment de cette étape on parlait beaucoup du robot Curiosity - nous nous sommes demandés quand est-ce que Mars serait habitée... Et voilà notre thème !

Un jeu par navigateur, car c'est la techno dans laquelle je suis le plus à l'aise, et il ne nous reste plus qu'à trouver un bon scénario. Voici le synopsis de notre jeu; je ne sais pas s'il est bon, ça c'est à vous de nous le dire, mais il nous plaisait bien :

            Mission M82, c'est le nom d'une grande mission scientifique. Aller sur Mars, un rêve que l'Homme possède depuis de très nombreuses années. 

C'est dans l'année 2082 que ce rêve se réalise. Une équipe de chercheurs se pose sur la planète rouge et là commence l'ordre de mission : terraformer Mars. C'est à dire rendre la planète habitable.

Hélas, au bout de quelques mois, plus aucun contact avec la planète mère. Au bout de quelques mois une capsule de secours se crashe sur Mars et une expédition est envoyée pour aller la rechercher. Le survivant de cette capsule est dans un état critique et annonce une très mauvaise nouvelle : la Terre à été percutée par une météorite. Elle est détruite.


La race humaine est anéantie. Désormais, Mission M82 est le nom de la plus grande mission de sauvegarde de l'espèce humaine.

Mais il faut trouver de l'eau et de quoi survivre dans cet environnement hostile, et vite.

Avez vos coéquipiers, vous n'avez qu'un seul but : survivre le plus longtemps possible afin de pérenniser la race humaine.




Nous trouvons que pour beaucoup de jeux par navigateur, le joueur évolue uniquement tout seul, de son côté, et au final, pour un jeu sur internet, il y a assez peu d'interactions entre les joueurs. C'est pour cela que nous avons voulu innover : sur Mission M82, vous évoluez ensemble !

Enfin c'est également dans cette partie que vous pourrez commencer à élaborer certains aspects de votre jeu, comme par exemple une liste précise d'objets, de bâtiments etc. C'est un véritable gain de temps pour l'étape suivante. Là encore, tout est une question d'organisation (hélas, car je ne suis pas très bon dans ce domaine...) : créez des fichiers qui contiennent chacun les points clés détaillés de votre jeu, afin de pouvoir vous y référer plus tard. Éventuellement, une petite todo-list, sur un post-it collé sur le mur, afin de savoir par où commencer ;)

            C) Développement

Cette étape est longue et ardue. Il ne faut pas abandonner à cause de la charge de travail : on aura l'impression d'en avoir toujours plus à faire et de ne pas s'en sortir. C'est une impression que j'ai eu de nombreuses fois. Mais je vais vous donner la clé pour s'en sortir : l'organisation.

Préparez vous, quitte à prendre un ou deux jours sur le développement, à tout ordonner et faire une liste de ce qui est à faire, dans l'ordre des priorités. Respectez une certaine logique : ne prévoyez pas de faire un module si vous avez prévu de faire un module qui influe fortement sur le premier après.

Au début je n'étais pas organisé et je codais un peu au fur et à mesure. Erreur... J'ai du recommencer par deux fois une partie du code car j'avais oublié d'inclure une partie importante du jeu avant, ou parce que je n'avais pas assez réfléchi au gameplay... Donc, organisez vous, c'est crucial ! Vous perdrez peut-être une journée, mais au final vous gagnerez beaucoup de temps, croyez-moi !

Développez régulièrement : une autre de mes erreurs fut de coder beaucoup en un week-end et de ne plus toucher au code de la semaine. Et là encore, ça m'est arrivé plusieurs fois avant que je ne le comprenne...

Même débordé j'aurais dû travailler sur le code, quitte à faire uniquement une petite demie heure. Là, l'objectif est de ne pas se « perdre ». Cette étape étant un gros chantier, on ne sait pas où donner de la tête (d'autant plus que je suis seul à coder).



Si vous vous permettez de ne pas regarder le code pendant une semaine, voire plus, vous allez perdre vos repères, et se remettre dans le bain est très difficile. Éventuellement, associez cette idée à l'idée d'organisation : prévoyez de courtes tâches pour les jours où vous êtes très chargés, et les tâches les plus complexes quand vous avez beaucoup de temps libre.

Quand vous en avez marre ou que vous êtes fatigués, ne poussez pas plus, et allez faire autre chose : coder dans de mauvaises conditions n'est guère mieux et la qualité du code s'en ressentira (et c'est également là que vous ferez des erreurs qui en temps normal vous paraîtraient grossières).

Codez proprement. Ça, vous le savez sûrement déjà, et on ne le répétera jamais assez. Vous allez devoir manier du code dans tous les sens, alors quand celui ci est bien écrit, indenté et aéré, c'est beaucoup plus agréable pour vous, mais également pour les autres.

 En effet, qui dit que vous n'allez pas demander de l'aide à un ami, qui devra comprendre le code ? C'est là aussi qu'interviennent les commentaires. Ceux-ci sont indispensable : ils doivent vous permettre de comprendre facilement, en complément du code, le-dit code.

Pour le concours Innov'Game, c'est également un critère de notation, et ça oblige à être clair. Cependant, le danger est aussi de se noyer dans les commentaires. Ils doivent donc être succincts, assez présents pour permettre une bonne compréhension, mais pas en trop grande quantité, au risque de se perdre.


Pensez (un peu) à l'optimisation. Je ne dis pas là de prévoir comment le jeu va évoluer, mais le code oui !

  • Quelles technologies utilisez-vous ? 
  • Aurez-vous besoin d'une ou plusieurs autres technologies par la suite ? 
Pour ma part, je sais que certaines pages sont très longues. J'ai donc décidé, après avoir fini en grande partie la page, de la découper en plusieurs scripts. Par exemple, j'avais dans une page uniquement une condition, avec cinq issues possibles, dont chaque issue demandait un traitement important : j'ai donc découlé le code  en cinq parties distinctes, que j'ai inclus par la suite. C'est quand même - à mon avis - bien plus clair ainsi.

Également, certaines de mes pages demandent plusieurs requêtes, j'ai du penser à comment les agencer, mais surtout à réduire leur nombre pour rendre la page la moins lourde possible. J'avais entendu parler de procédés pour rendre la page encore plus légère, mais je ne l'ai pas fait car je n'avais pas les connaissances pour le faire et cela m'aurait pris du temps.
Comme le dit cet article mieux vaut faire quelque chose de bien et fonctionnel avant d'optimiser réellement le code.

Dans ce concours, le temps m'est donné : il faut que je fasse simple, mais fonctionnel.

Pensez aux détails, mais pas trop ! Dans un jeu par navigateur, il y a beaucoup d'interactions entre les modules : on se retrouve vite débordé par les petites choses qui changent ici et là. Laissez tomber des détails qui ne changent pas trop le jeu, mais attardez vous plutôt sur ceux qui permettent d'améliorer l'expérience de jeu du joueur.

            D) Publication

La publication est également une étape importante dans la vie d'un jeu, de quelque type qu'il soit : va-t-il répondre aux attentes prévues ? Aura-t-il du succès ?
Autant de questions qui peuvent stresser les créateurs.

Pour ma part, le jeu ouvre le 2 mai. C'est à cette date donc qu'il y aura les premiers joueurs, et les premiers retours.

Le problème le plus important qui se pose à nous est l'équilibre du jeu. 

Comme nous n'avons pas testé le jeu en lui même (mais les modules séparément), nous ne savons pas si le jeu est bien équilibré. Les missions sont-elles trop dures ? Les bâtiments trop simples à construire ? Ou l'inverse ? Hélas, on ne peut pas du tout prévoir tout ceci avec précision...

C'est pour cela que la première partie s'apparente plus à un test, pour les joueurs, mais aussi pour les créateurs !





Après, nous essayons de faire connaître le jeu, sur des blogs (j'en profite pour remercier fortement une fois de plus DA qui a accepté ces articles sur le blog), annuaires de jeux etc...

Mais sachez une chose : les meilleurs joueurs viennent du bouche à oreille, c'est pour cela qu'il est très important de parler du jeu autour de vous !

Durant le début de la publication, il faut que vous soyez prêt à intervenir en cas d'urgence sur votre jeu : bug critique découvert par un joueur etc, mais aussi pour surveiller le bon fonctionnement de celui-ci.

            E) Et après ?


Actuellement, nous en sommes à l'étape de publication.

Quoi qu'il en soit des résultats, nous continuerons notre projet : ce serait bête de ne pas continuer un projet déjà abouti. Nous avons déjà prévu certaines améliorations dans le jeu, des optimisations pour le code, etc. car il faut le savoir : un site internet - et plus particulièrement un jeu par navigateur - demande un entretien permanent !

Je vous remercie de m'avoir lu ! J'espère que cet article vous a plu et qu'il vous permettra de mieux appréhender la création d'un jeu.

Si vous avez des questions, n'hésitez pas !

Notre jeu Mission M82 est disponible à cette adresse :
http://38.innovgame.efrei.fr




Note de DA : si vous avez correctement lu cet article vous aurez noté que leur jeu sera ouvert et jouable autour du 2 Mai ;-)



Aucun commentaire:

Commenter l'article !