Showing posts with label boss. Show all posts
Showing posts with label boss. Show all posts

Thursday, May 25, 2023

Battle Plan : Big Caterpillar

Maybe these should stay secret. Maybe I should make sure my blog doesn't spoil the game by having too much "strategy guide" items in it. Who knows ... Anyway, here's a few ideas on how being able to throw things or having the Big Punch power-up would affect the fight.

It keeps the 'crawl' and the 'tail attack' of the BASIC version. It keeps the 'changing target' where there's one segment to hit, and that's the one where the magic stone currently is. It simplifies the fight by assuming we're good hitting *the segment with the stone* rather than the one next to it "so that it pushes the stone in the right direction".

J'avoue, ça fait un moment que j'hésite à les poster, celles-là. Ce serait moins drôle que mon blog se transforme en soluce du jeu avant même qu'on ne puisse l'essayer, non ? Mais bon, en même temps, j'ai besoin de pouvoir me confronter à mes idées, les trier, les rassembler... et les cahiers à points ne sont pas forcément l'idéal pour ça.

Voilà donc mes notes pour le face-à-face Bilou/Big Caterpillar. Le seul boss qui ait jamais été codé dans la version BASIC. Je conserve la manière dont il avance en rampant sur le sol et son attaque "coup de queue". Comme je l'avais déjà dit, le fait que Bilou puisse depuis SchoolRush lancer des objets change la donne. Plus question de demander de frapper toujours la tête ou la queue. Mais si on doit viser un segment en particulier, il faut que ce soit évident pour le joueur. J'avais déjà envisagé d'utiliser la gemme magique comme illustration pour ça, mais avec un système tordu où il aurait fallu frapper le segment *suivant* la gemme pour la forcer à avancer, frapper le segment précédent l'ayant au contraire fait reculer. Plus rien de ce genre: frapper la gemme la fera avancer, frapper ailleurs sera sans effet.

Then I started trying to bring all that into one single state machine. The goal was to ensure actions taken by the boss would make sense and not lead to tricky corner cases. For instance, the 'tail attack' should only be performed if there's enough room in front of the boss so that it does not attack through the edge of the arena. (as a bonus, that also means that it won't do that attack in a case where that would 'trap' Bilou in a situation where taking damage is inevitable). But then there's a new 'coil' attack that is completely horizontal.

Mais à côté des "idées de gameplay", j'ai voulu regarder si je parvenais à rassembler tout ça en un comportement cohérent. A quel moment faire quelle attaque pour éviter que la moitié du boss ne se retrouve dans un arbre ou qu'une des attaques devienne complètement imparable parce que le joueur n'a pas la marge de manoeuvre nécessaire. C'est comme ça qu'on se retrouve avec une attaque supplémentaire, horizontale et dans laquelle le boss s'assomme lui-même (ou écrase Bilou) quand il arrive trop près des murs.

Friday, May 12, 2023

using between

 

Bon, imaginer un gameplay sympa avec des ponts, c'est une chose. Mais comment programmer le comportement de ce genre de ponts au fait ? hein ? La bonne nouvelle, c'est qu'on a re-fait un passage dans une autre pleine de jeu avec encore plus de ponts, de cordes, et j'en passerelles et des meilleures. Une image comme ci-dessus, par exemple, suggère que Bilou est nettement plus massif que le reste des rondins, sans quoi il ne perturberait pas autant la répartition des charges sur la corde.

So, I now have fun ideas of how to use bridges in Bilou: Dreamland. Sounds like it could be a good idea to also figure out how I'm going to implement such things with my game engine... One thing is almost obvious: the bridge will be made of a set of independent-but-interacting game objects. I'm not going to try and make it one big animated object. If I did, I'd have to manually adjust collision boxes for segments for every frame. That's not what it is for. Same observation applied to the Green Zone boss: Big Caterpillar. And much like the bridge, Big Caterpillar is made of segments that must be able to interact to give the illusion of a single object.

Mais revenons un cran en arrière, voulez-vous ? Alors que J.L.N était face à son premier mini-boss dans Minish Cap, je me suis mis à prendre quelques notes sur le type de contrôleurs qu'il faudrait ajouter à mon moteur de jeu pour pouvoir faire quelque-chose de ce genre. Puis, sur la lancée, à ce que je pouvais en tirer comme conclusions pour la réalisation de Big Caterpillar, le boss de la Green Zone.

