Showing posts with label history. Show all posts
Showing posts with label history. Show all posts

Sunday, January 18, 2026

20 ans de Nintendo DS

Il y a 20 ans, j'ai reçu plus qu'un nouveau gadget. Une nintendo DS .. avec aucun jeux, en fait. On nous avait annoncé un nouveau Super Mario, un nouveau Zelda et un nouveau Yoshi Island. Bien plus intéressant que les projet rub et zoo keeper qui avaient accompagné la sortie.

Comme j'avais envie de revenir un peu sur tout ça, j'ai fait un petit récapitulatif de la première année de développement et blogging sur bsky ... et d'une façon assez surprenante, ça a explosé les réactions.

Et ils n'ont pas encore vu cette ligne du temps tortueuse qui reprend les milestones, les releases et les interventions et commentaires de "guest stars

Sunday, March 23, 2025

PENMENU.S3M

Vous pouvez l'écouter sur modarchive, vous pouvez le dédicacer sur Nectarine ... ce n'est pas le meilleur module de mon frangin, loin de là. C'est le thème envisagé pour le menu d'accueil de Pengo's Adventure, notre premier jeu sur RSD Game-Maker.

Mais c'est surtout en 1996 qu'il est devenu inoubliable pour moi, et associé à un écran tout bleu (avec un raster-effect un peu raté), preuve que ma routine d'interruption continuait bien à progresser dans les patterns et à mixer les 6 pistes pour les mettre dans le buffer transmis en continu par DMA à ma Master Boomer ...

If you've ever written your own .mod player routine (or any other tracked music format), there's a chance that you've had a very-first-tune-that-worked on that player. In my case, that was a tune my brother wrote, that should have replaced the menu music in our very first RSD Game-Maker title: Pengo. Sure my brother wrote plenty of much better tunes afterwards ... he already had some better ones at the time, including a title for the "Maya Zone" of a puzzle-platformer, which I was eager to start working on...

But since "penmenu.s3m" used no effects, it was possible to get it running earlier. It still reminds me of that blue raster showing up while playing -- like everyone else doing low-level programming at the time, I was hacking the background color to give me hints about where in the code I was. There would still be work to do before it could be featured in a game, but my 8-track player had turned from dream ... to reality.

Bon, bien sûr j'aurais préféré que ça soit la musique de Nono dans la Maya Zone ... mais pour ça il aurait fallu aussi le support des effets (dont l'arpeggio) alors que PENMENU, avec juste la colonne de volume, c'est réglé.

On a retrouvé Basket Island

On peut difficilement sous-estimer l'importance du musicien Français Maf sur la musique de mon frère. Assez pour le détourner du genre "Luc Baiwir" omniprésent depuis le concert de '97. Ce que ça a de bien, c'est qu'on peut alors utiliser les commentaires qu'il laissait dans ces pour retracer les influences ... comme le fait que c'est par l'intermédiaire du magazine "PC-Team" que nous avons découvert ledit Maf.

Parmi les titres qu'il avait partagés via la rubrique "productions des lecteurs", il y avait notamment une série de modules faisant référence à une mystérieuse "Basket Island".

Eh bien il est temps de lever ce mystère: quelqu'un a mis en ligne une vidéo de la diskette de démo du jeu "Basket Island" sur lequel l'équipe Syndrome dans laquelle Maf travaillait avec Guillaume Werlé (code) et Raph Le Gall (gfx).

This is the story about a French prototype game named "Basket Island". We had started our university years, and we encountered a collection of .MOD files French musician Maf wrote two years earlier. Some of them were referring to a then-mysterious "Basket Island" project, and my brother especially liked how he managed to have syncoped beat in the otherwise square playback of modtrackers. The influence went beyond mere technique and my brother started investigating the sample set and the style of Maf until he was ready with his own "CJ(is)land" tune.

