En 2004, après 5 ans de développement en solo, si on en croit la légende, Pixel offrait au Web Cave Story, ce que je considère personnellement comme le point de départ du jeu indé moderne. Un retour au sources graphiques et de gameplay à quelque-chose à cheval entre NES et SuperNES. Noël dernier, Je reçois de mon frère une surprise épatante: une version boîte de Cave Story 3D!
Somewhat 7 years later, Cave Story -- initially free on Windows -- is available on most video game consoles as official games. Sometimes as downloadable game, and sometimes as a real cartridge, like with the 3DS remake I received this Christmas. Surprised it took me so long to blog about it ?
Il a été assez difficile de m'y mettre: comparé à un Super Mario, Cave Story est un jeu exigeant de la patience, et vu mon niveau, il faut réessayer et encore réessayer. L'inertie forte du personnage combinée au pad-champignon mou et aux plate-formes miniatures d'un bloc de large mettent ma dextérité à mal. Du coup, je peux difficilement me permettre des parties de 10-15 minutes à côté de ma fille. Elle va me mettre la pression parce que j'échoue et au final, le jeu aura déterioré l'état de mes nerfs au lieu de l'améliorer. Inacceptable pour un Super Papa Bros.

Côté graphisme, on sent bien que le studio Nicalis n'a pas lésiné lors du portage, mais on perd malheureusement beaucoup en lisibilité de la situation. Le gameplay -- autrefois précis et nerveux -- devient flou et approximatif.

Comparé à l'original, plus de séparation des plans sur base des couleurs. La seule chose qui peut véritablement servir d'indice, c'est la profondeur. Le hic, c'est qu'en mode 3D, la lecture est encore un peu plus complexe avec les effets de reflet et la nécessité de régler avec précision l'angle de vue.

Au passage, il y a moyen de choisir entre nouveaux modèles 3D (normal mode?) et stretching pathétique des sprites d'origine sur des textures à plat (story mode), ce qui ne donne vraiment pas de bons résultats lorsque le moteur décide de zoomer sur les personnages dans certains couloirs.
J'apprécie par contre le respect apporté à la bande son originale.
Autorisez moi une petite soirée de nostalgie sur le projet de Ravenworks qui aura dû s'effacer au moment du premier portage de Nicalis sur Wii (iirc).
Wednesday, June 17, 2015
Cave Story sur (3)DS.
Tags: 3D, english, game, readability
Thursday, May 10, 2007
inside caverns ...

