Homemade Pixels

Des pixels frais qui sortent du four le blog de MrHelmut.

Archive pour avril 2012

« Articles plus anciens

C’est par un hasard des plus hasardeux que je viens de découvrir un magazine : Icare Mag. Jeune magazine jeux vidéo qui en est à son second numéro et qui mérite un sérieux coup d’oeil.

Sa ligne éditoriale : une saga du jeu vidéo par numéro, analysée et illustrée avec la part belle à la fiction et au processus créatif.

Après un premier numéro spécial God of War / mythologie grecque (toujours dispo en VPC), le second vient de paraître et cible une saga qui m’est chère : Deus Ex.

Le résultat ? Des textes et nouvelles de fiction superbement écrits, une analyse de la saga Deus Ex de par ses thèmes, sa création et son design (avec de vrais bouts de révélations de Warren Spector dedans). Mais aussi une critique de Human Revolution appuyée par l’avis et le droit de réponse des gens d’Eidos Montéal. Une seconde partie est plus consacrée à la création, avec l’intervention de Gary Jamroz de chez DONTNOD. Et le tout est fort bien illustré, maquetté et se permet de s’autocritiquer.

Bref. Si tu aimes Deus Ex ou, plus généralement, si tu aimes consommer les jeux vidéo sous un angle différent, tu DOIS lire ce magazine.

Ca coûte 8,50€ sans aucune pub à l’intérieur et ça se trouve généralement dans les points Relay.

Vous pouvez aussi vous abonner, et notamment via une formule de soutien, car il leur faut des sous à ces p’tits gars pour qu’ils continuent à pondre des perles à lire.

Alors que la plupart des gamers étaient surement sur la beta de Diablo 3 ou préoccupés par les élections Françaises, moi, j’ai codé un jeu seul en 48h pour le Ludum Dare. Le thème de cette 23ième édition était “tiny world”.

Le résultat, c’est Badassium Atom, un twin-stick shooter. Sans plus attendre, une vidéo de gameplay, suivi du making-of façon timelapse. Le tout en HD cette fois, désolé à ceux qui avaient tenté mon streaming live, que j’ai du gardé en basse résolution pour le salut de mon CPU. Et merci à ceux qui m’ont fait coucou ;-).

YouTube Preview Image YouTube Preview Image

Télécharger le jeu, sans installeur (nécessite le runtime XNA 4, à télécharger ici si le jeu ne fonctionne pas chez vous).

Il y a des instructions ingame pour expliquer les contrôles. C’est compatible clavier/souris et pad Xbox360 (avec driver d’origine).

Post mortem

Dans l’ensemble, je ne suis pas complètement satisfait du résultat. Je me sais capable de faire bien mieux d’un point de vue technique dans ce laps de temps et le gameplay n’est pas très original. Le problème étant que j’ai mal commencé, notamment du à la fatigue (le challenge commençait à 3h du mat’ en France). Mais bon, dans le fond, je pense me situer dans le milieu du panier des 1077 jeux créés et j’ai terminé un jeu de A à Z qui n’est pas trop dégueulasse, à peu près sympa à jouer et presque pas bugé (a priori).

Au départ, j’étais parti sur un run & gun, façon Contra, avec une gestion du bullet time. Le background aurait été le système immunitaire, avec un lymphocyte T comme protagoniste, humanisé pour l’occasion. Dans le timelapse on voit au début que je fais mumuse avec un tileset de Mario et de Probotector comme placeholder en attendant des graphismes maison. Mais la fatigue étant, je ne me suis pas senti de force à produire toutes les animations qu’aurait nécessité ce jeu, ni même à m’embêter à designer des niveaux. Après une petite sieste, j’ai remit mon concept à plat pour partir sur le twin-stick shooter moins original (mais qui a hérité de certains aspects comme le bullet time). Ce n’est que dans les 12 dernières heures que je lui ai attribué un autre background, celui des atomes.

D’un point de vu game design, ca ressemble à un Geometry Wars (d’où le manque d’originalité). Un stick pour bouger, un stick pour tirer à 360°, des vagues d’ennemis croissantes en difficulté, des bombes et du bullet time. Les bombes détruisent tous les ennemis à l’écran (mais ne font pas disparaître les projectiles) et le bullet time ralenti les ennemis et leurs tirs pendant 3 secondes. Il y a un système de scoring, avec un multiplicateur qui augmente tous les 20 ennemis détruits sans perdre de vie et qui retombe à 0 le cas échéant.

Ce qui s’est mal passé :

  • L’horaire de départ… 3h du matin. Certains diront que je suis un low, mais ça m’a bien flingué. Réfléchir à 5h en étant complètement naze, ça n’amène à rien de spécial. Dans mon cas, ça a fait foirer mon idée de base. J’étais parti sur un run & gun avec du bullet time et la fatigue a fait que j’ai mis des lustres à pondre un moteur 2D que j’aurais pondu rapidement et proprement en temps normal. Du coup, mon planning fut mis à mal, et après une sieste entamée à 6h, je suis reparti sur un autre concept, un twin-stick shooter (pour ne pas m’embêter avec un éditeur de niveaux et les animations de personnages), en bricolant le moteur déjà codé. Ce qui amène au point suivant.
  • Le code dégueulasse au possible. Mais ça reste cohérent et flexible. Et puis je n’ai pas fait de hack crado et j’ai eu peu de bugs bizarres. Mais bon, le code crade, on va dire que c’est normal pour un rush de 48h.
  • L’ambiance. C’était carrément moins sympa qu’un Global Game Jam, malgré le fait qu’un ami soit venu faire un jeu en solo chez moi. Peut être que deux, ça ne suffit pas pour une bonne ambiance, mais il est clair que faire un LD48 seul doit être carrément chiant. Si c’est à refaire, c’est en format jam, mais plus en solo. Se bouffer un weekend à peu dormir sans trop s’amuser, c’est moyen.