Des petits écrans qui s'enchaînent, des persos qui suivent le ballon et tentent de mettre des paniers. De quoi convaincre une autre équippe de Posse Press responsable du magazine AMIGA DREAM en '96 de partager l'info avec leur lecteurs. Cette démo fait suite à une autre diskette qui présentait un slideshow de captures d'écrans (ou juste de maquettes, en fait ^^") sur une des musiques de Maf.

I recall my brother did call Maf at some point (pricy, international phone call), and likely this is where we learnt that Basket Island had been an amiga game project, but it never got completed. Nowadays, there are a few videos of the recovered demo disks Maf's demoscene group had sent to game / amiga magazine to promote the game.

Le jeu n'aura jamais été fini. Je vous laisse le soin de creuser les liens à la recherche d'une raison officielle. De mon côté, entre la musique qui s'arrête sans prévenir dans la démo et l'instruction invalide je dirais que toute sympathique qu'ait été la démo, il y avait un gros travail de nettoyage à fournir pour que le code devienne stable et fiable. En plus de ça, on se rend également compte en regardant les phases de jeu que l'IA du joueur 2 n'arrive pas vraiment à défendre son panier et que la dynamique du jeu ne permet pas non plus au joueur humain de s'interposer pendant les phases de contre-attaque. Un peu comme si on avait été face à un pacman où les fantômes ne vous pourchasse pas vraiment, mais se contentent de tourner en rond. 

Despite brilliant graphics and clean rendering, the demo also show that the game engine lacked stability and that gameplay was still very rough, hardly fair to the human player. I guess that's why killed the project before it could be shipped ...

Probable que tôt ou tard, l'équipe (ou ses membres ^^") ait fini par se concentrer sur un projet plus fiable pour assurer leur avenir.

Saturday, October 23, 2021

Le tout premier ?

 

Je viens de retomber sur une pièce d'anthologie. Une reproduction colorisée de ce qui pourrait bien être le tout premier synopsis de Bilou's Adventure! On y voit d'ailleurs dans le bas un 'bubule' dessiné par mon frère.

Premier élément remarquable, la 'school zone' est loin dans le jeu alors qu'elle passera assez rapidement comme deuxième zone. La zone aquatique est visible dès le départ, mais nécessitera des palmes (juste avant la School Zone) pour qu'on puisse y entrer ... Comme dans Commander Keen.

My brother had a fascination for maps back in '93, so I should not have been surprised if one of the first documents he brought me after we decided to rename the 'buble' character 'Bilou' was a world map of the games' big adventure. 

And on the back of that world map, there was a set of sketches for the games' introduction sequence ("magic" stones get scattered during a space shuttle crash), the main menu screen, and so on. Unlike in previous documents, the character is already identified as 'Bilou', and we are 'PPP Studio'.

Cerise sur le gateau, au dos de cette feuille, les croquis de mon frère pour l'intro, les menus, etc. Qui nous confirme que même si on dans du tout vieux, le nom "Bilou" avait déjà été arrêté.

There are a few interesting similarities between that map and the ones from the original Commander Keen trilogy. Notably the abundance of world map teleporters and an early-visible area that requires a swimming upgrade to be visited.

Compared to other maps of the game, the school zone appears quite late in this proposal, and the final boss is "catvador", the evil ruler of the Black (sic. we meant dark) Empire recycled from Calimero.
 

Saturday, August 14, 2021

Ultimate Game Maker

 There has been references to Ultimate Game Maker here and there in this blog, but if I want to explain what the project was, I'll need to detail a bit what I was doing just before.

Most of it was working on the early Clicker project, which was mostly meant to be a GUI library and desktop environment over a DOS extender, by then. It was also a mix between Nowan's C code and my assembly code so I had been defining every possible widget with a bit-level memory layout of how they would be managed as if the GUI handling code was a co-processor.

Meanwhile, I was more or less done with the RSD Game-Maker. It had too many limitations for the games I wanted to make. Games that could match Super Mario World.

Unlike Nowan, I had little interest in replacing Ms-Word with something better, but quite quickly, I started to use Clicker GUI project to revise the Game Maker I knew. There was little depart from RSD editor at that point. We see that on the 'monsters editor' screen that still has a grid to define monsters 'walking path'. But it already had a few critical extensions like "Monster is affected by gravity (needed for Bilou)" and "Monster can shoot" (needed for Badman III).

Ultimate Game Maker started while I was waiting for over 1 hour every morning for my university courses to start, and before the distance between Internet and classrooms shrunk.

I then started to cover a good deal of pages with a sort of class hierarchy starting with 'sprites' (purely decorative entities) up to playable characters (PERSO depicted here). Each of these class of game entity comes with a detailed set of "registers" and code pointers. They can detail things like attack and defence levels (inherited from RSD), invincibility frame counters, but also position and frame identifier within animation tables.

Like I did with Clicker, each of these 'registers' is carefully assigned an 8-, 16- or 32-bit size and the size of each set of registers is accounted. All of this is of course completely obsolete.

I also draw from Clicker's fonts rendering the idea that it is best to have generated code used to pset some pixels while others are left untouched on those pre-MMX, low-bandwidth video adapters.

That idea extended quite naturally to the fact that most characters in Bilou are meant to be made of small sprites. They are called 'blobs' in this work, and you'll have some 'registers' that identify the first and last 'blob' in the list that can receive hits and first/last blob that can give hits.

There is one hiatus, however, that will never be resolved: those strict hierarchies with pre-defined roles (a bonus - which can be collected - is not an object - which can be picked up) will never accomodate with koopas that switch roles between pick-me-up shell and self-moving ennemies.




Monday, October 23, 2017

out'm'up

The inscene'99 visit had been quite as success, especially regading the 100K game competition. My brother and I then tried to figure out what we would do on the next instance - obviously, our chance of making a good game were higher than making a big demo like the one envisioned for "samedi, tous in my home".

A comment by my peer "Gedeon" about how it was a shame that crazy brix was only using boxes for collisions pushed me towards the implementation of some pixel-perfect collision routines. I remember I wanted to do some pinball game, but after all, it was decided to go for a shoot-em-up. Our secret "games to do" folder had a long list aborted shmups, from the "Polycosmos" conversion of "space Mission", the failed "cosmowars" on RSD Game-Maker, and the aborted "Bilou sky quest" ... Nothing getting any close to our childhood golden award "Warhawk". So I picked the "Tyrian" palette and started to pixel some ships.

Retournons au passage à l'an 2000. La Inscene '99 avait plutôt été un succès en particulier pour mon jeu 100K, Crazy Brix. Deux choses étaient claires: 1) on y retourne l'an prochain et 2) on a plus de chances de parvenir à refaire un p'tit jeu en 1 an que d'aligner une mégadémo sur le thème "Samedi tous in my home"... Gédéon m'avait motivé à dépasser le simple test de boîtes de collisions pour le prochain titre. ça pourrait convenir pour un pinball ou un shoot-em-up. 

Des shoot'em'up abandonés, j'en ai déjà une belle liste derrière moi, à l'époque: le Space Mission pour C64, la BD impliquant le polycosmos, le "Bilou Sky Quest" annulé par un verre de Franta et le Cosmowars foireux sous Game-Maker. Pourtant j'aime ça quand c'est bien fait. Que ce soit Warhawk ou Tyrian si il y a des étoiles et des barres de vies, je suis partant. Et comme j'avais la palette de couleurs de Tyrian sous la main, justement, je me suis lancé.

The assembly code for crazy Brix was quite horrible, and I remember taking care of increasing the quality of the organisation for out'm'up. Especially, frames-to-aminations, level layout, and to some extent the sprites behaviour were described in a "data-oriented" macros system that looked a bit like game script, but converted straight into binary pointers and values -- something that was apparently common in MegaDrive games development.