Il y a déjà une chose que le moteur de jeu de School Rush peut faire: c'est attacher un Gob (objet mobile fait de sprite(s)) à un autre, et utiliser sa position dans certains contrôleurs. C'est ainsi p.ex. que la chauve-souris-baie se dirige vers Bilou. ou que SpongeBop sait se balancer au bout d'un clou. C'est encore comme ça qu'on peut transporter un dumblador et que ses pieds le suivent à la trace. Mais dans tous ces exemples, on a un seul objet de référence et un objet référent. Quand il y a plusieurs référents (3 BerryBats) pour un même objet de référence (Bilou), ils s'ignorent les uns les autres. Or, pour permettre de positionner les segments internes de Big Caterpillar entre sa tête et sa queue, il faut les coordonnées des deux autres. C'est forcé :P

So since I've just been studying a bit how BC could be implemented, let's see what it can teach us. The game engine can attach one Gob to another one. That's how SpongeBop swings and how BerryBat aim at their target. It is quite clear that those "attach" links will play a role in animating BC, but the question is "who should be attach with whom, and why". When BC will be crawling, for instance, it is easy to make his head move forward during the "expanse" phase and then make the tail move forward (while the head is stopped) in the "contract" phase. As the distance between head and tail shrinks or grows, the location of other segments should adjust.

It is quite easy to find math expression for those locations based on head and tail coordinates. Unfortunately, that'd require *two* attach links per segment, and the game engine only handle one (including in expression opcodes to attach and detach things when collisions occur). I either have to revise the whole engine and break the assumption that One Attach Link Shall Be Enough For Everybody, or I have to come up with some clever way out. That way out could be how a between(...) controller could use not only the attached gob as a reference, but also *the one to which that is attached*. I.e. segments are all attached to the tail, tail is attached to the head and when segment is processed, it reads segment.attach == tail and tail.attach == head to get the data it needs.

