Premium
[Press Space to continue]

[Press Space to continue]

Par hairaz Blog créé le 07/12/10 Mis à jour le 31/07/12 à 18h21

Dev' blog d'un petit jeu pour le concours Innov'game : Space (à la gloire de la barre espace, et du jeu vidéo par la même occasion).

Ajouter aux favoris
Signaler

C'est parti ! Voilà donc la fameuse nouvelle catégorie hebdomadaire du blog : l'interview de l'un des participants au concours Innov'game de cette année. Je préfère les réaliser par oral pour conserver de la spontanéité, donc ça me fait vraiment beaucoup de boulot, mais ça donne au final une interview très sincère et assez intéressante même si un peu longue. Vous n'êtes pas obligé de tout lire d'une seule traite ;)

 

Pour cette première édition, je reçois les deux membres de l'équipe Switch Code, YoruNoHikage et BrinDeSable, créateurs de 8-Bit Robot Music Party et fondateurs de Jeuxamateurs.fr . Deux jeunots de Première qui sont donc déjà bien impliqués et expérimentés dans le vaste monde du jeu vidéo.

Présentez-vous chacun votre tour.

Yoru : Je suis le confondateur, avec BrinDeSable, de l'équipe Switch Code. Ca va faire 2-3 ans maintenant qu'on a commencé par un petit site Web, où l'on faisait un peu de xHTML (NdHairaz : Langage qui sert à décrire la mise en page des pages web) et de C (NdH : langage de programmation le plus répandu, qui sert donc à créer n'importe quel type de programme, dont des jeux), on n'avait pas vraiment de gros projets à l'époque. On s'est lancé il y a pas longtemps dans JeuxAmateurs, et puis on s'est dit « Pourquoi on participerait pas au concours Innov'Game cette année ? ». Sinon, on est dans le même lycée, en première S.

BrinDeSable : En fait, c'est surtout l'an dernier qu'on s'était pas mal intéressé à la précédente édition du concours, et il y avait des trucs vraiment pas mal comme Bob & Jack, Rising Inferno. Donc on s'est dit l'année d'après : pourquoi pas essayer ? On pensait avoir assez de notions. Quand on s'est lancé, on n'avait aucune notion en SFML , donc on a appris un peu sur le tas (NdH : La SFML est une librairie, un outil qui permet de créer plus facilement certains types de programme, ici en fenêtres avec des images, donc principalement des jeux). Ca nous permettait de nous démarquer un peu de la console (NdH : il parle de la fenêtre avec du texte en blanc sur fond noir, pas de consoles de jeu).

Yoru : C'est un moteur graphique à partir d'un mod OpenGL, un peu amélioré par rapport à la SDL, et je l'ai trouvé surtout un peu plus simple grâce à l'orientation objet, et c'est pour ça qu'on l'a choisi. (NdH : C et C++ sont deux langages très proches, mais le C++ permet de travailler avec « l'orientation objet », une méthode de travail et d'organisation très pratique, et c'est pour ça qu'il préfère la SFML à la SDL, la première étant en C++, la seconde en C).


Vous êtes plutôt impliqués dans le milieu du jeu vidéo (un site internet, une équipe de développement). Comment êtes-vous tombés dedans ?