The second key development was to support a dynamic list of sprites, allowing fancy explosions, lots of shots and even powerups where crazybrix couldn't even accomodate for anything but a ball and a paddle. Two lists, in fact. This engine was the first time I decided to split objects in two separate casts to reduce the amount of collision checks required.

While the level design wasn't very inspired, the game received a brilliant soundtrack, a classic but good-looking starfield effect and Out'm'Up won the first place - although mostly due to the lack of significant competition.

Même s'il a disposé de 3 fois moins de temps que Crazy Brix, Out'm'Up a eu droit au niveau programmation à tout ce qui faisait défaut à son prédécesseur: des effets d'explosions, des power-ups, des sprites ennemis, des niveaux programmables.

J'avais même une structure 'scriptable' pour permettre à mon frangin de passer au level design une fois le travail sur le son terminé, mais il n'y a jamais montré beaucoup d'intérêt. L'aventure s'arrêtera donc une fois la première place de la Inscene y2k empochée. Ce sera mon dernier projet en VGA + S3M. mon dernier projet MS-DOS.

Friday, May 08, 2015

Hi. I'm Bilou.

Salut à tous! C'est un peu la pagaille dans le "moteur de jeu". Permettez que je laisse Bouli s'occuper de tout ça et que je vous raconte un peu comment tout a commencé.

Hi there. It's me, Bilou. Bouli says the "game engine" is wrecked, but since I'm just the pilot here, there's little I can do to help, so why wouldn't we use that time to know each other better ?


On est en 1993. Deux potes se rencontrent à l'école. Ils partagent une passion pour la musique et le désir de créer des jeux vidéos. Le frère de l'un va se retrouver l'interface entre le PC familiale, les idées de gameplay et les conseils de programmation du nouveau mentor pour tenter de donnée vie à tout ça à grand coups de DATA ...

It all started in '93, with two class mates sharing passion for music and video game design that turned friends. One's younger brother will become the idea-to-machine interface to convert all those ideas into a bunch of GOTOs and DATAs to bring the game to live. His handle was 'Pype' so far, and he's our host today.

Pour une raison nébuleuse, le frangin en question. Notre hôte, connu aujourd'hui sous la signature de "Pype" manque d'être rebaptisé "bilou" pendant cet après-midi. Si bien que c'est automatiquement en "BILOU.BAS" que seront sauvés mes premiers pixels sur processeur Intel... Encore quelques heures et le nom de "Bilou" sera définitivement transféré de Pype a ma propre bouille ronde.

But on that very day, he was about to be re-named "Bilou" by the two friends. That nickname was used so much on that afternoon that he used it when it was about to save my very first implementation on PC ... "BILOU.BAS". Hopefully, with a few more hours, *I* turn to be Bilou and he can remain "Pype".

C'est le début de l'âge d'or. Quels que soient les projets qui trottent dans la tête des membres de la toute nouvelle équipe -- PPP Team -- c'est moi, Bilou, qui suis au centre. Bilou Ski, Bilou Karting, Bilou's Adventure, Bilou's Quest, Biloutris. Tout y passe. Les lignes de code se cristallisent ... les démos deviennent jouables.

Somehow, it was the golden era. Whatever game the team dreamt of, I was the star in there. Bilou's adventure, Biloutris, Bilou Ski, Bilou Karting, Bilou's Quest, Bilou's Sky Quest ... name it, you'll have it. Code line piles up and demos start to be playable.

Malheureusement, les outils de développement de l'époque sont loin d'avoir la flexibilité et la convivialité des Unity d'aujourd'hui. On se bat tantôt avec l'espace mémoire, tantôt avec le nombre de couleurs, tantôt avec la puissance de calcul insuffisante... les grands projets piétinent.

But unfortunately, even the compilers that turned "calimero" into an executable will fail on the increased complexity of my world. Every additional colour on the gamefield requires a re-write of the engine and of all the level designed so far. Despite an all-shiny Master Boomer, they struggle to bring background music to the game ... It all looks unfinished to the foreign eye.

Les potes de PPP Team mettent alors la main sur un outil qui va les occuper pendant près de 2 ans: le RSD Game Maker, qui permet de suivre une nouvelle idée de jeu dans la semaine où elle germe... On dessine ses niveaux directement ... on les teste dans l'après-midi. Mais les interactions sont limitées et ce type de gameplay n'est pas pour moi. Mon destin est de sauter sur la tête de chenilles géantes et de me faufiler sous des champignons et des gommes sauteuses... Pas de tirer au lance-flamme sur des tronc rampants.

A few month later, the PPP Team get their hands on another tool that will keep them busy for 2 years: the RSD Game Maker. With a few clicks and some improved understanding of English, they can build a 4-level game in a single afternoon, and a Commander-Keen-sized quest in a couple of months. New heroes appear, pastiche and tributes alongside original characters. But the engine cannot be bent to my signature move of caterpillar-stomping and my world of bouncing mushrooms and switches: it's an engine for flamethrowers, weapon level ups and locks.

Quand j'y repense, je me console en me disant que le game-maker lui-même portait dans ses limites sa propre obsolescence. En 1997, Pype se met en tête d'exploiter ses nouvelles connaissances en Assembleur pour construire un Ultimate Game Maker, haute résolution, son HiFi stéréo, plus de couleurs, des monstres au comportement dignes de Super Mario World ... et la liste s'allonge au fur et à mesure que le jeu vidéo vit sa Grande Mutation de la IIIeme Dimension. Ça tourne à la définition d'un OS complet, qui aurait les bon format de fichier pour tout ... qui serait moins lourd et plus convivial que Windows ... Je me retrouve à jouer le rôle de simple mascotte en attendant mon heure.