Mais gérer deux pointeurs (un "avant" et un "arrière"), ça compliquerait méchamment les choses. Entre autres, ça rendrait difficile le choix de 'qui doit bouger le premier", et ça demanderait une série de bytecodes supplémentaires pour les opérations "attache, détache" des expressions de la machine d'état (que j'aurais cru plus nombreuses. [ ] à vérifier).

Let's see whether that can be enough. I also long for the opportunity to have swinging vines in some Bilou game. They could also be made of chained Gob through attach links. At least when they're hanging free. But as soon as Bilou is using them, I'd like the rules to change. Now Bilou's position dictates how one part of the vine behaves because of tension. If we can use collision to re-write attachments when that happens, that turns into a job for between(...) again.

Retournons vers le pont en faisant une halte à une autre mécanique que je tiens à faire apparaître dans Dreamlands: pouvoir s'accrocher à des trucs qui pendent. J'aimerais depuis longtemps que ce genre d'objet dans Bilou soit au moins aussi bien animé que dans le remake de Pharao's Curse par Lazycow. ce qui suppose

  • un mouvement ondulant lorsque la liane est livrée à elle-même (pas de balancé excessif à la DKC)
  • une certaine raideur quand Bilou s'y accroche (pas question de passer en mode 'corde ninja')
  • Si Bilou n'est pas au bout de la corde, l'extrémité libre continue d'agir librement alors que la moitié tendue est entièrement contrainte par la position de Bilou et celle du point d'attache.

Si j'essaie de dessiner des petites flèches rouges sur ce schéma pour représenter "qui a besoin de connaître la position de qui", on voit que la corde devra réorganiser ces liens quand elle passe d'un "état" à l'autre. Normalement, c'est jouable avec des collision. Et ça confirme mon intuition construite avec Big Caterpillar: le jeu, c'est d'avoir les deux points de référence (début et fin) qui sont directement liés l'un à l'autre (fin->attach == debut) et un contrôleur between() qui suit segment->attach pour trouver fin puis fin->attach pour avoir début et détermine la position-cible à partir des positions de fin et début.

Et pour le pont ? Va-t-il forcément falloir deux liens par bûche ? Je crois que non, mais ça supposera de faire apparaître à la volée deux objets "coincés" par collision sous la bûche qui a reçu un poids, chacun étant la fin d'une chaîne qui remonte jusqu'à un des points d'attache du pont. Et donc que la largeur maximale pour les zones de collision déterminera la largeur maximale du pont.

In Theory, it should be possible to do something similar with the bridge, at least to get a nice alignment of the logs when the force applied is so strong that logs' weights becomes neglectible in comparison. Yet, it's obvious there will be two chains here, both using the same "origin" location (the log on which the force is applied). I thought it could be fixed by creating temporarily two GOBs (red dashes) that are pushed by a collision box of the weighted log (red hatching), each being attached to either side of the bridge (red circles). "slave" logs that must just align would then attach to the dashed-GOB that's on their side (green arrows). But maybe we could even do it without the dashed-GOBs if sides attached to the weighted log and not the other way round.

Saturday, February 19, 2022

Big Caterpillar

There has to be boss fights in Bilou Dreamland. I cannot work around that: my son won't let me do with a puzzle part where you're trying to avoid sting-like and claw-like hazard and pretend that 'yeah, the boss was behind the wall. You made it!".

The first encounter in-game will have to be against Big Caterpillar, holder of the Growth Stone, one of the eldest design for the game. Its design hasn't evolved that much over the years: it still should have some reds and greens. It still should look angry and crawl towards Bilou to squash him. But I'm wondering how it should best attack and what should be its weakest points. I might want to make its overall shape look more like the "chenillard" monster that my brother used here and there in his original levels.

Bon, pour ce prochain jeu, pas d'échappatoire: il faudra des Boss. Pour le premier qu'on rencontrera, au moins, j'ai de la matière. Depuis le tout début du personnage, il y a des croquis de chenilles géantes. Il a même eu droit à sa bande son! C'est dire ! ... Et il faudra qu'on les combatte. Je ne m'en sortirai pas avec une course-poursuite ou une salle-super-puzzle pleine de pinces qui sortent des murs. J.L.N voudra un affrontement en bonne et dûe forme! Alors autant ne pas attendre la dernière minute pour s'y mettre.

In the comic much like in the BASIC game, you knock the boss down by stomping its head. Various attacks would protect the head with the rest of the body, forcing you to wait for an opening, and when you eventually land your stomp, the boss turns red for some time and can't be attacked again before it cools down.

But as you noted, Big Caterpillar has sorts of bull horns. If form fits function, that means you should rather try to avoid jumping on its head. I need to find something else. Hours spent fighting against Moldorm in '90s Legend of Zelda titles immediately suggest aiming for the tail, which would be fine if the only way you have to attack is jumping. But Bilou can also throw things, and aiming for a grounded target will likely not be a very interesting task. I'd like to have something more subtle.

Par contre, ça ne donne pas forcément une réponse aux deux questions critiques: comment attaque-t-il et comment fait-on baisser sa barre de vie ? Dans la BD (ou le combat dure royalement deux pages) et dans le jeu BASIC, le point-faible de Big Caterpillar, c'est sa tête. Sauf que depuis la BD, il a chopé des espèce de cornes de taureau, et donc c'est le signe pour les joueurs de ne pas se risquer à lui tomber dessus.

Quand j'ai voulu proposer un nouveau design pour le "chenillard" (une monstre figurant dans les premiers niveaux dessinés par mon frère, sans nul doute inspiré du monstre-chenille de la Marble Zone), j'ai suivi mon instinct de chevalier d'Hyrule et j'ai mis son point faible sur la queue: taper sur sa tête ne sert à rien d'autre qu'à l'énerver. Ça ne marchait pas trop mal tant qu'on limite les attaques au saut, mais après School Rush, Bilou a acquis assez définitivement la possibilité de lancer des ennemis à la figure d'autres ennemis. On ne va pas revenir là-dessus. Comme je prévois de permettre à Big Caterpillar de se dresser façon Pokey avant d'attaquer, ça rend son point faible très vulnérable à un lancer de pomme pépère depuis le sol. Je dois cogiter un peu tout ça, donc.

When it comes to the 'look', Big Caterpillar depicted in the comic isn't very refined. Rough clay balls of alternate shade and only then a horned head. But that was years before 'bubble bats' turned into 'berry bats' ... And a stunning piece of art by Franek last year made me realize that my boss could look gorgeous if I tried to make it made of berries too.

I'll have to try tonight and see whether I can come with something along these lines...

Reste le look. Celui de la BD était très générique. Celui du jeu BASIC tout autant. On aurait pu affronter une chenille faite de boules de plasticine verte que ça n'aurait pas fait une grosse différence. Mais ça, c'était avant l'introduction des berrybats (ou, comme J.L.N aime à les appeler, les chauves-souris-baies :D). Pourquoi du coup ne pas essaier de faire comme si notre boss-chenille était lui aussi fait de fruits vivants ?

Friday, December 31, 2021

Dreamland: on fait le point

 La deuxième année de développement de "Bilou Dream Land" tire à sa fin. Il n'y a pas encore de nouvelle maps, mais je pense que les outils sont maintenant prêts à l'emploi.

Ce qui n'était qu'un brouillon avec quelques notes est maintenant une démo exécutable sur DS. Bugguée, certes. Incomplète, tout à fait, mais une démo tout de même. Je me donne l'année 2022 pour continuer d'ajouter des mécaniques de jeu dans ces trois pièces (branches rebondissantes, de l'eau où on nage, des plate-formes mobiles et des écrabouilleurs pour la pyramide, etc). Après 2022, il commencera à être temps de construire les niveaux eux-même avec tout ça, et de réfléchir à la technique pour faire les boss.

Au niveau du contenu du jeu, j'ai un premier projet de niveau dans la pyramide (depuis Aout) -- gardé au secret, évidemment -- et la zone-montagne commence à se dessiner peu à peu. Le "goomba-like" et les "bricks-like" sont venus compléter le bestiaire de la pyramide: je ne devrais plus avoir besoin de rien de ce côté-là. Ce qu'il me faut maintenant, c'est convertir tout ce petit monde en pixels.

Well, why not swapping the years with a flash back on what has been achieved. I almost did it last year. With 2021 closing, it's been 2 full years working on my "Bilou Dreamland" objective. The cornerstone of the year was introducing the "3 rooms" milestone. I'm proud to announce that as of today, that milestone sketched in March is now a demo, of 3 interactive environment packed into one (huge -- 2.7MB) .nds with swapping songs and shared contents for Bilou.

Beyond those got-them-working steps done, I've got most of the monster design for the Pyramid zone covered ... and starting to get idea for the final "Peaks zone". So stay tuned: 2022 will be the year for implementing all those fancy mechanics within the 3 rooms before I start doing full-fledged levels. Maybe I'll even be able to prototype the NPCs.

Il y aura encore eu quelques gros bug-de-murs pendant l'année, mais tout semble indiquer que Bilou supporte convenablement son nouvel environnement, maintenant. En tout cas, on peut essayer les maps de J.L.N sans devoir redémarrer à tout les coins de couloirs.

Euh ... donc en fait ... mise à jour de la Démo.

Edit: J.L.N me rappelle qu'il y aura des boss en plus des 4 mondes. J'imagine que mon prochain milestone (en plus de remplir ces salles de tests), ce sera de faire un proof-of-concept avec au moins un boss. N'importe lequel.


Friday, April 02, 2021

Ma première forteresse.

On est toujours dans Badman 2, mais cette fois après que Piek m'ait proposé de faire un boss. Les possibilités du GameMaker étant ce qu'elles sont, le même ennemi 'boss' va être ré-affronté à 6 reprises dans des 'arènes' de plus en plus exigeantes. à chaque fois, il nous livre une clé qui permet d'ouvrir la 'porte-ours' rouge suivante.

Ce qui m'intéresse le plus, aujourd'hui, ce sont les 'mini-challenges' placés entre les arènes. Le premier fait appel à la mécanique 'pick up' utilisée jusqu'ici pour se saisir de power-ups, mais qu'il faudra utiliser pour ramasser l'échelle dans son inventaire et ensuite la déposer sur un autre bloc.

L'échelle est simplement un bloc sans gravitation, ça aurait pu être utilisé à plus d'endroit dans le jeu, mais ça n'a rien à voir avec le gameplay run-and-gun du reste de Badman.

Badman 2 could have been the game where I designed my first level-with-a-Boss: the badboy Burner. We'll meet him 6 times in the level, everytime in an arena that's a bit more difficult to survive than the previous one. You can see them in the top row of the level map. But let's focus on the trials we'll encounter in-between. The first one is just a tutorial on how to use the 'ladder' pick-up block (well, it'd have been a tutorial if you'd had any hint that you can pick that up, and not only the power-ups like the badarang)

Le deuxième passage fait appel à une variante d'échelle qu'on emporte pas. C'est dessiné comme des chaînes, mais en réalité, ce sont juste des emplacements où il n'y a pas de gravité. Si on parvient à y arrêter Badman, il aura l'air de marcher dans le vide.

Le deuxième mécanisme "unique" de ce niveau, ce sont les blocs qui rentrent et sortent du décor. Des plate-formes temporaires, en somme, qui ont été introduites dans le premier écran (pour récupérer de Badarang), puis servent de 'porte-temporisatrice' après le premier boss, mais là, on va commencer à les utiliser comme un vrai challenge, avec une alternance entre deux position de plate-formes qui nécessiteront de bien synchroniser ses sauts. (Bon, il y a 6 à 10 étapes intermédiaires de 'fade' où les plate-formes sont solides simultanément, donc ça reste gentil par rapport aux arbres de Gris).

C'est bon ? c'est bien rentré ? parce que juste après, je vous ai mis un loooong pont par-dessus les pics qui utilise une série de blocs disparaissant les uns après les autres. Il faudra être rapide et ne pas hésiter.

The ladder is pretty minimalist in RSD game-maker: it's simply a block where gravity does not apply. But it gave me the idea to draw 'hanging chains' that area also just gravity-less tiles. I guess navigating them with Badman's moves is closer to a bonus room (if there had been bonuses) than to a trial room.

The next one is the first real challenge, with blocks that fade in and out. Not that it will really stress your dexterity and timing skills, since both fading in and fading out blocks are simultaneously solid during the whole (fairly slow) animation. But immediately after, you'll get a super-long bridge of such blocks where you'd better ne quick (=jump) and steadfast if you want to make it to the final door.

And while we're in the 'bridge over spikes' theme, the next one uses falling platforms. That one is shorter, but the falling platforms are a side-effect of gamemaker's collision rules and tends to bounce you or let you fall through them.

Et puisqu'on y est, vu que j'avais découvert comment faire des plate-formes qui tombent dans le niveau précédent, bin je refais un deuxième long pont (moins, quand même) avec ces fameuses plate-formes qui croulent. (et qui sont peu fiables avec le moteur du RSD Game-Maker: on peut facilement passer à travers ou se faire repousser par le bord d'une d'elles

And then the pace changes, with the next transition being more a 'delevator' than a trial. Blocks are fading in and out, and let you slowly fall from cell to cell. There's nothing you can do to rush it.

The final trial will be much harder, with one-block fading mini-platforms. Badman's jump height is limited, though (2 blocks) so don't expect much variety here like having to move backwards or so.

Une fois n'est pas coutume, après ce deuxième pont (et son boss), un peu de temporisation avec les blocs-temporaires qui nous font une sorte d'échelle de descente où on a rien d'autre à faire que d'attendre.

Et après encore un boss, une petite échelle de plus, une autre chaîne et on passe sur l'incontournable série de mini-plate-formes (un bloc) qui s'effacent l'une après l'autre.

(bon, avec un maximum de 2 blocs de haut pour les sauts de Badman, la variété de ce passage reste limitée).
 



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.

Monday, November 30, 2009

With Great Powers ...

As I was reviving the idea of a full Bilou game, a few years ago, it became obvious that the "super-powers" we designed initially weren't very good gameplay-wise. The original game design from Bilou was that every defeated boss let you recover a "magic stone" that gives Bilou an extra ability that you can use at any time if you collected enough "magical bonuses". Some part of the level (usually containing 1UPs or similar bonuses) could only be explored on a second (or Nth) pass when you obtained more powers than the one you've got initially.
Les super-pouvoirs que Bilou reçoit en battant les boss étaient un des éléments déterminant du "game design" de Bilou au début du projet, en '94. Avec le recul, il ne reste pas grand-chose de la liste originale qui me paraisse toujours approprié. En particulier, l'idée qu'ils permettraient de revisiter le monde 1 pour y trouver des 1UP cachés en volant ou en nageant ne me séduit plus depuis que j'ai du faire la chasse aux electoons dans Rayman 1.

By that time (just before Rayman came out on the PSX), we though it was a brilliant and novel idea for our game. Now that I've played Rayman and DKC end-to-end, I know that revisiting levels without purpose (that is, just for powering up) is not exactly fun, and that doing it because you can't access the final boss otherwise is just frustrating, especially when you realise that it doesn't matter how well you played the first levels, you'll have to play them again.

Il y a quelques années, je m'attelais donc à "repenser" ces power-up sous un angle nouveau: les magic stones transforment des objets "ordinaires" en bonus qui activent un pouvoir particulier, plutôt que d'avoir une jauge de magie unique multi-usage. Ca me paraît une meilleure approche pour construire des niveaux intéressants. Par contre, parmi les nouveaux pouvoirs que j'entrevoyais ici -- essentiellements axés sur un changement de matière pour Bilou -- très peu on trouvé grâce aux yeux de mon frère. Comme j'ai également appris entretemps que c'était exactement le principe de "Within a Deep Forest", je sais que je devrai encore refaire une passe là-dessus.
I also wasn't very convinced by the "one kind of magic bonus to fuel them all" approach, because it doesn't allow nice level designs. Especially, if the player use all its magic points to fly around the level when he's not supposed to, he won't be able to swim that pool to move further. And if you have "respawning" magic bonuses, the best jumping puzzle might be spoiled by the flying power (or the shooting power, or anyone of those). The idea then came that the magic stone would reveal power-specific magical bonus, so that the level designer can decide what you can use when, but with a time limit that makes them more like the Starman in supermario than e.g. the fire flower.

A comment on pixelation made me start this alternate set of super-powers, where the material Bilou is made of is affected, making him light enough to walk clouds, hard enough to break stones or bouncy enough to do superjumps. My brother didn't enjoyed the idea too much, though, so this isn't the definitive list anyway.

Thursday, March 26, 2009

BBL to .png converter

J'avais pris l'habitude de faire un p'tit cadeau sur Internet pour mon anniversaire, et là, pour mes 30 ans, schnol. Avec les travaux dans la maison et le retour de Suisse, je n'avais rien à montrer. Quelle idée saugrenue m'a pris ce midi? Aucune idée. Mais je vous offre un petit script de conversion des fichiers graphiques du Recreational Game Maker (.BBL, .CBL et .MBL) vers des .png, plus pratiques à manipuler. download bbl2png.pl exemple d'utilisation :

perl ~/DS/SEDS/runme/bbl2png.pl /tmp/TOYZONE2.PAL /tmp/%.MBL m%.png --sprites

Here comes some pixels dump of sprites i've been working on in '97, at the peak of my RSD Game-Maker years. Each level had its very own tileset and spriteset (though there might be much shared things between two levels in the same "zone"). Behold Badman III, most likely the more complex (and unfinished) project with the RSD-GM ever. I finally managed to write a small ".BBL->.png" conversion script, meaning that i can retrieve *all* the graphics from all our previous games. 

Ca veut donc dire que je peux récupérer tous les graphismes de Badman et autres pour vous les montrer... Je doute qu'il y ait grand-chose à en tirer à part de la nostalgie ... j'ai tant appris en matière de pixel art, que même mes "plus jolis" boss sont tartes "by today's standards" :P En vrac, donc voici quelques sprites tels qu'ils sont présents dans la démo jouable Badman 3 (Badboyz are Back!). On y découvre "Ratman", d'après un T-shirt de T-Bob, qui ne sera finalement pas repris comme boss de la Cheese Zone. Juste après, Burner "relooké" qui laisse derrière lui une trainée de feu quand il court, avec un shading un peu douteux. Enfin, le gris aux oreilles rondes, c'est le "ratman" tel que vous pouvez l'affronter, avec son astro-flasheur "kirsch" et ces attaques de roues de gruyère.  

In "Badman III: Badboyz are Back", you can play either with Badman or Rubishbin (who you saved in "Badman II: Out of This World") in three insane environments: the Cheese zone, the Toy zone and the Ice zone. Each character had unique abilities giving them access to hidden areas. Rubishbinn, for instance, can do a spin-jump that destroy some blocks below him while Badman can dash under low roofs. I also reused the technique developed in Badman II for creating shooting bosses. The result was near to an unmanageable nightmare that turned short as I entered university: with only 5 playable levels, Badman III games already lists 44 'levels' in the game editor. 

Ce serait à refaire, je prendrais le "ratman" initial comme PNJ genre "Je suis le seul maître légitime de la Lune Fromagère, et je délivrerai mon monde de la tyrannie des BadBoyz ... Enfin, si tu veux m'acheter des grenades Petit-Suisses ou des Camemberts lacrymogène, ... " Et oui, le volet 3 de Badman était franchement inspiré de la mécanique de jeu de Megaman ... Suit l'Ice Zone, dont les monstres sont pas mal inspirés du niveau des glaces de Prehistorik II (auquel je rejouais cet été-là -- juillet '97 selon le .zip -- en version complète). 

On y retrouve donc un le fameux pingouin et un eskimo dont je n'étais pas peu fier à l'époque et un "lemmings xmas" qui était là juste pour le fun. Ce genre d'apparition était d'ailleurs assez habituel dans la série des Badman : le bonhomme-promo de Belgacom, Moktar sur son tapis volant, une bestiole rampante "façon Commander Keen", des p'tits robots tout ronds "façon twinbee land", une souris bleue mécanique "à la sauce Alfred Chicken", etc. Vous remarquerez aussi "Rex", le chat (private joke) utilisé dans des "cut-scenes" façon "Kirby's dreamland". Le mamhout vous paraît bizarre ? logique. 

Le game maker de Recreational Software ne supporte qu'une seule taille pour les monstres: 20x20. Un monstre plus gros est indestructible par nature et construit à l'aide de plusieurs monstres que vous tentez de déplacer de manière synchronisée ... ce qui se traduisait généralement par un désastre complet. Allez, je vous mets aussi Badman "himself" et son compagnon d'aventures "Rubish bin" ... On est plus très loin d'un extracteur de niveaux complets, avec les autres infos dont je dispose déjà 

PS : mon frère possède aussi une mine de petits "trivias" sur le développement des épisodes de Badman, qu'il reconstitue a partir des commentaires de ses .S3M ... Si vous êtes fan, bonne lecture.

Thursday, June 29, 2006

Le Boss des Maths

whoaaah! carrément mythique: les premières images du Crayon ... dessinnées par Pierrick sur papier millimétré puis numérisé par mes soins ... j'en ai fait des tonnes, des commes ça ! ...

Madness ? This is HISTORY! The first ever "pendats" pixels drawn by Pierrick on millimeter-pitched graph paper so I could "digitize" them later on. I've got sheets and sheets of such pixels, others by my brother, some by myself.


'faut dire qu'à l'époque, je n'avais pas encore réalisé de "sprite editor", et je n'avais accès à l'ordinateur familial que 1h par jour ... alors tout ce qui pouvait être préparé sur papier était préparé sur papier ... j'ai même retrouvé les grilles qui m'on servi à retranscrire l'arbre qui apparaît dans Bilou's Quest et Bilou's Adventure ... Un dessin 60x60 dans Delux Paint IIe entièrement "imprimé à la main" sur papier (sur feuille quadrillée) avec près de 40 codes de couleurs différents (et les codes RVB correspondants) avant d'être ré-encodés sous forme d'un listing BASIC qui retraçait le dessin pour pouvoir le capturer comme un sprite ... Trois cachets d'aspirine au moins !

To put that in perspective, keep in mind that I had no "sprite editor tool" until 1994 and could only use the family computer for 1 hour a day, so everything that could be prepared on paper was prepared on paper. millimeter-sized first, then on regular 5mm-pitched paper with color-coding not unlike what you could find in cross-stitching books (the most complex being a 40-colors 60x60 pixels tree drawn in Deluxe Paint 2 for Bilou's Quest, later reused in Bilou's Adventure). They had to be hand-typed into DATA digits in BASIC programs that would then trace them pixel by pixel and save them into QuickBasic-friendly files. That's what coding was like before wotsit.org ...

Faut dire qu'à ce temps-là, je n'avais pas accès à Wotsit.org et que mes seules connaissances sur les fichiers .ico (et .bmp du coup) avait été acquises au terme d'heures entière de reverse-engineering avec Nowan.

C'était le bon temps :)