29 January 2010

La Global Game Jam en direct d'Angoulême !

Ça y est nous y sommes ! En fin d'après midi (heure française) débutera l'édition 2010 de la Global Game Jam.

Vous pouvez dès à présent suivre les préparatifs, puis l'intégralité de l'événement grâce à la webcam située à l'ENJMIN: http://www.ustream.tv/channel/ggj-angouleme

Plus d'informations seront disponibles sur mon Twitter sur lequel je posterai en temps réel l'avancé du développement.

On fait chauffer le café, on fait une dernière sieste et c'est parti pour 48h de développement :)

22 January 2010

Interview Swing Swing Submarine - Tuper Tario Tros.

Quel long titre ! Au moins cette interview (première de Shifty Blog !) ne passera pas inaperçue :)

Tuper Tario Tros. est un jeu réalisé par le jeune studio indépendant Swing Swing Submarine. À l'origine de ce "sous marin", deux anciens de chez Ubisoft, Guillaume Martin et William David.  William s'est fait remarquer à son départ du géant français par un petit jeu flash, ou plutôt une petite expérience interactive : Leaving.

En plein développement de leur premier projet : Seasons, ils nous offrent ce Deep Water Expriment #1. Cette appellation rappelle fortement les Arkedo Series disponibles sur le Xbox Live Indies Game mais avec un aspect "experimental gameplay" en plus.

Ce premier titre sans prétention met en scène Mario qui se ballade comme à son habitude au royaume champignon. Sauf que pour la première fois le joueur se retrouvera face à un mur infranchissable ! Dès lors, un Lakitu apparait et indique d'appuyer sur la touche "space" du clavier pour passer en mode Tetris. Cela bascule l'action dans un mode éponyme avec le gameplay tel que nous le connaissons tous. Grâce aux blocs Tetramino qui apparaissent du haut de l'écran, il faut créer un passage au plombier italien. Tout cela en tenant compte du scrolling continu !  Deux jouabilités subtilement mélangées et suffisamment bien amenées pour que la magie opère.

William et Guillaume ont accepté de répondre à quelques questions afin de nous en apprendre un petit peu plus sur le développement de TTT.



Shiftyweb: Salut William, salut Guillaume, merci d'avoir accepté cette petite interview. Tout d'abord, comment vous est venue l'idée de mélanger les gameplay de Mario et Tetris ?

Guillaume: Au départ ça vient de nos sessions de jeux du temps de midi. On a testé Lucidity. On était assez curieux de voir ce que cela pouvait donner. On s'était imaginé des trucs avant de pouvoir y jouer. William m'avait également auparavant montré un projet Enjmin - "Cloudscape" relatif au concept de puzzle/plateformer faisant intervenir des "briques".

Avant de jouer, je pensais que j'allais contrôler le personnage (à la Cloudscape) et aussi faire rotater des pièces qui allaient pouvoir faire agir le personnage (genre une brique "aller dans une direction" que j'aurais pu orienter telle un Tetromino pour faire en sorte que le personnage fasse un peu ce que je veux). Aussi je fus un chouilla déçu quand je vis que Lucidity apportait certes une composante puzzle, mais qui était bien trop "contournable" dans le sens où il suffit de poser les pièces sans trop réfléchir pour s'en sortir.

C'est après cette petite déception que j'ai commencé à programmer un Tetris en Flash, juste parce que je suis programmeur et que j'avais jamais programmé de Tetris de mon existence (oui la honte, je sais). Et par la même apprendre à manier Flixel, un framework sympathique autour de Flex. J'ai alors fait un premier Tetris classique: une zone de 10 blocs de large. Pour étendre la zone de jeu à plus de 10 blocs de large sans faire un Tetris HD, j'ai simplement juxtaposé plusieurs zones Tetris de 10 blocs de larges.

Une fois que la partie puzzle marchait bien niveau code, je me suis tourné vers William pour qu'on trouve comment y intégrer la partie plateforme. Ma vision de l'interaction entre Tetris et la plateforme, c'était que le joueur se retrouve bloqué par des montagnes de blocs qu'il devrait réduire à l'aide de Tetris. Mais aussi que le joueur ait à franchir des précipices assez longs (plus de 10 blocs) pour l'obliger à assembler les pièces de manières à former des "escaliers", tout en prenant garde à ne pas faire de ligne sous peine de voir le personnage chuter.

Avec ces infos, William en est vite venu à la conclusion qu'on pourrait utiliser les mécaniques d'un plateformer assez connu : Super Mario Bros. C'était un peu la révélation pour moi, on allait pouvoir interagir dans les 2 sens : on fait du Tetris dans le monde de Mario, et Mario pourra casser des blocs Tetris !

En sus, pour être honnête, Mario et Tetris parlent à tout le monde, et rien que le fait de tenter de mélanger ces deux mondes rendrait cette expérimentation attractive. Sans compter sur le fait que nous n'aurions pas d'assets à créer mais simplement à reproduire, ce qui n'est pas négligeable étant donné que nous ne voulions pas empiéter sur les heures de travail. Le projet Tuper Tario Tros. devant rester un à-côté.