But even that was meant to end at some point. In 1997, as the PPP Team is about to split, Pype has gathered some assembly language tools and decide to start designing and building the Ultimate Game Maker, with high definition graphics (that is, 800x600 by then), millions of colours, hi-fi stereo Impulse Tracker modules with up to 32 tracks, parallax scrolling and large sprites with behaviour comparable to Super Mario World ... And the list keeps growing as the video game industry's IIID revolution is re-shaping the platforming genre. And rather of growing bottom-up, all this digs deeper and deeper towards the building of a full operating system kernel that could run either the game, or the development tools... And I'm left being a mere sketch on the logo, even though I'm at the top.


Et puis un jour, un coup de crayon un peu plus affirmer vient me sortir de l'oubli. A court d'idées de griboulliages en attendant un cours de réseaux, Pype se dit "pourquoi pas faire un mini-strip qui raconte le parcours de Bilou".

And then, all of sudden, a line of pencil draws me out of the shadow. Out of T-shirt design ideas while he's waiting for a course to begin, Pype wonders "why not a comic strip that relates Bilou's adventure ?". Old characters get a revamp, New non-playing characters appear, a back story grow up ... and a couple of pages appear on a website -- although it never quite turned out into a web comic. This is the first milestone towards an art blog that will then host some Nintendo DS sprite editor developments before this very blog spawns to bring me back to full activity.

Les anciens personnages se font un lifting. De nouveaux intervenants apparaissent... L'idée plaît. Un mini "web-comic" vient s'ajouter aux réalisations de la branche "demoscene" de PPP Team. Plus tard, ça tournera au blog et sur ce blog, on se dira que, quand-même, ce serait rigolo de se faire un Sprite Editor sur Nintendo DS .. la boucle est bouclée.





Friday, July 19, 2013

Bilou Origins

Je vous emmène dans le temps ... 20 ans en arrière. Je suis un gamin de 14 ans et je viens de terminer de programmer le niveau 2 de Calimero en EPBASIC. Cet après-midi-là, mon frère revient à la maison sur-excité: un nouveau gars dans sa classe -- Piek -- fait des jeux vidéos et de la musique techno. Il a assisté à une formidable démonstration des capacité de l'Amstrad CPC grâce auquel Piek a réalisé un jeu de plate-forme autour d'un personnage rondouillard nommé "bubule". La suite a déjà été racontée et va conduire à Bilou tel que nous le connaissons aujourd'hui.

One week ago, this was all that was left from the seminal 
CPC game that led to Bilou as we knew it.

Pour ma part, il m'aura fallu bien du temps avant d'entrer dans le grenier où Piek range son ordi. Et quand j'y arrive, il est trop tard: la cassette sur laquelle se trouvait le projet "Bubule" est irrémédiablement perdue. Je n'aurai donc de ce petit (?) jeu que les images que je m'étais construites dans ma tête. Une sorte de mélange entre Space Panic et Rick Dangerous avec les personnages 8x8 pixels que Piek avait retracé au marqueur pour me servir de base dans la conversion dans un jeu de labyrinthe pour CGA 4 couleurs.

Les choses auraient pu en rester là, mais la semaine dernière, Piek a repris son QBX.EXE et son notebook ... Cette fois, plus question d'une reprise d'un obscur jeu de kung-fu ... Cette fois, c'est ... [télécharger Bilou Origins.zip] !
Je clique ... je lance DOSBOX ... Un écran-titre digne de Giana Sisters plante le décor: tous les fameux monstres -- le sauteur, la boule rouge -- dont mon frère m'avait parlé sont au rendez vous.

Je monte l'émulation à 128000 cycles et j'appuie sur ENTER ...  

My friend Piek just sent me some QBX package named "Bilou Origins". 20 years later, at last, I'm able to get an idea of what was the first game starring the blue ball now known as "Bilou" that excited my brother so much back in time. Using the raw power of our modern computers to emulate scrolling in a BASIC that never supported such a thing, Pierrick used his natural abilty to simplify problems to provide a 4+1-levels (so far) trip into a world of nostalgia.



Simplest level editor. ENTER toggles cursors, SPACE edits.
 Le premier contact surprend. Un chateau façon Mario, des ponts, et un personnage qui ne s'arrête plus de courir quand on a appuyé sur la flèche vers l'avant. Tirant parti de son système de scrolling au maximum, Piek est parti dans un mode de jeu assez différent, sans échelles, où il faut enchainer les sauts proprement pour atteindre la fin du niveau.
A côté du jeu lui-même, un petit "MAP.BAS" me titille ... oui: c'est l'éditeur de niveau. Moins de 40 tuiles pour construire cette petite merveille de rétro-gaming.

While the CPC game was mostly flip-screen adventure, possibly drawing inspiration from Lode Runner, Bilou Origins feels more like a rush game, since releasing the arrow key doesn't mean Bilou stops running. You'll have to carefully air-control your jumps so that you clear those gaps between partly-bridged platforms that ultimately lead to the (spiky) yellow castle. Beware the purple jumper, that cannot be defeated, and the mind-changing green dude, who could turn back just when you expect him to keep moving straight ahead.


Piek calls the PPP Team to help ... new levels, tiles ... I hope they'll be at least 6 to come and provide their own 4 levels + 1 castle, so that the quest can be completed this summer and we can ship "Bilou Origins" for PCs


Alors que je galère pour donner vie au niveau imaginé par la suite sur DS, voici donc probablement le jeu-anniversaire ultime ... Donnez-nous les vacances pour y ajouter quelques petits trucs rigolos -- des boss, des power-ups, ce genre de choses -- et on vous laisse vous aussi découvrir "le tout premier Bilou, revenu d'entre les bad sectors".