Yoru : C'est moi qui ai commencé, entre la 4ème et la 3ème. Je touchais déjà un peu au milieu graphique et je me suis dit que j'allais apprendre un langage. J'ai commencé avec le xHTML, je me disais que ce serait pas trop compliqué et qu'on verrait ce que ça donne. Je ne m'y connaissais pas du tout, j'étais pas encore vraiment dans le milieu. Je m'y suis mis, j'ai trouvé ça assez sympa. Pendant mon année de 3ème, je me suis dit que j'allais me lancer dans un langage de programation. J'ai hésité entre le C, le Java (autre langage de programmation) et le PHP (qui permet des interactions avec l'utilisateur sur une page web), par rapport à ma connaissance du xHTML, et donc j'ai tout essayé. Il se trouve qu'Eclipse (logiciel pour coder en Java) marchait pas, donc je me suis lancé dans le PHP, sauf que WAMP (logiciel pour le PHP, décidément) marchait pas non plus, donc je me suis finalement lancé dans le C. Bon, ça a fonctionné, j'ai eu quelques difficultés mais c'est à ce moment-là que BrinDeSable m'a rejoint, donc BrinDeSable, tu peux peut-être continuer.

BrinDeSable : Il faut savoir que jusqu'en 4ème, j'avais pas d'ordinateur et peu accès à internet. J'étais un noob - Je le suis d'ailleurs toujours un peu (rires)-. Yoru m'a montré ce qu'il faisait, je trouvais ça compliqué, j'avais du mal avec Photoshop, etc. Mais quand on a eu l'ordinateur familial, j'ai pu m'essayer au C, et c'est là que j'ai accroché : maîtriser l'ordinateur, les variables, voire créer un jeu vidéo, ce qui me paraissait quasiment impossible pour moi, petit utilisateur, c'est ce qui m'a plu. C'est à deux qu'on a continué le C, et qu'on a fait quelques petites choses qui nous paraissaient sympa ... à notre niveau. J'ai appris le xHTML, c'est là qu'on a pu créer le premier site, Switch Code, et qu'on a pu arriver jusqu'à JeuxAmateurs, et puis on s'est lancé pour tester des jeux, et finalement en créer un nous-même.

Des projets ? (Oui, je cache ma question super-mal tournée à l'origine)

BrinDeSable : A long terme, l'idéal serait de terminer le jeu, offrir une version 1, non buggée, vers la fin d'Innov'Game, indépendamment du fait que ça se passe bien ou pas au niveau de la fin du concours. Et puis continuer à développer, comme ça, des petits jeux, des trucs qui nous feraient plaisir à nous et à notre entourage.

Et au niveau des études ?

Yoru : On se dirige plus vers une école d'ingénieurs en informatique, sur Rennes, pas loin de chez nous, mais de toute façon on a encore le temps.

Bon bah, on va commencer à parler du jeu ! Alors, 8RMP (Vous croyiez quand même pas que j'allais le recopier, hein ?), à la gloire de quoi ?

BrinDeSable : C'est assez compliqué. En fait, c'est à la gloire de la coopération. Ce qu'on voulait, nous, c'est un jeu qui essaye de se démarquer du lot. Au départ, je voulais un jeu multijoueur, assez fun, alors on s'est dit : pourquoi ne pas mixer deux jeux différents ? On est donc tombés d'accord sur un jeu de rythme et un jeu de plate-formes, que l'on pourrait mélanger, subtile cocktail sur lequel la rondelle de citron serait l'histoire (Oui, j'ai un peu reformulé, là). Notre but, c'était que les deux personnes qui jouaient soient vraiment en coopération (merci Yoru d'avoir soufflé), qu'ils s'entraident, que quand les deux gagnent ou perdent ensemble, qu'il y ait vraiment quelque chose autour. C'est pour ça que c'est à la gloire de la coopération.

Yoru : On ne voulait vraiment aucune compétition entre les deux, entière coopération pour que l'un n'ait pas envie de pénaliser l'autre.

Plus précisément, décris-nous le principe du jeu.

Yoru : On est parti comme sur un Guitar Hero ou un Rock Band pour le côté jeu musical. On a demandé l'accord à Spintronic, compositeurs de musiques chiptune, d'utiliser leurs morceaux pour le jeu, et on a décidé de se lancer là-dessus. Au niveau de la plate-forme, on l'a voulue façon Mario : on a pris un personnage très restreint au niveau des actions qu'il peut faire. Il y a aussi un côté maléfique qu'on a pas pu développer pour le concours mais qui crée vraiment une coopération entre les deux. Le but du jeu est de réussir le niveau avant la fin de la musique, mais pour ne pas frustrer le joueur à la musique, on a un niveau bonus à la fin qui permet de récupérer quelques boulons et de finir tranquillement la musique.

On va passer au développement du jeu. Vous pouvez nous parler, chacun votre tour, du rôle que vous avez eu dans le projet ?

Yoru : On s'est séparé la tâche en deux. BrinDeSable s'est occupé de la partie rythme, moi de la partie plate-forme. Je m'occupais aussi de la partie graphique, donc c'était assez simple, on avait deux parties distinctes, avec chacun son moteur, et on pouvait bosser chacun de notre côté sans problèmes de versions, etc. C'est seulement à la fin du round 2 qu'on a décidé de mixer les deux parties.

Vous avez déjà fait un morpion avant, si je dis pas de conneries.

BrinDeSable : Ouais, je l'ai commencé, je l'ai jamais publié, mais il est là, il est là.

Yoru : Moi c'est pareil, j'avais commencé un Pierre / Feuille / Ciseaux. On faisait un peu de teasing. (La preuve en images ... accablantes)


Trailer de lancement - Le Morpion par Brindesable

Bref, niveau prog, c'était passer à un niveau supérieur que de se lancer sur un projet comme celui-là, voire un défi ?

BrinDeSable : Oui, c'était vraiment autre chose, parce que bon, le morpion, là ... Tandis que là, c'était vraiment un projet assez long : on a programmé pendant 3 mois (NdH : pour un résultat de 3500 lignes de code à peu près). Ca ne me faisait pas peur, parce que si j'avais pu faire un morpion, à part la « tactique de programmation » à faire au brouillon avant et qui serait forcément plus compliqué, il n'y a pas tant de nouveautés que ça à maîtriser côté technique.

Yoru : Je pense vraiment que j'aurais eu beaucoup plus de mal sans l'orientation objet. Je me suis amélioré, grâce au concours, c'est sûr, donc j'ai pas le même regard qu'avant, mais l'orientation et la facilité de la SFML m'a apporté pas mal de choses, ça a permis une meilleure coordination

BrinDeSable : Nous on est parti en se disant « Y a pas de raison qu'on réussisse pas, donc si on se rate, bah tant pis. »

Cette fois-ci, vous avez du vous frotter de plus près à la conception de niveaux. Qu'est-ce que vous en retiendrez ?

BrinDeSable : LONG. M'étant occupé du jeu de rythme jusqu'au bout, je me suis occupé des partitions, et donc au départ, ce que je faisais, c'était un peu barbare : on est dans un jeu de musique, il fallait pas que ça fasse n'importe quoi, bonnes notes, bon timing, bonnes intonations, etc. Dans un premier temps, mon système c'était de passer ma musique sous Audacity, et au moment où j'avais une note, je faisais un bruit dans mon micro, et je voyais sur le spectrogramme le moment où il fallait que je mette mes notes. Ensuite, fallait repasser dans un fichier texte pour tout recopier, note par note, donc c'était vraiment très, très long. Sachant qu'il y a à peu près 1500 notes par chanson ... Le dernier jour, il me restait 6 chansons à faire, et je savais que j'y arriverais pas. Du coup, j'ai fait un petit programme qui passait la musique, et à chaque fois que j'appuyais sur une touche, il enregistrait sur le fichier et mettait une valeur aléatoire pour la note. Ca casse un peu le mythe (Tu l'as dit, bouffi !) mais on a pu faire un truc à peu près potable. Mais je les referais sûrement après coup.

Yoru : Moi, au niveau de la plate-forme, c'est des fichiers texte contenant une suite de numéros, chacun attribué à un bloc. J'avais pas de générateur de niveau, j'ai essayé d'en faire un aléatoire à partir d'un programme Java sur le net, j'ai pas eu le temps, et je n'avais pas de générateur graphique (pas le temps encore une fois), donc je suis parti sur le tableur OpenOffice. En réduisant les colonnes et en jouant sur les bordures, j'ai réussi à faire la trame du niveau (donc le reproduire), et puis mettre les numéros dans chaque case du tableur. Ca a pas été facile parce que c'était la dernière semaine qu'on s'est vraiment concentré sur le contenu, ça a pris pas mal de temps, et ça c'est un peu terminé en bricolage.

Précision : Les sprites utilisées ici ont été changées entre-temps, ceci n'est pas représentatif de la version finale

Comme ça a commencé, en fait (rires). Oh, rassurez-vous, de tous les côtés c'était ça ...

BrinDeSable : Oh, au départ, on a des grands projets, on se dit qu'on aura le temps, et plus le temps passe, plus on se dit qu'on aura pas le temps, et on finit par faire des trucs à l'arrache ... (acquiescement coupable de votre serviteur)

Vous avez du faire des sacrifices pour avoir le temps, les moyens de développer ?

BrinDeSable : Hmm ... Sommeil et devoir

Yoru : Y a pas que ça, on a dû aussi sacrifier des notions du jeu qu'on avait prévues dans le dossier et qu'on n'a pas pu rendre, mais tout ça ce sera après le concours, et on rendra le jeu moins hardcore parce que là c'est quand même assez difficile ...

Je me suis bien fait enc ... avoir parce que vous m'avez déjà dit pourquoi vous participiez au concours. Ca vous a aidé, motivé au cours du développement ?

BrinDeSable : Bien sûr, ça nous force à rendre un truc dans les temps, parce que l'on sait qu'un projet comme ça, ça a souvent beaucoup de mal à aboutir : très souvent, on se lance des projets, ça prend trop de temps et on abandonne, tandis que là, ça nous force à faire un truc réaliste, et c'est pas rien comme concours ! C'est une grande école de Paris (Campagnard !) , c'est ça qui est extra. Ca nous a poussé à faire un truc, même moyen, mais à le terminer.

Ce truc multi-colore et kitsch que fûr leur dossier ... déjà plus sérieux que le mien, vous me direz

2-3 conseils pour ceux qui voudraient se lancer dans un tel projet ?

Yoru : Faut se lancer, y a rien à perde. Même d'avoir fait le dossier, y avoir réfléchi, ça nous permet de nous rendre compte ce que c'est, créer un jeu, etc.

Le jeu vidéo, une passion pour la vie ? (Et là, Epic Fail, je m'attendais à un grand oui qui me permettrait au moment où j'écris ces lignes d'enfin aller me coucher, mais non : )

Yoru : Oui, c'est vrai, mais j'ai tendance à pas trop jouer. J'ai joué, j'aime bien jouer, mais quand il s'agit d'y passer des heures, j'ai pas le temps, trop de choses à faire. Mais ça m'arrive. Là, je me suis remis à Zelda OOT, je me dis que c'est culte, donc j'y joue. Je me fais aussi une culture en lisant des articles sur internet (Lis IG Mag et Icare Mag !), en regardant des vidéos, mais je joue pas énormément.

BrinDeSable : J'aime bien jouer, comme ça, quand j'ai un peu de temps libre. Là, récemment, j'ai bien aimé Minecraft (C'est le mal !), je viens de commander l'Orange Box avec Portal (C'est le bien !) à l'occasion de la sortie de Portal 2,mais c'est vraiment comme ça, quand j'ai le temps, avec Innov'game, la première, ...

Yoru : Faut aussi savoir que j'ai pas un PC super-génial, vu que même 8RMP rame sur mon ordi.

BrinDeSable : On a l'habitude de dire qu'il a un bullet-time permanent.

Et bien, c'est sur cette jolie expression qu'on se quitte. A bientôt et merci à vous deux !

Yoru : Et allez sur JeuxAmateurs.fr !

Je vous laisse au passage la version audio de l'interview, d'assez mauvaise qualité, incompréhensible pour les néophytes en programmation, et en plus, je n'aime pas ma voix (et j'ai l'impression de ne rien en avoir à foutre quand je m'entends, alors que c'était vraiment intéressant, encore plus que je ne le pensais, je lève la main droite et je le jure) :

 

Et le lien de téléchargement

Et, pour finir, un petit message franc : cette rubrique demande énormément de temps et de travail, entre organiser l'interview, recopier et relire, donc si elle vous intéresse, dites-le moi et faites-là tourner ! Sans quoi je pourrai rapidement abandonner l'idée, bien malgré moi. Et si vous voulez, passez faire un tour sur JeuxAmateurs ou attendez minuit pour que les jeux soient mis en ligne sur cette page.

Ajouter à mes favoris Commenter (1)

Commentaires

jambon1erprix
Signaler
jambon1erprix
Super ta rubrique ! Je fais partager sur mon facebook :)
C'est là qu'on voit que faire un jeu vidéo demande du temps !
Et puis expliquer la programmation orientée objet c'est pas facile un ?

Édito

Bon ! Il est temps de lancer ce blog.

Space, c'est l'histoire d'un mec. Un mec que vous contrôlez à la barre espace.

Ce blog, c'est l'histoire d'un jeu. Un jeu avec un concept tellement bizarre qu'il faut bien que je m'explique un peu.

Et je suis sur Twitter : @hairazTweet

Archives

Favoris