Le choix de Mario et Tetris est donc une finalité dans le sens où il ne s'agit pas de l'idée de base du jeu. Vivement que tu programmes un Pac Man alors ! Guillaume, tu dis toi même "Mario et Tetris parlent à tout le monde...", ainsi vous n'avez pas eu peur de la critique après avoir touché à ces monstres du patrimoine vidéo ludique ?

William: Je crois qu'à aucun moment du développement il ne nous est venu à l'esprit que nous nous attaquions à deux intouchables du Jeu Vidéo, auxquels tout joueur sur Terre a sûrement déjà joué des centaines de fois. Ce n'est qu'une fois le jeu fini et mis en ligne que je me suis dis "quand même, on a été un peu inconscients sur ce coup-là". Ca aurait pu se terminer en pendaison en place publique, mais vu qu'on est encore vivants pour répondre à tes questions, et que la grande majorité des retours qu'on a reçu de la part des joueurs ont été positifs, j'ai envie de croire que l'inconscience nous a plus aider qu'autre chose. Elle nous a permis de prendre des risques, et d'aller là où personne ne s'était jusque là aventuré (enfin, à ma connaissance).

En parlant de retours, dans les différents articles que l'on peut trouver sur la toile, un élément est récurent : le titre ! Il semble être impossible à apprécier. Vous y attendiez-vous ? Pourquoi l'avoir choisi ?

W. Ah, le titre : quelle belle histoire. Je vais laisser Guillaume la raconter. Personnellement, j'aurai été tenté de lui trouver un titre moins idiot. Mais son caractère unique en fait finalement le meilleur des titres. Et puis dans la famille Swing Swing Submarine, les titres à trois mots et trois initiales identiques, ça nous connait.

G. Moi je l'aime bien le titre :) C'est vrai que c'est sûrement de ma faute si on l'a finalement appelé comme ça. Mais en même temps je pense qu'il interpelle et c'est là le principal. On comprend directement l'implication de Super Mario Bros., et le fait qu'il y ait  des T en tête de chaque mot fera comprendre plus tard que c'est la contribution de la composante Tetris.

Cette idée est venue d'une discussion MSN (Gun si tu lis ça...). En expliquant le concept du mélange à mon contact, il m'a rétorqué "hehe, ça s'appelera Tuper Tario". Et au moment où il dit ça, nous ne savions pas trop comment l'appeler. Dans mon code trainait un "Platris" pour la concaténation entre "Platform" et "Tetris", parce qu'au tout début seul Tetris était là. On l'a donc appelé comme ça entre nous. Une fois Mario incorporé à l'histoire, "Matris" a été lancé... Alors que choisir ? Je pense que Tuper Tario Tros., était le plus accrocheur, le plus débile surement. Ça correspondait assez au côté décalé qu'on voulait donner à l'expérience.

Et comme le dit William, ça fait 3 fois que des acronymes à lettres identiques sont pondus par nos soins, faut croire que c'est une sorte de rituel (un peu comme High Frequency Bandwidth dont tous les titres ont un acronyme en HFB). Du coup va falloir qu'on fasse quelque chose pour Seasons :)


Indies Games, Kotaku, GameBlog, Libération puis pleins de blogs amateurs et finalement le Wall Street Journal. Alors ça fait quoi ?

G. Ça fait plaisir. Plaisir de voir que des "web-papiers" comme Libération et Wall Street Journal parlent de jeux vidéo. Certes, Tuper Tario Tros. n'est pas le jeu de nos rêves, c'est juste une manière pour nous de voir un peu comment le média Internet fonctionne et réagit (ça fait parti de "l'experiment" aussi). Personnellement j'y connais pas grand chose en communication, William lui est plus à l'aise avec ça. Pour moi c'était l'occasion de voir comment on fait parler de quelque chose que l'on a conçu, de commencer à me familiariser avec les réactions que l'on a rencontré (demande de sponsorship, que l'on a refusé pour ce premier DWE parce que Mario et Tetris ne sont pas nos créations, feedback de bug, des gens contents et d'autres haïssant le concept ou la réalisation).

W. Pour arriver à ce résultat, pas besoin d'avoir fait une école de commerce : un peu de débrouillardise et d'honnêteté, c'est bien suffisant. D'ailleurs la seule chose que j'ai faite, c'est envoyer 3 mails à 3 sites différents. Deux sites nous ont répondu, et le troisième nous a ajouté sur twitter pour ne pas nous perdre de vue. 3 mails, pas plus, qui ont suffit à allumer la mèche.

Quel est l'objectif des Deep Water Experiment ?