Tuesday, June 25, 2013

7 ans!

Ça fait maintenant 7 ans que new Super Mario Bros a été annoncé, donc également 7 ans que j'ai attaqué réellement le développement sur DS. On est clairement à un autre rythme que pendant la période "PPP Team" de '93 à '97, mais je suis tenté de penser que le jeu vidéo s'est maintenant relativement affranchi des impressionnantes innovations techniques, même si -- comme pour le cinéma -- il restera des équipes pour qui la surenchère à coup de texelshading sera fondamentale. Une histoire originale et un gameplay réussi, c'est intemporel.

Donc je continue.

Et où en est-on ? À quelques lignes de code d'une démo d'un niveau dessiné en '93 qui prendrait enfin vie... avec des gommes qui rebondissent, des encriers qui crachent de l'encre, etc. À un outil qui devient confortable pour faire le type d'animation dont je rêvais avant de voir dans les démos de Rayman 1 tout le potentiel incroyable qu'il recelait. À une branche de la possibilité d'avoir des structures mobiles dans le niveau. Mais toujours du mauvais côté de la barrière polygonale de la 3D. Il faudra tôt ou tard que je la franchisse, si je veux que Bilou puisse construire des ponts en poussant des bouquins.

Il y a 6 ans, j'imaginais reprendre presque tels quels les niveaux et les monstres envisagés quand on étais ados. Maintenant, ils passent dans le grand chaudron du gameplay puis sont décantés au form-fits-function pour offrir quelque-chose de vraiment intéressant qui se démarque des "n-ième platformer où il faut récolter les items cachés".


Friday, March 29, 2013

Floating or non-floating ?

J'étais donc arrivé à vaincre les premiers défis techniques liés aux encriers et j'avais une animation assez convaincante. Suite à une demande de Lazycow, j'y ajoute une capture vidéo montrant les 2 "inkjets" qui bombardent Bilou à l'écran...

S'en est suivi une discussion assez animée sur pixelation qui est partie beaucoup plus vers les choix de gameplay que vers le côté "artistique" pur et dur, ce qui n'était pas forcément pour me déplaire.
Mais on touche à un élément "sensible": les encriers peuvent-ils ou non flotter dans les airs sans support apparent. Ce ne seraient pas les plate-formes mobiles les plus incongrues qu'on ait vu, mais ça représente un "décalage" par rapport à tout ce qu'un encrier est supposé pouvoir faire. Or, ça fait un moment que je me suis convaincu qu'il est primordial de faire en sorte que le monde virtuel dans lequel le jeu se déroule soit cohérent de façon à ce que le joueur y reste impliqué et qu'il continue à s'identifier au héros (fût-il une balle bleue :)

It's a fairly long story that all started on "way of the pixel" as Lazycow asked for the droplets to complete the inkjet animation. So I showed up a byzanz record of my on-going level and everyone stared at those floating inkers, suggesting that they rather feel ground-borne. But floating inkjets is a pretty well established design decision that has already been used in several maps. Still, I don't want the fiction to fall apart just because of some detail that looks too-odd-to-fit-the virtual world.

Quand Helm dit
I would never think to use them as platforms and even when I would figure it out I would say 'well... this is weird' and it would take me out of the game.
"Il ne me serait jamais venu à l'esprit de m'en servir comme plate-forme. Et si même j'avais fini par trouver, je me serais dit "c'est ... bizarre" et ça m'aurait ~sorti du jeu lui-même~".
La fin (entre ~) n'est qu'une traduction approximative, mais j'y lis une rupture du vortex reliant l'esprit du joueur à l'univers du jeu. Le genre de "glitch dans la matrice" qui fait que l'esprit se persuade qu'il est impossible qu'il soit dans la réalité. La frontière entre une bonne fiction et un délire où le lecteur ne parvient pas à rejoindre l'auteur et le regarde se bidonner tout seul.

Clairement, ça clashe. J'ai mis le temps pour re-penser à tout ça: les encriers-volants étaient un des premiers élément de gameplay que j'ai introduit moi-même quand j'ai commencé à faire du "level design" pour Bilou en 2007. Ils figurent sur la bannière de ce blog. Ce n'est pas rien. Mais oui, je suis le Grand Conteur de l'aventure (pardon pour les majuscules) et je peux trouver mieux que cette solution "peu chère" même si j'y suis émotionnellement attaché.

Quite some time ago, I planned and kept secret the addition of a "cork lid" being a sort of organic key that Bilou carries along to change the behaviour of inkjets. The idea is that the height Bilou could reach would be higher when he's using the lid. The ground-based and the airborne inkjet thus co-existed in level designs, with little attempted to harmonise that. Of course, it would still be possible to ride an inkjet with no lid, but that wouldn't throw you as high.

Parmi les solutions envisagées, il y avait la possibilité de faire en sorte que Bilou soit "propulsé" vers le haut en lieu et place de gouttes d'encre, s'il saute dans un des encriers. C'est une autre façon d'atteindre les hauteurs, et je pourrai donc l'exploiter à certains endroits où je retire un encrier-flottant-verticalement.

J'avais aussi prévu depuis un moment qu'on puisse rajouter un bouchon par-dessus un encrier, pour l'empècher de bombarder d'encre, mais aussi pour pouvoir être propulsé encore plus haut ...

Dans l'exemple "lancer le taille-crayon", je jouais sur le fait que Bilou arrivait dans un encrier pour motiver le fait qu'il lui était impossible d'emmener un taille-crayon. Celui-ci est facile à adapter: il me suffit de descendre un brin l'encrier (vide) de façon à ce qu'il flotte dans l'encre. Rien d'anormal ici.