Ce qui s’est bien passé :

  • La gestion du temps sur le week-end. Je m’étais fixé divers milestones, comme finir le prototype dans les premières 24h pour me concentrer sur ce que j’appréhendais le plus, les graphismes. En dehors du couac du début, dont j’ai quand même repris le code, ça c’est bien passé. J’ai rendu mon jeu 6h avant l’échéance, en ayant cumulé 12h de sommeil.
  • Bfxr, PXTone et Autotracker. Il y a des outils supers pour produire des sons et de la musique rapidement. Bfxr est un générateur de sons 8bit qui donne des résultats vraiment sympa une fois en jeu. J’ai découvert PXTone au passage, un tracker tout aussi sympa, mais le temps était trop court pour sérieusement s’y mettre. J’avais bricoler ce morceaux un peu au pif, avant d’utiliser Autotracker pour générer une piste MIDI que j’ai intégré au jeu. Mon seul regret : ne pas avoir réussi à changer la banque de sons MIDI de Windows 7, car la banque par défaut est carrément cheap.
  • Les graphismes. Au final, je m’en suis sorti. Mais ce n’est pas très glorieux. Je me suis contenté des faire des atomes en pixel art, et du faire du color swap à gogo… En somme, je n’ai pas fait grand chose. J’ai fait le background façon fullerène à l’arrache, et j’ai fait un shader de bruit pour l’afficher histoire de cacher la misère. Et ça rend plutôt pas mal au bout du compte.
  • La génération de vagues d’ennemis. J’ai bricolé une génération procédurale pas trop moche qui génère des vagues croissantes en difficulté. Ça m’a évité de les hard-coder et ca permet surtout de balancer rapidement la difficulté générale.

A refaire ? Je ne sais pas… Pas en solo en tout cas, essentiellement à cause de l’ambiance. On s’éclate bien plus dans un Global Game Jam. Le Ludum Dare tout seul chez soi, ou même avec quelques potes qui font un jeu en solo aussi, c’est quand même moins funky. Je trouve bien plus éclatant de faire un jeu à plusieurs, c’est bien plus propice aux anecdotes et vrais souvenirs.

Pendant ce temps…

Comme je l’ai dit, un ami est venu faire un jeu en solo chez moi. Ne demandez pas un chercheur en optimisation de créer un jeu, il risquerait de vous coder un simulateur de colonie de fourmis basé sur un algorithme d’IA bien connu ^^: http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=12025

Si vous n’êtes pas membres wefrag, vos commentaires peuvent être recueillis par mail :

contact

Ca y est, je suis décidé, je fais le Ludum Dare comme annoncé.

ludum_logo_danik_2_medium-613x346

Pour l’occasion, j’ai un ami qui m’a rejoint et qui fait aussi un jeu en solo. Après avoir fait le plein de victuailles pour survivre durant le weekend, nous voilà fin prêts.

Vous pourrez suivre mon écran via un streaming sur twitch TV pour me voir programmer un jeu hideux. Le coup d’envoi étant à 3h cette nuit, le stream n’affichera que mon fond d’écran d’ici là et j’essaierai de ne pas toucher à mon PC avant le top départ.

Sinon, il y a aussi mon compte twitter @mrhelmut.

J’essaierai aussi d’éditer ce billet au fur et à mesure.

Banzai ^^.

Mise à jour :

1h30 - On est à 1h30 du début, et on est déjà claqués \o/ le café coule déjà.

3h00 - Et le thème est… “Tiny World” gogogogogo. Brainstorming.

3h15 - Je tiens mon idée : Agent T, un run & gun où l’on joue un lymphocyte T qui castagne.

5h50 - La fatigue l’emporte, j’ai un gros doute sur le run & gun. La nuit porte conseil, mais je crois que je vais passer à un twin stick shooter.

9h10 - Petit dèj’, café, café, café… Je vais rester sur un truc simple et partir sur le twin stick shooter.

16h00 - Plus du quart de l’épreuve passé. Je ne suis pas très satisfait de ce que je fais, mais j’espère terminer le coding ce soir et me consacrer au graphisme et fignolage les dernières 24h.

10h30 - J’ai fait un bon gros dodo à partir de minuit. Mon proto est fini, il ne reste plus qu’à faire le plus chiant pour moi, les graphismes…

16h - Ca commence a peu près à ressembler à quelque chose…

17h50 - J’y suis presque… Il faut que j’ajuste la génération aléatoire des vagues d’ennemis, balance les armes, crée plus de sprites et que je fasse un écran tutoriel.

20h20 - Aller, plus qu’un écran tutoriel et un bug et j’ai terminé \o/

22h - Done ! (le temps de faire un post, et je vous balance le résultat)