G. Les DWE ont plusieurs objectifs :
  1. Tester des éléments que l'on pourrait intégrer au projet principal. Si on ne sait pas si une mécanique de gameplay fonctionne bien, on peut éventuellement faire une expérimentation autour et voir ce que les joueurs en pensent. Ca revient à des sortes de playtests.

  2. Nous évader un peu le cerveau du projet principal Seasons même si TTT n'a pas été conçu pendant les heures de bureau mais plutôt sur les temps de midi et les soirs/week-end.

  3. Peut-être dans le futur faire de ces DWE une source minime de revenu, histoire de manger (via sponsorship, dons).

  4. Utiliser des frameworks ou autres outils pour faire du rapid game development. En l'occurrence ici Flixel. Mais on aimerait bien tester Unity aussi (et autres technologies web based).

  5. Faire connaître le site et le nom de Swing Swing Submarine (c'est un nom facile à retenir non ? :D) et par la même étendre notre réseau.

Peux-tu nous en dire un peu plus sur Flixel ?
G. Flixel est un framwork ActionScript3 créé par Adam "Atomic", le mec qui nous a gratifié de Canabalt. Perso c'est par Canabalt que j'ai eu connaissance de Flixel.

Les avantages de Flixel:

  • Pas besoin de licence Adobe car on n’utilise pas Flash CS. Flixel se base sur Flex pour construire ses services (Flex est un projet OpenSource). Du coup on ne fait que du code AS3 (ActionScript3), on n’utilise pas l'IDE (les timelines, la librairie de movies clips, ...). C'est une approche différente, par le code, et par conséquence un programmeur C++ s'y retrouve très vite.

  • On peut utiliser l'éditeur de code de son choix. Pour notre part on a utilisé Flashdevelop qui est beaucoup plus fonctionnel que l'éditeur de code horrible que l'on pourrait trouver dans Flash CS. Flashdevelop se présente un peu comme un Visual Studio.

  • Flixel est open source, on peut donc le modifier ou lui ajouter des features. C'est ce qu'on a fait avec TTT (pour la lecture de nos map fichier texte, des histoires de collisions, pour la gestion des touches et l'intégration de Mochi pour le leaderboard).

  • Flixel gère les inputs, les sauvegardes, les sprites statiques ou animés (png), les collisions, les sons (mp3), les boutons/textes et quelques FX (shake de l'écran, flashes/fondus). On ne fait pas de shape vectoriels avec Flixel (tout du moins pas dans l'implémentation fournie par Adam qui utilise exclusivement de la rastérisation dans un buffer image).

  • Adam a eu la bonne idée de faire en sorte que les étapes du jeu (menus, levels) soient contenues dans une machine à états. Du coup c'est un jeu d'enfant que de rajouter un menu ou un niveau dans son jeu.

Pour TTT, déjà 2 personnes m'ont demandé le code source du jeu. Comme les assets et IP utilisées ne nous appartiennent pas, je leur ai envoyé le code.

Le code de TTT n'est pas des plus exemplaires, mais c'est un code résultant de la contrainte de temps imposée sur le projet (et des nombreux ajouts de features sur le tas). Si ça peut aider quelqu'un à comprendre Flixel, je ne suis pas contre le fait de livrer le code source. J'aime bien la philosophie OpenSource qui nous fait gagner pas mal de temps sur Seasons (où l'on utilise Blender entres autres). Du coup à l'avenir on releasera certainement le code source, peut être pas avec les assets finales mais avec des placeholders (sprites et sons en gros). Mais la release du code source ne se fera peut être pas aussi rapidement que pour TTT.

Donc pour ceux qui se sentent l'âme de lire du code parfois pas très joli ou pour les curieux, vous pouvez m'envoyez un petit mail à guillaume[at]swingswingsubmarine[dot]com :)


Merci pour cette proposition. Et enfin, pouvez-vous nous parler du prochain DWE ou est-ce encore trop tôt ?

W. On a déjà des idées bien sûr, mais c'est en effet trop tôt pour en parler. Dans tous les cas, le nouveau Deep Water Experiment ne devrait pas arriver avant le mois de Février, car on a beaucoup de travail à faire sur Seasons en Janvier.

G. Le prochain ne sera pas un mash-up :) À l'avenir on essaiera autant que possible de concorder la sortie d'un DWE avec le terme d'un évènement genre experimental gameplay.

Merci pour votre temps et pour la sincérité de vos réponses. À bientôt pour parler cette fois de Seasons :) Un mot pour finir ?

G. Pour finir, je voudrais remercier tous les gens qui ont pris le temps de jouer à TTT. À tous ceux qui ont laissé leurs feedbacks sur Newgrounds ou sur le blog. À ceux qui ont relayé l'info sur leur blog et autres réseaux sociaux (indiegames.com/blog et Gameblog.fr en tête). À ceux qui ont voulu nous poser des questions (comme toi Marc, et Jamin du Wall Street Journal online).

« L'énorme » succès de ce mini jeu est du à la présence de Mario et Tetris dans un même jeu, faut pas se leurrer. Aussi on pense que les prochains experiments auront beaucoup moins de succès mais j'espère que des gens nous suivront (que ce soit pour les DWE ou pour Seasons).

On va essayer de faire des jeux avec nos tripes, et j'espère que les joueurs apprécieront.

W. Pas mieux. Merci à tous ceux qui ont joué à Tuper Tario Tros. et nous ont fait part de leurs impressions. On se retrouve très bientôt pour de nouvelles expérimentations :)