A first use case featuring the inkjet was the "bridge" that brings Bilou to the blador-and-pencil area. Here, Inkjet is different from any platform by the fact that Bilou need his hands to grab the inkjet and avoid falling. Therefore, he cannot bring a dumblador along. It's fairly easy to adjust, though: an empty inkjet could easily float in the ink, so I just need to raise the level of the ink swamp by one tile and I'm done.

Le "niveau de rémi" me bloque beaucoup plus. Je voulais combiner les 2 propriétés du taille-crayon (solide et transporteur) pour lui faire bloquer l'entrée d'un passage vers la gauche. Cette entrée n'aurait été débloquée qu'une fois l'encrier en route vers le haut (avec Bilou à son bord). Seulement voilà: une fois engagé dans le conduit, pas moyen de sortir de l'encrier. On devra pour ce faire attendre d'être arrivé à l'étage au-dessus, et on aura donc à combiner un bon timing tout en évitant Bangbash et la rangée de crayons pour entrer  dans le passage sans pour autant se faire écrabouiller par l'encrier qui redescend.

My nephew-drawn level brings a tougher challenge. The inkjet here is moving vertically, only when triggered by Bilou's landing. When idle, it blocks the way to a secret room. Without that room, Plummet -- the scribble feather -- could have been used, but I specially designed around the presence of a moving block that push the player into a narrow vertical pipe. You can't escape that pipe until the inkjet has reached the ground level, with a Bangbash to take care of.

S'il n'y avait pas eu ce passage secret, j'aurais pu faire appel à Plummet, la plume qui accompagne l'encrier bougon qui sert d'introduction à "Deep Ink Pit" Mais suspendu à une plume, on peut se détacher n'importe quand ...

Dans un autre essai de niveau, j'avais mélangé encriers et livres-écrabouilleurs pour forcer le joueur à ajuster son timing plutôt que de foncer toujours plus vite en avant. Ici aussi, le fait que Inkjet soit solide oblige de correctement calculer son coup pour ne pas tomber dans les crayons.
Une éponge qui monte et descend devrait pouvoir reprendre le rôle, cela dit.

Another timed challenge that used inkjet moving up and down to force you dodging the smashing book rather than rushing forward. I guess Spongebob could easily be used instead, here.

Ici, image d'archive (excusez la qualité moyenne du scan): le premier niveau de la school zone dessiné par Piet avec deux encriers qui montent et qui descendent. Ils ont pour rôle de mettre suffisament la pression au joueur pour qu'il soit tenté de minimiser les risques et du coup "loupe" la clé nécessaire pour quitter le niveau. Mais vu leur côté ascenceur, on pourra si nécessaire refaire un essai en faisant demi-tour une fois l'erreur constatée.

And last but not least, here comes ancient scroll where my brother depicted the first school zone level. First inkjet ever, and they weren't floating on their own, but were rather standing on "magically floating erasers" ... not much better. They were used to intimidate the player and make her miss the key among the bonuses, while offering the option to move back upwards and eventually grab it. Would it work if I had some bouncing erasers on the ground with the inkjets bopping up and down ? it's fairly high ...  

Les encriers sont-ils sur des gommes volantes dans le dessin de Piet ? sans doute. Est-ce une meilleure idée ? J'en doute.
Assez rapidement j'ai voulu "habiller" ces deux encriers, par exemple avec une grosse poulie et des cables: ils se retrouvent dans le matériel prévu pour le cours de physique et montent/descendent accrochés l'un à l'autre. Sauf que si c'était réellement le cas, Bilou devrait pouvoir s'accrocher lui aussi à la ficelle, non?

Ce n'est qu'en commençant ce texte et en voyant les lattes côte à côte que mon cerveaux embrumé par mes 34 ans tout frais à suggérer l'interprétation de "ce sont des flacons du cours de chimie accrochés à ces saloperies de statifs universels gradués, et ils sont maintenus par des pinces qui montent et qui descendent" ...

I was staring at those two-decade-old inkjets and suddenly, the rulers started looking like those graduated rails that the chemistry teacher used to build goldberg machines featuring erlenmeyers and test tubes. They would perfectly grip on an inkjet, wouldn't they ? you can move the grips up and down at will, too ... and the rail itself is too slippery, so Bilou cannot grab it on his own! Eurèka!

J'ai enfin fini les corrections des TP de mes étudiants, donc je chope un microfin et je fais un test ... Hmm ^_^
Oui, ça j'aime beaucoup mieux. ça ne sera pas utilisable partout, mais des classes de chimie, il y en a aussi. La tige sur laquelle la pince est montée est suffisamment glissante et large pour qu'intuitivement on puisse admettre que Bilou ne parvient pas à s'en servir seule. Reste à ajuster la perspective pour qu'il n'y ait pas trop "d'espace mort" entre l'encrier et la tige (qui fait office de mur).

Je crois qu'on y est. Coder ça, ce sera l'affaire de quelques pixels supplémentaires ... rien à voir avec "la plume en 3D" ou "une grosse poulie avec des cordes et tout ^_^



Pendant ce temps, sur Way of the Pixel, ça ne chôme pas. Chacun y va de sa petite proposition.

J'aime assez bien l'approche d'Ymedron (ci-contre) pour un "passage imposé" où il faut ajouter un bouchon pour passer. C'était le genre de petites scribouilles que Julien, Piet où un autre membre de PPP Team m'aurait suggéré il y a 20 ans quand le projet venait de commencer. On aurait pu rêver meilleur cadeau d'anniversaire ? ^_^

Habemus Atramentarium. And thanks to Ymedron's alternate solution, I now even have the perfect scenario for introducing the cork lid without involving some boring text-based tutorial ^_^.

Saturday, March 02, 2013

Les années creuses.