Tout a commencé par un visiteur venu du forum gba-dev (qui m'a conduit à retourner lire le post "ces jeux que vous voudriez voir implémenté sur DS"). Puis de fil en aiguille je suis tombé là dessus: doukutsu/csds-mushrooms.nds
Les décors m'ont immédiatement plu. Et cette histoire de champignon dans les caves m'a conduit à une investigation du phénomène "Cave Story".
Après une causette "digital painting / pixel art" avec Toad J'ai eu envie d'essayer de redessiner moi-même des rochers "à la cave story". Quand on y regarde bien, ça n'a pas l'air si dur ... Des formes bien géométriques, et le même genre d'éclairage que les blocs-à-pointe des forteresses de SMB3. Tenez, prenez n'importe quel programme de dessin (même MS paint fait l'affaire) et dessinez un carré gris moyen puis coupez le sur les diagonales. Ajoutez un triangle gris-clair sur le dessus et gris-foncé sur le dessous, vous obtiendrez qqch comme le premier bloc de l'image ci-dessous. Déjà une impression de 3D. Les rochers de Cave Story sont sur le même moule, mais le carré est mis "sur pointe" le plus souvent.
Backgrounds in Cave Story are somehow impressive in how they produce a nice effect with rather simple pixel art. If take the time to stop and watch them, they aren't so far away from SMB3's "spiky block" that appear in fortress. Pick any drawing program (including MS-paint), draw a grey square and its diagonals, then paint the upper triangle in light-grey and the bottom triangle in dark grey, and you're done with a 3D-like feeling. Rocks in Cave Story background work the same way except most of the time the square is "on an corner", making it consistent with the up-left lighting source.
Le résultat: du pur pixel art. 4 couleurs (#081800, #102400, #212c08, #293808), et presqu'exclusivement réalisé avec les outils "crayon", "ligne" et "remplissage" d'un 'paint' classique.
C'était l'occasion d'essayer the Gimp comme outil pour mes jeux vidéo. Une image 64x64, c'est encore difficile à gérer pour SEDS. Le truc pour construire des rocs 'qui s'assemblent' ? j'ouvre deux fenêtre, l'une de 64x64 (zoomée) pour le dessin et une de 128x128 armée d'une grille magnétique 16x16 pour recomposer l'image. Quand j'ai fini un élément et que je voudrais dessiner quelque-chose qui va passer "à travers" le bord de l'image, je recopie l'image en cours dans chaque coin de ma fenêtre 128x128 et je n'ai plus qu'à resélectionner une zone de 64x64 plus au centre de l'image résultante ^_^
So i gave The Gimp a try as a tool for video game graphics (my own editor on the DS cannot deal with 64x64 chunks very well atm.). And to make sure my blocks "tile" well, i just used two window, one with 64x64 for edition and a second one (128x128) with a 16x16 magnetic grid that can be used to rebuild the full image. The trick is to avoid drawing near the borders. If you need to do so, copy the 64x64 edited image back in the 128x128 and grab the center of that 128x128 image back for edition ^_^
Evidemment, des cailloux tous pointus, ce n'est pas très intéressant. Si vous regardez ceux de Cave Story, il y a:
- des craquelures: commencez un triangle presque noir à la base d'un rocher et terminez par une ligne qui est "en biais" par rapport au triangle,
- des irrégularités: choisissez un des "versants" et, partant de la base, ajoutez une ligne de la tonalité suivante. Si au lieux d'être plat, votre versant fait quelque-chose comme "----___", et s'il était clair, il y aura un endroit plus sombre au niveau de la transition "--_"
- des replats: c'est à mon avis un des effets les plus intéressants et facile: imaginez un polygone qui entoure le "sommet" de votre rocher. Sur les versants clair, dessinez l'épaisseur de ce polygone avec la teinte intermédiaire. Sur les versants "intermédiaires", contournez le polygone avec du clair (il y a un emplacement sur le bord du replat qui prend plus la lumière). Gardez vous bien d'avoir quelque-chose qui ressemblerait à un passage en "négatif couleur
- des ombres. Je n'en ai pas mis, mais on pourrait rendre plus sombre la base du côté "clair" d'un bloc très proche d'un autre.
Friday, October 11, 2019
gameplay: les éthers
Je suis retombé sur un vieux document (~2005) présentant une mécanique de jeu qui n'a pas vraiment trouvé sa place dans Bilou : les Ethers. Je venais à l'époque de jouer à Minish Cap, Kirby: Amazing Mirror et à Cave Story et je cherchais quelque-chose succeptible de fournir un gameplay intéressant tout en intégrant la "progression" des pouvoirs de Bilou.
On aurait donc commencé le jeu avec un personnage capable tout juste de marcher, lancer des trucs ou faire des sauts d'une taille modeste. On aurait aussi eu dans le jeu des petits éléments à la forme indéfinie, mais brillants et colorés, qui influencent les actions possibles.

Comprenons-nous: les pouvoirs évolutifs font partie intégrante du synopsys depuis sa première écriture en '94, mais à l'époque ils concernent essentiellement des "pouvoirs technomagiques" comme un tir laser, voler, paralyser les ennemis, etc. Et en plus, ils "consomment" de l'énergie magique que l'on doit ramasser ici ou là.
Les éthers doivent bien être ramasser pour octroyer le pouvoir correspondant, mais ils n'auraient pas été "consommés" quand on s'en servaient. Ils devaient aussi servir de points de vie (pour les Ethers bleus) ou invoquer Bouli (ethers jaunes) et utiliser des attaques combinées (ethers rouges). Les autres (cyan et verts) devaient principalement permettre de booster les capacités de mouvement de Bilou, plus que ses facultés d'attaque.
Seulement voilà. Je n'ai jamais trouvé un moyen convainquant de faire "gagner" des ethers à Bilou. Contrairement à Cave Story, ici, on est pas attaqué par des vagues de mini-monstres qu'il faut dégommer à toute vitesse. On est plutôt dans un jeu où "les bonus se dandinent à environ 1m du sol". Et les idées pour en obtenir à partir des p'tites pommes et des fleu-fleurs m'ont semblé 'anti-Bilou' sur le principe ... donc le tout est tombé dans l'oubli.
Thursday, June 28, 2007
Cave Story on the DS ...
Believe it or not, I discovered Cave Story on the Nintendo DS. Or at least because someone on a homebrew-related blog re-posted the link to Ravenworks' journal where she details her effort to port the game to Nintendo DS. We somehow turned doukutsu-frenzy at the office, it it turned even better when announcement was made that we could get moving monsters in the updated version.
Quite interrestingly, Raven decided to switch to NDS's 3D hardware to get that done. A pretty surprising move. I'd be curious to give that code a look.
the whole damn thing runs on the 3D hardware now.
Nous confie RavenWorks... wow. Bin je serais super-intéressé de jeter un coup d'oeil au code ... Et celà explique sans doute pourquoi je n'ai vu que le menu de sélection des niveaux et le décor de fond dans desmume :P Je m'étais dit "ce soir, je saute dessus" ... bin j'ai pas attendu jusque là. J'ai ressorti mon lecteur de cartes SD tout pourri, bricolé un peu avec un bout de carton pour que les contacts se fassent bien et transféré le-dit fichier .nds ... Intérêt limité (un shoot'm'up en "god mode", pourquoi pas, mais si on ne peut pas tirer ... bon "dog mode" ?), mais indispensable pour tous les fans. Encore un peu de patience ... je sens que je ne regretterais pas de m'être arrêté à Monster X sur le portable de mon oncle ^_^
(edit: originally hosted on http://cavestory.ravenworks.ca/)
Saturday, April 05, 2025
#20games part 4
On a fait le tour des jeux qui ont influencé la conception de Bilou et ceux qui ont eu un impact sur le développement de la version BASIC. Attaquons-nous à ceux qui sont à l'origine de son reboot.
Heureusement que je l'avais bloggé, parce que sans ça, je n'aurais jamais retrouvé que la découverte de Cave Story s'était faite à un moment ou je trempais déjà dans le développement NDS, mais encore rien de décisif. Juste quelques éditeurs. Mais de découvrir qu'un gars écrivant tout seul un petit jeu "comme il aurait voulu pouvoir y jouer étant jeune" est parvenu à créer un phénomène mondialement reconnu en travaillant dessus 5 ans ... juste à condition de travailler à la frontière de sa zone de confiance ... ça fait réfléchir. Et le mois d'après, je suis tout à coup occupé à parler de BilouDS ...
Mais le jeu qui avait captivé mon attention juste avant que je ne me lance dans le développement DS, c'était Kirby and the Amazing Mirror ... la perle introuvable. Je serais curieux de mettre la main sur une map de l'ensemble des "routes" possibles dans le jeu tellement j'ai tourné dans ce labyrinthe des miroirs, à tenter de conserver un des power-ups suffisament longtemps pour pouvoir débloquer les chemins que je n'avais pas encore exploré. C'est de là que vient l'approche actuelle des power-ups pour Bilou, même si le fait de jouer à Megaman X m'avait donné la conviction que l'idée "un bouton pour passer d'un pouvoir à l'autre, des jauges d'énergies à remplir pour s'en servir" ne marcherait pas terriblement.
A l'opposé de Cave Story, on pourrait trouver Shantae: Risky's Revenge sur DSi. Le jeu qui rassemble des talents comme Henk Nieborg dont le pixel art me sidère depuis Lomaxx et Virt dont la musique me scotche depuis bzam/zzap : '01. Le jeu est sorti en 2010, le travail sur Bilou a déjà pas mal avancé ... Mais les éléments de décor sont énorme, le jeu se permet du multi-plan avec pré-visualisation de ce qui nous attend pour la suite, un panel d'objet complémentaire qui n'a rien à envier à un R-Type ... le moteur de jeu a certainement besoin de ruses de demoscèneur pour animer tout ça et gérer les va-et-vient dans la mémoire vidéo. Une référence, certes, mais une référence inateignable. Une étoile polaire plus qu'un phare d'Alexandrie ^^"
Monday, February 03, 2014
Undermining challenges.
"31 years of Power-Up by TheBourgyman |
![]() |
| not a chance you can collect the 3rd "golden coin" |
| (in level 1-2) before you beat the boss of world 4 :P |
Et pourtant, le vrai potentiel des power-ups n'est pas là: il s'agit bien au contraire de permettre au joueur d'ajuster le niveau de difficulté du jeu. Pas en évitant les passages difficiles, mais en changeant un brin les règles pour permettre au joueur de "passer comme dans du beurre", ou presque, de lui permettre de se sentir "à l'aise", de défier la force implacable qui se dresse contre lui. C'est toute la différence entre un boss de Zelda qui insiste pour qu'on utilise tel ou tel objet lors du combat et les boss de Mega Man qui peuvent tous être vaincus uniquement avec le tir de base, bien qu'ils aient chacun un point faible à exploiter.
Following both Mario and Cave Story approach, you may lose those abilities when you're hurt. Late 2008, I have scribbled somewhere "let's have all the features available from the start (unlike in a Rayman game) and power-up would widen the allowed timing from user input". That is, you could always grab a ledge to climb it, but with more "fist power", you could stay hanging for as long as you want. Same for wall-kicking: foot-power would loosen the constraint that "JUMP button should have been press just when we're hitting the wall".
This means that power ups are no longer keys to progress, but comfort unless you gain the skills the game really require. In other words, they don't just "make the impossible possible" but they mostly "make the possible easy". I'd add today that we can also offer alternate ways to complete a specific challenge depending on whether the player currently holds the power-up (smash the ground) or not (climb up, dodge ennemies, and then fall through)
Et si disposer du power-up pour finir le niveau devient accessoire (mais utile), on a alors le droit de confisquer l'accessoire à tout moment. Le joueur plus prudent/attentif/doué se verra récompensé par le fait qu'il conserve son power-up plus longtemps.
Tags: designclass, ground, mario, secret passage, superpowers
Sunday, June 02, 2019
Iconoclasts
From the very first notice on the tigsource blog, I've been in love with the pixel art used. I loved the gameplay as well, which I managed to get running through Wine on my old laptop ... but It wasn't comfortable to go much further than the first true boss.
But yesterday, I just noticed it was available on the Nintendo Switch, so this is my second indie download, and it's a marvel to experience the game at full frame rate with responsive and friendly controls. Plus, the switch has a "snapshot" button, and a separate galery mode, meaning that I'll be able to do pixel studies when I'm not playing it.
Bon, il y a 8 ans que j'aurais dû commencer cet article, parce qu'il y a 8 ans que Iconoclast de Konjak m'avait tapé dans l'oeil. Il y a même 8 ans presque que j'y ai joué pour la première fois, dans le salon de mes beaux-parents sur un portable Linux tournant laborieusement Wine. J'avais apprécié, mais l'expérience n'avais rien de comparable à avoir la chose au milieu de son D-PAD et calibré pour tourner à pleine puissance sur la Nintendo Switch. Je ne regrette pas l'attente et je ne regrette pas la dépense (vu que la version PC avait été gratuite :P)
La bande son est de toute bonne qualité aussi (sans pousser jusqu'au niveau d'un Shantae ou d'un Fez quand même), et je suis assez surpris de constater qu'elle est signée également Konjak! "Pixel" avait fait de même dans "Cave Story", mais ça reste suffisament rare pour le mentionner.
Bon, je vais quand-même faire une petite intro du jeu pour ceux qui le découvriraient ici: Robine est une jeu passionnée de mécanique. Elle n'hésite pas à donner un coup de clé à gauche ou à droite pour dépanner les gens de sa colonie. Elle se débrouille aussi assez bien avec un flingue, et ça va lui venir bien à point, parce que dans son monde, le carburant est considéré comme une manne divine et seuls les prêtres assermentés peuvent intervenir sur les équippements alimentés en carburant sans être pourchassés par les agents du Projet et "jugés" pour hérésie.Je pourrais être tenté de dire qu'on est face à un métroïdvania, vu qu'on se déplace librement dans des niveaux un poil labyrinthique, qu'on débloque des mises à jour de ses armes pour continuer à progresser dans le jeu et qu'on dégomme tout ce qui bouge sauf si ça nous adresse la parole avant de nous charger. Mais ce serait une insulte de ne pas préciser la présence d'une forte composante RPG, étant donné la quantité de PNJ qui nous distillent leur connaissance du monde, de ses intrigues et des relations curieuses entre les différentes factions. De nouveau, c'est de Cave Story qu'on se rapproche le plus ici.
Encore que Konjak a veillé à choisir des mécaniques de combat qui permettent aussi des phases de puzzle entre les séquence de combat pur -- chose qui colle tout à fait au caractère du personnage, ce qui ne gâche rien.
Tags: game, indie, pnj, SurSwitch, VeryOldDraft
Monday, April 07, 2008
Paper Mario + Doukutsu = Fez ?
Note pour plus tard: regarder la vidéo de FEZ de level select jusqu'au bout et essayer le jeu sur un PC équippé de Windows. ça a l'air grand. Le mélange entre Super Paper Mario et Cave Story ...
Thursday, December 08, 2011
Ubiart: mission réussie.
La 2D fait un grand retour dans les jeux vidéos. Ce qui a commencé avec les pixels tout anguleux de Cave Story s'est poursuivi dans un style beaucoup plus inédit pour Braid, et confirmé avec une reprise de "Boy & his Blob" (par WayForward ... tiens, tiens ;) tout à fait croustillante et merveilleuse. Le livre-pour-enfants-dont-vous-êtes le héros était plus ou moins né. Par un merveilleux détournement des capacités graphiques de nos consoles modernes, il devient possible de construire des mondes vidéo-ludiques sans jamais avoir à se tracasser du nombre de couleurs, de la résolution, ou d'une quelconque limitation matérielle. En gros: dessinez, c'est gagné.
There was a time were video games were slaves of the third dimension and polygon counts. No game would be seriously considered if it hadn't 360° exploration, jerky textures when approached too close and odd camera decisions (or a secondary direction stick for direct camera control). Hopefully, in 2004, the world realised that a old-fashioned, 2D video game could attract masses as well if, like Cave Story, it had inherent soul that made it interresting to play.
Oui, mais alors, on va pouvoir de nouveau faire des jeux vidéos comme au bon vieux temps ? un graphiste pour les décor, un animateur pour les sprites et un gars qui sait coder convenablement pour lier un peu le tout ... Plus besoin d'une équipe de 40 personne avec trois managers et tout un château pour leur permettre de bosser? On va enfin pouvoir donner libre cours à sa créativité sans devoir d'abord convaincre la moitié de l'équipe qu'on tient le bon bout ?
It took some time for this truth to reach the major videogame studios, but Nintendo got it clearly: New Super Mario Bros used the 3D power of the DS to bring it diversity in moves and greater control over the character, but the gameplay was back to something simple, that can be mastered in a few days, not in months.
And with the Wii edition, platforming rediscovered its true nature: to bring in a fun experience where cooperation amongst player is the key to success.
Sauf erreur de ma part, c'est la le pari de UbiArt, le "kit de développement" derrière la réalisation de Rayman: Origins.
Parce qu'entre temps, même Nintendo s'est remis à la 2D "remasterisée". New Super Mario Bros, Kirby ... Le hard-core gamer peut continuer à se tordre les pouces sur ses manettes bizarres, nous on s'en sort très bien avec nos vieux pads et nos 3 boutons. D'autant que cette vue sur le côté permet bien plus facilement de faire intervenir plusieurs joueurs dans la même pièce. Un argument de poids qui donne au titre un aspect super-convivial. Familial, même. De quoi délier les bourses à l'approche de Noël autour du nouveau phénomène: le jeu-vidéo-de-société.
It was now only a matter of tools that video game could once again become the affair of a small team, where creativity and fun can prevail over technical effects and shaders. Ubisoft built that tool and created Rayman: Origins with roughly 5 people, where the original "Rayman vs. Mr Dark" on PSX ultimately enrolled up to 100 people, artists, coders, animators ... to make something simpler come to life. And not only the world of Rayman: Origins is beautiful. It really feels alife.
Il restait à Michel Ancel un défi à relever: rendre son monde virtuel vivant. Bien plus difficile dans un jeu vidéo que dans un dessin animé, car le joueur peut s'arrêter à tout moment, et ce sera alors à l'environnement du jeu de convaincre qu'on est pas juste devant un joli tableau mais dans un monde. Sans ça, l'immersion tombe -- et l'immersion, c'est un point déterminant pour avoir un jeu réussi. Eh bien, pas de soucis. Par un impressionnant mélange de parallaxe, d'ajustement du niveau de détail, d'animation vectorielle et j'en passe, le défi est relevé. Je n'étais franchement pas un fan du "nouveau look" de Rayman, qui semble avoir subi un croisement avec les blork de Kid Paddle, mais le résultat est là. Amusant, dynamique, de toute beauté ... Je n'ai pas de PS3 et croyez bien que j'attend avec impatience la prochaine invitation de mon frangin ;)
This multiple levels of parallax scrolling with hand-painted hills and grass give a feeling of immersion and environmental freedom that is imho unprecedented, even in Mario 64 and its friends. The action is still almost purely 2D, but you'll never feel like "why the hack can't I pass *next to* this monster rather than fight it". Reason number one is that at some other places, you clearly had some depth around you. The second reason is that it's quite fun to fight monsters here :)
Tuesday, June 16, 2009
Bilou sur DS
Ce billet est une tentative de FAQ reprenant une partie de mes discussions ou de réaction aux commentaires récents de nouveaux arrivants qui ne m'ont pas vu gribouiller des p'tits Bilous dans tous les coins depuis des années.
An English translation of this FAQ is available here.
Qui est Bilou ?
Un personnage imaginaire -- une balle bleue avec de grands yeux, des pieds et des mains "en orbite" -- servant de héros à mes jeux vidéos, que je tiens initialement de Pierrick, et autour duquel s'est construit tout un petit monde "cartoon" où l'on retrouve des influences de Lewis Carol et des premiers dessins animés, mélangées à du Commander Keen et du SuperMario.
Pourquoi sur DS ?
Parce que la DS est la plate-forme dont je rêve depuis que j'ai un C64. Mixage son en hardware, graphisme multi-couche et support des sprites en hardware. Elle combine un écran tactile assez précis pour des applications graphiques et des contrôle de jeu à la SNES idéaux. Elle a des possibilités d'interconnexion avec le reste du monde et du stockage local pour peu qu'on se donne la peine de les faire fonctionner. Elle est un peu restreinte en resources (33+66Mhz et 4Mo de RAM), ce qui oblige le dévelopeur à chercher des solutions plutôt que de coder comme un bourrin, mais elle a quand-même assez de puissance pour ne pas nécessiter que _tous_ les aspects ne nécessitent une micro-optimisation pour pouvoir faire quelque-chose d'intéressant comme une SNES ou une Genesis. Ses possibilités 3D ne sont pas extraordinaires, mais si jamais je veux m'en servir, elles sont mieux documentées que les nvidias.
Enfin, elle existe. Si je devais coder mes jeux ailleurs, il y a de fortes chances que je commencerais par me donner l'équivalent de la DS en machine virtuelle.
Quel genre de jeu ?
J'ai un faible pour les jeux de plate-forme, donc ce sera un jeu de plate-forme. Ceci dit, j'ai encore des hésitations sur le type de gameplay. Course rapide à la Sonic ? Puzzle à la Fury ? Arcade à la Johny Biscuit ? Exploration à la Commander Keen ? Avec une composante RPG comme dans Cave Story ? Il y a de fortes chances pour que je touche un peu à tout avec des petits groupes de niveaux d'une sorte ou de l'autre, sans chercher à intégrer le tout au départ. Ca permet aussi de continuer à avancer et à proposer du fun aux joueurs.
Peut-on l'essayer ?
Oui. Les démos sont annoncées au fur et à mesure dans la section "downloads". Il s'agit de travaux en cours : je n'ai pas une équipe de béta-testeurs très étendue, et un regard neuf est toujours apprécié, même si certaines propositions ne seront pas adoptées telles quelles.
Pour les faire tourner, il vous suffit d'une DS "homebrew-ready" ou d'un émulateur.
Homebrew ?
Le développement officiel sur console Nintendo est très fermé. Ca va plus loin qu'un simple SDK coûteux ou qu'un droit de regard sur ce qui est publié et ce qui ne l'est pas. Sans une structure commerciale pré-existante et bien reconnue, c'est l'impasse. Heureusement, il existe des outils permettant malgré tout de programmer la console sans passer par le kit officiel. On dit que les jeux et programmes faits de cette façon sont "fait-maison" ("home-brew" a un petit côté "je distille mon alcool de framboise en effilant les tubes de verre moi-même" qui colle assez bien au résultat comparé au développement sur d'autres plate-formes plus ouvertes). Si vous savez ajouter des jeux sur votre DS via une carte-mémoire type SD ou micro-SD à l'aide d'un gadget acheté à un ami ou sur Internet, vous avez ce qu'il faut pour faire tourner les jeux homebrew. Bravo. ^_^
Où sont les vidéos ?
Je ne fais que rarement des photos d'écran et encore moins souvent des vidéos. Celà demande un investissement en temps colossal pour avoir quelque-chose de correct à montrer. Si vous mettez en ligne des photos ou vidéos de mes productions, je vous invite à l'annoncer à tous via un commentaire sur la démo en question.
Comment est-il programmé ?
Le moteur de jeu est en C++, de même que le modplayer responsable de la musique, le tout dans l'environnement libre "devkitpro" sous Linux. Le côté "PC" de certains outils est généralement bricolé en PERL parce que je le vaux bien. Je tente de garder au maximum la logique de jeu séparée via un langage de script spécifique, dans la veine du micro-basic d'Eric Chahi (Another World) ou de SCUMM (Maniac Mansion et successeurs). Tout ce qui doit être invoqué en permanence (moteur de collision, déplacement des sprites, lecture des touches, etc.) est gardé en C++ de sorte que les scripts n'interviennent que lors d'évènements (changement d'état d'un personnage, collision, fin d'une animation, etc.)
Verra-t-on Bilou dans les magasins ?
C'est très peu probable, et ce n'est pas mon but. La politique commerciale de Nintendo laisse très peu de place aux petits développeurs indépendants. C'est un autre monde où un jeu doit être rentable et disponible dans les bacs à Noël. Je m'appuie sur l'expérience de Cave Story et de Qwak. Je cherche à faire un jeu amusant, et il sera prêt ... quand il sera prêt. L'aventure a commencé il y a 15 ans. L'expérience de Qwak, ce jeu GBA homebrew produit en série limitée et vendu sur Internet, ouvre aussi des perspectives intéressante pour passer du stade "petites démos" à un "produit fini". On verra en temps utile.
En 3D sur PC / Wii / Xbox ... ?
C'est très peu probable également. Je n'ai jamais été séduit par le contrôle d'un personnage dans un environnement 3D. Celà demande également des techniques de programmation, d'animation et de développement très différentes de ce que le "développement-dans-le-grenier" permet. J'ai exploré cette piste pendant une bonne 10aine d'années sans réel succès, et l'arrivée des nouvelles consoles ne change pas fondamentalement la donne.
Intégrer des éléments 3D dans le jeu pique ma curiosité, mais pas au point de quitter l'approche "pixel art" que j'ai choisie.
Open Source ?
Le moteur de jeu et les outils que je développe dans le cadre du projet "Bilou sur DS" sont disponibles dans le projet sourceforge "dsgametools". Mon ambition est de m'approcher autant que possible d'un système de "game maker" entièrement présent sur DS: édition des niveaux, des graphismes, du comportement des personnages, etc. Vous pourrez donc les réutiliser pour créer votre projet complet.
En revanche, je conserve la propriété intellectuelle intégrale sur l'univers et les graphismes de Bilou. Je ne souhaite pas que X fasse une "suite" au jeu, ni que Y réutilise tel ou tel élément dans son jeu. Pour cette raison, les démos disponibles et à venir sont distribués comme un .nds "tout-en-un". Je vous demande de respecter ce choix. Si vous êtes fan de mon travail au point de vouloir proposer un "level pack", les "dsgametools" vous permettront de "schématiser" vos idées et de produire un prototype sur lequel on discuterait d'une collaboration.
Le vrai fan comprendra et respectera ce choix.
Wednesday, June 17, 2009
Bilou on DS [en FAQ]
I guess it is time to state clearly what the ultimate project "Bilou Homebrew" is. For a couple of years, I've been blogging development progress in an attempt to build a game dubbed "Bilou's adventure" on the nintendo DS. It is actually a revival of my teenager project (on PC/Amiga by then). I compiled a little FAQ list that should cover the big idea, trends and similar stuff for those who just stumble upon the blog and want to know more about the background and motivations.
Les lecteurs francophones ont déjà la version originale de cette FAQ dans un article d'hier.
Who is Bilou ?
A fictional character -- a blue ball with googly eyes, and "surrounding" feet and hands -- used as the heroes of my video games. I usually consider that I borrowed his initial design from my friend Pierrick, and over the years, I've built a whole little cartoon world around him, with influences from Lewis Carrol's Wonderland, early cartoons together with Commander Keen and SuperMario. Oh, by the way, it's a French name, to be pronounced "Bee-loo" (/bi.lu/).
Bilou is around since 1993, and a good deal of previous games (including a QuickBasic platformer and an RPG) are also covered in the "history" thread of this blog. Bilou teams up with Bouli, the yellow guy with a red hat, as a freelance space explorer for the Stellar Convention. Bilou is the AstroCruiser's pilot and Bouli the ship's engineer.
Why on nintendo DS ?
The DS is the computer I'm dreaming of since my early C64. It has hardware sound mixing, multi-layer graphics with hardware sprites, and much more. It has a touch screen just precise enough to allow graphic applications and game controls inherited from the SNES (imho, the best game controller ever). WiFi and SD cards (when homebrew-ready) makes it ready to communicate with the rest of the world, too. It might be a little scarse on resources with "only" 33+66MHz and 4Mo RAM, but imho, it just puts the coder at challenge to make things efficiently and to thing small enough in a world where over-provisioning kills the beauty of optimization. Still, unlike former 2D game consoles (SNES/Genesis), it still allow a nice environment and do not *require* optimization of every little bit.
And most of all, it does exists. If i was to code my stuff on anything else, chances are that i would first re-implement a virtual DS.
Admittedly, the hardware will turn old-fashioned before I'm done, but I bet there will still be people enjoying 256x192 display when that will happen. The game logic is platform-agnostic and most of the game engine equally is, btw.
What kind of game ?
My favourite genre is side-scrolling platformer, so Bilou will be a platformer. The initial vision is a grand adventure game, with a whole planet to explore, myths, mysteries and epic fights. That being said, I'm still undecided on the gameplay I'd love to give to the game. Will it be a Sonic-like race ? A Fury-like puzzle or a Johny Biscuit arcade puzzle ? Will it provide Keen-like exploration or Cave Story-inspired RPG ? I cannot tell. Chances are that I'll be investigating all those aspects in the future years, through standalone demos showing only a few levels at a time. Not only it will deliver fun to fans & players, but it allows me to keep on moving. The arcade-inspired Apple Assault is such a first milestone on the long road I'm walking on. I will divide and conquer, one area at a time. I will experiment and, hopefully, draw lessons.
Can we give it a try ?
Yes, we can. Small "milestone" demos are proposed along the path and advertised in the "downloads" section of this blog. Keep in mind that these are always "work in progress". I don't have a very large testers community at hand (only a few friends have homebrew-ready devices, often the exact same hardware as myself), so a fresh look at how things should be is always of interest. It might not always be possible to follow such advice, though. For those of you who don't have a DS, demos should run in emulators as well (they're tested on Desmume).
Where can we find some videos ?
With running demos at hand, i'm less and less inclined to take the time to shoot pictures or videos of my work. It takes an awful lot of time that I could instead give to programming the game, and it's incredibly difficult to have a decent quality with the tools I've got. That being said, I'm interested in any picture/video you've shot and put online here or there. Just link to them with a comment in the corresponding demo.
How do you realise such a game ?
I implemented a fresh game engine in C++, and reused 0xtob's C++ modplayer (NTXM, from the NitroTracker project), thanks to the "devkitpro" environment in Linux. A few tools on the PC side are developed in PERL, as well.
I intend to keep the game logic apart from the engine thanks to a custom scripting "language" inspired from former successes such as Another World or SCUMM. The script only take care of "events", letting the C++ part handling the boring work of detecting collisions, moving sprites, etc.
One of the corner stone of my development kit so far is runme, a home-made swiss knife that let me transfer files between DS and the PC over wifi, view them or hear them ... It also contains the game engine so that it can run a level, launch the editors, transfer some altered ennemies behaviour and run the level again. If the game engine itself needs an upgrade, runme (and the editors, SEDS and LEDS) can download a new copy of itself and "reboot" in a few seconds.
Will I ever find Bilou in a store ?
Unlikely. I'm not targetting a commercial release and I don't think it would make my life any better if I did. Nintendo is virtually throwing independent developers away and the video game industry has become a world where economic efficience dictates the rules. This is the opposite of "garage coding" I've known and cherished during my childhood. I prefer follow outsiders such as Cave Story or Qwak, do something i'd love to have. Maybe I will one day have a few units produced somewhere in Asia and sell them on Internet, like what happened for Qwak on GBA. Time will tell.
What about PC / Wii / Xbox ? What about 3D ?
Equally unlikely. I've never been seduced by the control of a virtual avatar in a 3D environment as a player, nor by the look of a 3D world (My favourite episode of Rayman ever is episode #1 starring Mr Dark). Moreover, 3D games requires another set of programming techniques, development tools and animation skills that I don't have. I usually find PC game development libraries as boring. I've tried that path for some 10 years and it just resulted in yet another revolutionary Operating System project that fell asleep.
That being said, i'm curious of how i could possibly add 3D items in a 2D platformer. New Super Mario Bros has opened an interesting path in that direction.
Open Source ?
The game engine and game development tools I'm working on in the "Bilou on DS" game project are open source and freely available in the "dsgametools" sourceforge project. My goal is to get as close as possible to a "game maker" suite fully running on DS: level edition, graphic editors, character / ennemies behaviours, etc. In a few years, you could use them to write your own games as well.
Yet, I keep my intellectual property (that is, copyrights) on Bilou's universe and all my pixel art. I don't want that X starts working on a "follow up" game, or see any graphical content in a Flash game by Y ... That's the reason why I put demos online in a "all-in-one .nds binary package", to avoid having my work ripped. I kindly ask you to respect this choice. If you find yourself fan of my work so hard that you want to provide fan-made level packs, the "dsgametools" should let you sketch your ideas on a "sketched-by-yourself" version of the environment. We can later discuss your prototype/ideas and see whether a cooperation is possible.
I know the true fan will understand and agree with my choices.
What experience of video game do you have ?
I've never been a professional game developer, if that's what you meant. Yet, it's now been over 20 years that I'm developing games, starting with simple Quizz in C64 Basic, then including two platformers and one "RPG" in QuickBasic for DOS. Two of these were featuring Bilou as main character. I entered 100k game competition on the Belgian demoscene with two arcade games embedded in my own x86-assembly module player, in 1999 and 2000, and got the 1st place each time -- mostly due to the lack of serious competition, I must say. That's for programming. With a few friends, collectively (un)known as "PPP Team", we also designed a dozen of platformers for MS-Dos using Recreational Software's Game-Maker. If you're curious about this, just read the "pppteam" thread of this blog.
How can we contact you ?
Just leave a comment on any of these posts. Comments aren't shown publicly until approved by myself and I get periodic notifications when new comments are awaiting for moderation. If that's not quite fine for you, feel free to send your mail to pype_1999.geo @ yahoo . com
Thursday, March 22, 2012
Funky Inside
Rompant avec les niveaux prévus par mon frère, je décide en 2001 de placer la confrontation entre Bilou et Big Caterpillar au sommet d'un arbre creux monstrueusement grand... et je fais totalement l'impasse sur ce qui se passe à l'intérieur de l'arbre. Puis, en pleine phase Cave-Story, je décide que la "clé du boss" ne sera pas une bête clé mais plutôt une interaction avec des NPC, notamment les Funky Funghi fraîchement relookés. L'occasion aussi d'un niveau tout en hauteur où je peux caser des bascules/tremplins et autres effets catapultants bien marrants (enfin, j'espère).In Bilou's Adventure as my Brother invented it, there was no such thing as a hollow tree level. Still, when I converted the yet-to-be-written game into a (web)comic in 2001, I figured out that a huge, hollow tree would be a nice place for Big Caterpillar to have his lair.
Later on, as I started to feel the interest that an organic (or even story-based) key may have and decided that 'plain keys' had no real place in the green zone, that hollow tree seemed to be a nice place to have a crowd of Funky Funghi that would make the boss a bit harder to reach...


I had no real luck on my hunt for reference material until that Rayman Origins screenshot me in the head with the naked truth: nobody said that your hollow tree had to be made of brown wood only. Actually, it quite makes sense that it would be invaded by moss, vines and other greeny stuff, especially if it's the resting place of the funghi ;)
Je m'étais mis en chasse de quelques souvenirs de jeux vidéos avec des arbres creux ... Mickey Magical Quest sur SNES ... Prehistorik 2 et ... ah bin non. Pas les rangers dur risque, finalement. Tout ça sans véritable coup de coeur: rien de vraiment utile. Par contre, j'avais passé déjà un certain temps à décortiquer le graphisme de l'arbre ronfleur de Rayman Origins (eh oui, encore lui ;) qui donne des pistes assez intéressantes. L'une d'entre elles ? Eh, qui a dit qu'un arbre creux ne pouvait pas être plein de mousse (et donc vert-sombre plutôt que tout brun) ? ... réponse : personne.
Tags: bilou, colours, funky funghi, greenzone, keys and locks, level design, pixels, rayman, sketch, titus
Saturday, August 15, 2009
Tobe's Vertical Adventure
Tobe nous prépare un petit bijou depuis quelques mois: "Vertical Adventures". Je suis avec intérêt les progrès graphiques sur pixelation, et une petite vidéo vous permettra peut-être de vous en faire une meilleure idée.
C'est le genre de projet qui me fait regretter d'avoir abandonner Windows (ou de ne pas avoir pris plus le temps de faire tourner Wine, c'est selon). Tout comme Spelunky (sorte de croisement entre Indiana Jones, BoulderDash et Cave STory), il représente le nouveau mouvement du "Indie Games", le développement de jeux indépendant, où faisant fi des demandes du marché, de petites équipes mettent tout leur talent pour réaliser un jeu qui leur fait plaisir, le plus souvent avec une composante "rétro" des plus délicieuses. Bref, je ne vais pas tenter de les couvrir tous: le Pixel Prospector s'en charge très bien.
Je suis fan de l'idée de Tobe (et al.) depuis ses premiers croquis de personnages. J'ai même tenté de m'en inspirer pour faire un peu évoluer mes techniques de graphismes/animation. Et la vidéo de gameplay suggère des bonus intéressants (se freiner contre les murs, s'accrocher aux lianes, etc.) que je me réjouis de voir à l'oeuvre.
I'm following the progress of Tobe, the graphist for Vertical Adventures, since his early sketch release. This project is a little jewel that shows great promise. Exactly the kind of little game that make me wish i still own Windows or an Xbox to play them (just like i wish i had a console years ago to play Twinbee or Flink ;-)
I spotted bonus-in-TV-boxes in the last (and first) teaser video, that suggest me the ability of climbing vines etc. could be modulated by those bonuses. An interesting line of action.
Thursday, March 30, 2023
NDS Dev in 202x
Back in february, 19-yo Violet! posted an animated version of the low-poly DS collected 167K likes and over 380 comments, most of which going towards "my childhood" nostalgia. Clearly, the NDS is now a retro console. That may not bring a wave of NDS development the same way we saw people starting to do SNES development a decade ago, but that's enough to push some 23-y-o 3D artist to convert their model into a .nds just to check what it'd look like and animate their hair with more code.
I've been surpised to hear the snes-lady Skwirl reporting that she had first wanted to write homebrew herself back in the days but dropped it because it was "too complicated". (she started some 3DS port of tilemap town, btw)
There are some ongoing NDS projects on github. I spotted one that pushes the 'reimplement X on NDS' to the extreme, bringing support for GBA pokemons, no less. Codestudy started. Probably tricky to get into it. And given how 'mature' the device is now, chances are that we find more ambitious projects like this (or a minecraft clone or cave story port) than the tiny one-screen flash/arcade-inspired titles of the neocompo years.
It reminded me of a series of tweet where someone was wondering how to get into NDS development. I have a tutorial git of my own, where each commit presents a part of what I use to build games on NDS, but that's teaching you to use libgeds, not libnds. There are devkitpro examples, too. I can't really recall whether their coverage is convincing for someone who wants to kick in. I myself have learnt with a mix of that and open-sourced projects from fellow homebrewers, but these are likely obsolete and wouldn't build against recent devkit versions.
The closest I've found is magusti tutorials. Most 'readmes' are in spanish, unfortunately and the directory structure is a bit confusing. It uses modern libraries, including maxmod. It uses 'all your data are belong to 4MB of RAM' approach, though.
Maybe the best way would be to use NFLib ? Like in 2048-nds, a small puzzle game with a codestudy-firendly size ? It does restrict what you can do but usually in ways that won't hurt your project (like assume you don't want to use 16-colors layers), it has understandable wrapper functions and meaningful abstractions like auto-adjust position of sprites when scrolling background planes or delay OAM updates until vertical blanking happens. It let you chose between "my files are in fat:/SOME_DIR" or "my fat are in magical NitroFS (within the .nds, but requires compatible loader).
If that's fine for you, the projects Snake-DS seems like a nice thing to check first.
The windows installer 3.0.3 is still there, and it seemed to install things properly on a Windows 10 machine. Or so it seemed. Likely the Antivirus quarantining 'padbin.exe' during the installation process did no good, but all I actually get (apparently) is an msys2 install in C:\devkitpro\msys2 (which hasn't messed with the other msys2 pre-installed on that system. yahoo!) and that's it.
I did get a 'choose your packages' box, but it did not produce anything apparently. Well,
So make your life simpler than mine: read the doc to the bottom and pacman -S nds-dev to install the pre-selection instead ^^"
Tags: homebrew
Friday, November 19, 2010
The bald's guy game
Vous vous souvenez peut-être d'Arne, le pixel artist qui nous avait fait de sympathiques faux-écrans d'un remake inexistant de Miner Willy ?
On lui doit aussi plus récemment une réinterprétation des graphismes de Super Mario Bros 1 absolument adorable.
Arne a un sacrément bon coup de crayon, aussi, comme en témoigne son projet de HDification du jeu C64 "exile" ... et il est apparemment assez prolixe en concepts de jeu qui n'aboutissent pas. Si bien qu'en février 2007 -- en pleine cave-story-mania -- Derek Yu lance sur le forum TIG un projet de convertir un des design originaux d'Arne en un vrai jeu. Oui, oui, on parle bien du Derek Yu à qui on doit le très réussi Spelunky (un croisement entre Boulder Dash et Rick Dangerous où chaque partie se déroule dans un niveau unique et aléatoire), et plus récemment Aquaria à la bande-son envoûtante.
A l'heure actuelle, "Balding's Quest" est toujours en développement -- au point qu'il vous faudra taper le nom d'un fichier .bqMAP pour pouvoir le tester -- et, chose peu courante, le développement est communautaire, chacun apportant sa petite touche perso (un niveau, une animation, un tileset, etc.). Pour rendre tout ça possible, BmCC, le programmeur en chef, s'occuppe du moteur de jeu central qui est scripté en Lua... j'ai d'ailleurs l'intention de creuser un peu comment ils s'y sont pris.
Le résultat est des plus sympa, avec un côté résolument 8 bits 1/2 ... mais attendez vous à mourir. Beaucoup. Mais toujours avec le sourire.
"Another visitor ... stay well ... stay forever !"
Par contre, le code a beau avoir l'air relativement générique et très customisable, quand je vois des choses comme ce paquet de if (...or...or...) je me dis que j'ai bien fait de suivre l'approche "proriétés des tiles et fonction cando()" de Xargon, tiens.
liens en vrac:
original design : http://www.itchstudios.com/psg/platform/platform2.htm (archive.org'd)















Vote for your favourite post