2002, there isn't much Bilou development: Clicker is taking all my development time. However, after I found a book about OpenGL and used it to render the Clicker logo, I apparently decided to try and write some code for a OpenGL version of Bilou ... It is more an empty shell than anything else, but it shows that Bilou wasn't completely forgotten.

Après avoir un peu potassé OpenGL, je m'étais tout d'un coup mis en tête de tenter une conversion 3D de Bilou, sur base de mes cogitations "Ultimate Game Maker". Ça n'a malheureusement été qu'une coquille vide, mes compétences en C++ à l'époque et l'absence de modèle 3D pour mes personnages ayant tué le projet dans l'oeuf.

But the greenzone isn't very convenient to render in 3D. The idea re-appears in 2004, however, with my discovery of the OGRE framework. This time, I directly hop to the School Zone, which should be more modeler-friendly. Still, Bilou would be pretty difficult to animate as it is made of deformable material.

Pourtant, l'idée réapparaît en 2004, après la découverte du projet "OGRE3D". Cette fois, je passe directement à la School Zone, plus propice au rendu 3D. Mais de nouveau coup dans l'eau: le côté "déformable" de Bilou (et des pieds/mains des autres personnages) me donne des migraines.

I guess I could have pursued with the comic instead, but I actually was stuck with the scenario. Even on the mini-strip that was disconnected from the storyline growing so far, featuring Recto and Verso, two hot-tempered erasers, I couldn't find a suitable conclusion ^^".

Et côté BD, me demandez-vous ? Eh bien, j'ai tenté le passage du petit carnet quadrillé au bristol en 2002 (suivant le conseil de Spoon). Jolis dessins, sans aucun doute, encore qu'au départ le bristol était un rien intimidant. Malheureusement, c'est le blocage scénaristique. Bilou voit sa destinée révélée (sauver la planète en ré-activant les Magic Stones -- suivant le scénario prévu pour la "version GBA" du jeu). Bilou et Bouli sont séparés, le temps pour Bilou d'emprunter le "sentier de feu" pour rejoindre le "deuxième monde"... Puis je coince.

Je tente du coup un petit "hors-série" avec les gommes "recto et verso", et leur pont brisé ... sauf que je n'ai aucune idée de comment réparer le pont ni comment introduire la "chute" de ce hors-série. Un coup dans l'eau.

Wednesday, January 04, 2012

symbol 240,60,126,255,254,255,126,60,62

Premier passage de Pierrick chez moi, en 1993. Il attrape une feuille au hasard sur mon bureau pour me montrer comment il réalise des personnages sur son Amstrad CPC, à l'aide de la commande "SYMBOL" qui reprogramme les caractères graphiques. La feuille était en réalité le dos du plan du premier niveau de Calimero ... ce petit croquis a donc voyagé dans le temps jusqu'en 2012 ^_^

Heh. That one survived too, on the back of a level map that my brother had with him at school: the bubble-shaped character that Pierrick used as hero for small flip-screen platformers on his CPC. I've long time wished that reprogramming characters on the C64 basic was as easy as SYMBOL x,... but even for sprites, it was a PEEK/POKE nightmare, so almost all my C64 games attempts were merely using PETSCII.

Celà se passe sans doutelégèrement après que mon frère ait dessiné la page d'introduction de "Bubule Warrior", sans doute parce que Pierrick dessine depuis longtemps des personnages tous ronds autour de ses feuilles de cours.

Wednesday, September 14, 2011

Animer Bilou

Petite image d'archive, pour meubler un petit peu pendant que je tripatouille les entrailles de runme. Entre mes notes de philo, je gribouillais déjà en '96 des animations complète de Bilou à réintégrer dans le jeu QuickBasic. A partir de là, je pouvais identifier les positions à dessiner pour le "corps" dans mon Sprite Editor de l'époque, puis définir les coordonnées des 2 mains et des 4 morceaux de pieds à chaque étape. Bien moins agréable qu'avec AnimEDS, hein ?
Côté animation proprement dite, l'influence de Fury of the Furries a été déterminante.

I retrieved last week-end the full set of hand-drawn animations that were used to produce the QBasic version of Bilou platformer game... I'm sure you can feel the "Fury of the Furries" inspiration here. That was later used to plot the various (but restricted) 10x10 sprites for Bilou's body in my custom Sprite Editor, and then to write down the code that set the position of hands and feet ... 6 coordinates pair for every move. Sure it would have been easier if I had the AnimEDS as well by then ^_^

Friday, July 22, 2011

Futurs pixel-artistes: ne vous découragez pas

Ca me fait toujours sourire quand on me dit que je "dessine bien". J'aime ça, mais faites un tour sur pixelation ou deviant-art, et vous verrez que "dessiner bien", c'est autre chose. Voyons un peu ce que ça donnait en '96

Une vieille (~1997) tentative d'amélioration du graphisme de Bilou. Je venais donc de finir mon "modplayer" 6 pistes en assembleur, j'avais racheté à Pascal son scanner Logitech et je m'attaquais à convertir le nouveau look de la "green zone" en pixels "prêts à l'emploi". Mes nouvelles connaissances sur le mode X aurait dû fournir le dernier élément pour faire de Bilou un jeu MS-DOS capable de rivaliser (hum hum ^^") avec Rayman "himself".

Sauf que n'ayant pas une équipe de 100 personnes avec moi, j'avais encore beaucoup à faire.

Here's an old file dating back from '97 where I saved the steps to convert the output of a scaled-down scan into pixels "ready for integration in a game". As you can see guys, don't feel disappointed if your pixel art is not yet on par with your favourite artist. Mine wasn't either (and still isn't, by a large extent). I'm quite glad I had already learnt that one should not use black artlines at pixel-art scale. A dark color is much better. I hadn't learnt yet that hue shift is the key to nice colours, and I was using "plain value ramps" (where you build linear gradients from a saturated color towards white and black, making everything just look like plastic). And of course, I was overusing automated gradients. That may have saved me from pillow-shading, but it makes the petal looks like spheres rather than having the curve they deserve.

Il y a pas mal d'erreurs de débutants dans ces graphismes. Sur-utilisation des dégradés automatiques de Deluxe Paint qui rajoute une texture granuleuse à tout (que ce soit le bienvenu ou non) et aucun "hue shift" : chaque dégradé part d'une couleur et en diminue linéairement les composantes RVB vers le noir. Point. Pour le jaune et le vert, l'effet est particulièrement raté.
En revanche, déjà là, j'avais appris à fuir comme la peste les "art lines en noir", quitte à refaire entièrement le contour. à la main. Il faut dire que devoir supporter "Skunny the Wild West" m'a ouvert les yeux sur l'horreur que ça donne au final. Et j'ai évité le "pillow shading". C'est toujours ça de pris.

Sunday, January 23, 2011

La (old-)school zone

Après "Apple Assault", il y a de très fortes chances que le prochain "mini-jeu" de Bilou soit basé dans la School zone, ce curieux temple de la connaissance imaginé par Pierrick H. J'en ai déjà présenté pas mal d'éléments aux débuts de ce blog, vu que c'est dans la school zone que se plaçait le mini-récit qui m'a propulsé dans la blogosphère en 2006.

Précédent le premier Rayman de quelques mois, la school zone doit sans doute une bonne part de son inspiration à Zool, où elle n'aurait certainement pas fait tache entre le monde musical et le monde des outils.

Above you, the seminal sketches of Pierrick who suddenly decided to turn our daily school into a deathly zone where supplies are turned into monsters. Just below, a "pixelated" rendition some weeks later in '94. You'll note that there was no Rayman screenshot to be seen by that time. But there were many other games where the school zone could draw inspiration from. Zool is clearly one of them, and those school supplies would have perfectly fit between the musical and the toolbox worlds.

These supplies account for most of the ennemies I still plan for the DS version of Bilou (only BangBash is missing), although the movement patterns sketched by Pierrick have been strongly revised.

Le crayon, tout d'abord, a été promu pendat, milicien du désordre imposé par le boss. A noter que celà ne s'applique qu'aux crayons noirs, à mine dure. Les crayons de couleurs, à mine plus tendre, semblent tout à fait sympathique, bien que ne parlant pas.

The major drift came out while drawing the mini-comic: pencils turned into an organised army, under the control of the Big Book. Other encounters, such as the erasers, may be hot-headed, but they do not directly engage the fight.

Les gommes sauteuses sont restées, bien qu'ayant tendance aussi à faire de longues siestes ... un peu inspirées de certains blorks de Kid Paddle. Elles ne sont du camp de personne, et les pendats ont bien compris qu'il vallait mieux les éviter.

Quant aux encriers (maintenant 'inkjet'), s'ils sont si irritable, c'est simplement que ceux que l'on rencontre à l'extérieur tu Temple de l'Encre en sont les gardiens. Ils ne sont pas là pour rigoler, contrairement aux jeunes novices, qui eux, sont plutôt facétieux. Ils ont aussi acquis la faculté de flotter dans les airs (et donc utiles comme plate-forme mobiles) et peuvent projeter ce qui boucherait leur orifice au loin par la seule pression de leur encre. C'est de loin le personnage dont j'ai le plus ajusté le comportement.

By blogging further, many supplies started needing a "code name". Inkjets and spongebop name reflect their ability to serve as springs and moving platforms, respectively. This is somehow an attempt to understand what made the Mario series so interesting: interplay with monsters that create both counterpoint (the "tool" you need to solve a situation is hazardous) and deepness (you get richer interaction by combining sequence of simple actions).

Many have argued that the look of the inkjets doesn't invite interactions. This is somewhat deliberate: they are the guardians of the area and you are a stranger. They have no reason to show friendly although you have a common ennemy (the pendats). Hopefully, all you need to get help from them is to hop and bop on their top. Since this is how one dispatch ennemies, it should still allow the player to discover what to do.

L'éponge elle aussi a vu son comportement sérieusement remanié pour devenir ""Bop l'éponge". Pendue à son fil comme une araignée, pouvant flotter sur l'encre, elle joue à la fois le rôle de paratroopa et de plate-forme temporaire. Clairement, je veux construire un moteur de jeu riche en interactions là où les mouvements prévus pour par Pierrick étaient destinés à du BASIC en VGA.

Dumblador -- le taille crayon -- perd la faculté de se déplacer dans les airs: il sera plus utile comme projectile "vivant" (cf. les ShyGuy de Yoshi's Island) pour se débarasser de certains pendats trop encombrants. Une "clé organique", dirait Kirby Kid.

Le gros-livre-écraseur est toujours là, et son rictus lui vaut le surnom de "SquareRoot". Il serait un des professeurs de cet étrange école dont le caractère s'est empiré au point qu'il veuille dominer le monde. D'autres livres de ses collègues (notamment le Pr. Harraps) semblent heureusement avoir échappé à ce sort.

Some more drawing of the "big book" gave him the nick-name "Square Root", related to his eyebrows... And some more DS playing suggested a pre-battle level where one would have to keep climbing shelves while Sqrt follows you, causing shakes everytime it hits the ground, causing more supplies to fall down at you. That could be an interesting alternative to "Deep ink pit", btw.

Enfin, la "school zone" s'est aussi enrichie de PnJ tels que les tampons-encreurs, BangBash (totalement lié à une tentative de passer le jeu en 3D), et on y voit parfois de curieux Pr. Brush ou Pr. Atlas.