Showing posts with label gz1ac. Show all posts
Showing posts with label gz1ac. Show all posts

Sunday, November 02, 2025

Survivre à Octobre

Bon, c'est sans doute excessif comme formulation, donc pardon pour le drama. Mais le mois d'octobre n'a pas été de tout repos. Entre les travaux sur la maison qui sont sur le point de démarrer (mais qui s'accompagnent de mauvaises surprises), les efforts pour la désencombrer et les déboires accompagnant les remplacements de PC au bureau, j'ai rarement eu assez de tonus pour envisager du gamedev en fin de journée ... encore moins pendant les week-ends. 

Ce qui aura le plus fait progresser "dreamland", ç'aura été les efforts sur les "pentes glissantes" qui interviennent ça et là dans les niveaux dessinés par mon frangin pour la "green zone" il y a tant d'années. Ah, et je vous rassure tout de suite: elle n'auront pas cette dégaine d'ovni digitalisé : ça c'est juste un montage pour essayer de me rendre compte des couleurs à utiliser, des ombrages qui marchent ou non, etc. 

Non, le graphisme actuellement utilisé pour la démo est beaucoup plus sommaire que ça, pas franchement mieux intégré.

Le comportement de base est codé, mais il reste insatisfaisant, en particulier parce qu'il permet de sauter à pleine vitesse vers l'avant même si l'eau nous faisait presque reculer. Le mécanisme de "tapis roulant" ne suffit pas ici. 

J'avais aussi envisagé au début du mois de commencer à dessiner quelques sprites pour le personnage de "Napin", ou au moins d'étudier les oreilles des Tiny Toons, mais ça non plus, ça n'a pas réellement eu lieu. 

Saturday, August 23, 2025

Une pente qui tombe à l'eau

I had tiles that push you along a slope. They've been shown in the sands mostly, but more importantly, they've been tested in a setup where there's plain ground at the bottom of the slope.

Here, I'd like to use water falling down a slope as a way to implement a one-way region somewhere in a cavern of the green zone. But it didn't quite worked as intended. What makes Bilou slide down in such a setup is that a test-point queries the tile number under his feet and use that to look up a physics values array. But once you get down the hill, the hotspot gets in the air, and nothing finishes to push you out. 

Il y a sous l'arbre creux une sorte de pente rendue glissante par une cascade sous-terraine. Mon frère l'avait utilisée pour créer une sorte de sens interdit entre deux morceaux du niveau. Alors j'ai déjà des pentes, donc ça aurait dû être une simple formalité, mais comme vous l'aurez sûrement deviné par le titre, ça n'a pas été sans mal Premier couac: en voulant rendre ce "tapis roulant" plus rapide que les chutes de sable, je suis sorti des limites d'un tableau, ce qui a eu pour effet d'appliquer l'effet geyser à l'ensemble du niveau ^^".

Plus contrariant, une fois arrivé en bas de la pente ... rien. On ne tombe pas dans l'eau, on reste juste là, sur le rebord. Parce que c'est le pixel sous le *milieu* de Bilou (le "hotspot") qui détermine si on se trouve sur un tapis roulant mais qu'il faut qu'il n'y ait plus rien sous lui sur toute sa largeur pour qu'il commence à tomber. Je dois donc rajouter un autre type de tile qui pousse comme un tapis roulant tout en étant pas du sol.

So I added another tile that behaves like air and keeps pushing you as if you were on sliding ground and put them at the bottom of the slope, but even that wasn't enough to get it working. It would take you as far away from the slope as you want, but then, once your hotspot is in plain air, you'll stop, happily idling in the middle of nowhere.

The part I was still missing was the F_START_FALLING property to my new tile type, something introduced so that we could land in slopes properly by having slope tiles letting you keep falling into them (until the hot spot reaches the ground) but not start falling through them when you're walking.

Il restait un dernier soucis. Un couac lié à un changement plus récent et qui fait qu'après avoir bien emmené Bilou au milieu de nulle-part, il ne tombe toujours pas. tout ça parce que j'ai donné au nouveau tile possède bien la propriété F_FALLTHRU, utilisée pendant que Bilou tombe, mais pas F_START_FALLING utilisée pendant que Bilou est au sol pour voir s'il pourrait tomber ^^"

With that new bit set, we finally have it: Bilou keeps sliding until there's no solid ground, and there  it cando(START_FALLING) and ends up in the water :P

There's one odd thing going on with the way the water slide is made as a conveyer, though. Conveyers just move you and don't affect your speed, and that's on purpose. But that means that as you're running full-speed against the water flow (if you manage to) and decide to jump, you suddenly move in the air at top speed while you were almost idle on the ground.

Maybe I should mimmic Sonic's water slide and make a dedicated "woah! I'm sliding down!!" state for Bilou as well.

But even then, when Bilou is walking against a conveyer, it is natural that he's walking faster than he's moving ... against water, we all know there's a force slowing us down, so it'd make sense to see his animation slowed down and pixel-fitting its motion against the water ... which would mean acting on his speed rather than shifting his position ... Meditate on this I will. 

Sunday, August 10, 2025

Petit à petit, le niveau se construit...

Bon, j'ai passé un peu de temps dans mes éditeurs sur DS ces derniers jours pour habiller un peu plus le premier niveau et je viens de construire une map avec le 2eme (après un moment de frayeur de "est-ce que je ne viens pas d'écraser mon gac.map en essayant de créer gpc.map ?_?"), tout ça pendant que je faisais la mise au point des portes du côté PC.

  • un arbre tout à gauche pour marquer le bord du niveau
    • (pour une raison inconnue, sortir de la map par la gauche conduit à un plantage de runme ... à investiguer)
  • une petite pente avant le premier arbre pour rendre le niveau moins plat, valider le graphisme des pentes et faire de la place pour des plate-formes avec les petits vers dessus (côté notuto)
    • il faut encore une palette alternative pour la terre dure et des images de bord pour la terre d'arrière-plan

I've spent some times on PC to get doors working, but also some time on the NintendoDS itself, putting more tiles around the edges of crude level I had last week. I even tried to start importing the second green zone historical map, but a blue screen in LEDS put that to an end. (possibly linked to bad handling of color palette selection in "paint" mode). It highlighted I'm lacking some darker tones for some parts of the color palette (mostly dirt) and some edge tiles for the "far away dirt"

So here's a couple of screenshots that were part of the last "Screenshot Saturday". One of them illustrating an attempt to implement the "sliding stream from waterfall" which doesn't quite work the way it should: it's too easy to force your way by quickly jumping away again and again. plus, it doesn't kick out into the water once you're at the bottom of the slope. To be investigated

  • première tentative pour la cascade-glissante
    • quelque-chose empèche le système actuel de nous jeter hors d'une pente avec les tiles "tapis-roulant" ... à creuser.
  • correction des hitbox de Bilou qui nage pour qu'il arrête de se manger les murs à tout bout de champ
  • habillage de la "cachette sous l'arbre" ... je la trouve un peu petite dans son état actuel ...
Par contre, avant la prochaine release, il faudra vraiment que je prenne le temps de dessiner une deuxième moitié au décor de fond qui convienne pour "au plus profond des cavernes sous la forêt" ...

Thursday, July 31, 2025

Make it exist first,

You can make it good later. It's an ongoing meme in the gamedev community, and it's perfectly capturing what I intend to do with the "Green Zone" levels.  The map is very crude, most of the areas use repetitive patterns of the same block, it feels dull to "play" and I don't even have graphics for the key or the closed door ... but at least, I can check whether we can reach branches, cliffs, leap over holes and the like.

Il y a un meme qui est occupé à faire le tour des groupes "gamedev": un trait qui reboucle plus ou moins sur lui-même entourant un pâté de couleur accompagné de la légende "commence par faire en sorte que ça existe". En vis-à-vis, l'image d'un cercle aussi propre sur lui que s'il sortait d'inkscape ... avec la légende "tu pourras l'améliorer plus tard". Et c'est vrai que c'est assez pertinent: combien de projets ont tourné à rien parce que leur dévelopeur à cherché à atteindre l'inaccessible étoile trop tôt ? En plus ça colle assez bien avec le planning que je me suis fixé pour l'été: faire une version minimaliste de chacun des niveaux qui hantent le cahier-bleu-du-redesign pour voir si Bilou sait atteindre les différents objectifs ou si je dois envisager des mécanisme "d'aide à la conduite" du genre de ceux utilisés dans MainFrames. Et tant mieux si le niveau me sert aussi de bac à sable pour valider le fonctionnement des portes.

Files are being swapped back and forth between the computers and the DS, as I bring together the fixed bouncing branches, geysers and updated applemen. Unfortunately, the level editor is currently unable to show us invisible gobs (workaround: done), and with doors and branches, I start to have a higher number of them ... It also has restrictions on how to link items that I'll like to get rid of later on.

There's something though, that I don't really like about the current state. It's crude. There's no beauty in the way it looks. There's not much fun in the way it plays. Monsters feel placed randomly on uninteresting surfaces. The forever-in-progress "level two" -- with its geyser and huge trees -- makes me feel prouder than this.

Je transfère donc un script dans un sens, un spriteset dans l'autre, je passe du temps dans l'éditeur de niveau pour que ce "Green Zone 1: L'Arbre Creux prenne forme... Forme, mais pas vie. J'avoue que c'est un peu décevant cette austérité, cette absence d'objectif et de gameplay... et je me suis surpris à apprécier de retomber sur le niveau-en-chantier ou la salle de test qui me paraissent tellement plus accueillants bien que totalement inachevés.

Sunday, July 27, 2025

Enfin des portes

 Si, si ... ce blog parle toujours de développement de jeu DS. C'est juste que les portes, c'est pas mal comme morceau et que les retours de camps, c'est pas mal chronophage. Mais voilà! J'ai eu un truc qui commençait à marcher hier!

Post by @PypeBros@mastodon.social
View on Mastodon

ici je vous ai mis la version rigolote. Quelques heures plus tard, j'avais fini par trouver les bons réglages pour que Bilou s'arrête à la porte de destination une fois sa vitesse suffisamment réduite.

Here's the first somehow-working attempt to move Bilou from one door to another. There are plenty of things still quite crude, and we don't even get the illusion that Bilou enters the door. It's based on another patch that allowed entering the end-of-level doors and on a new opcode that simplifies things by letting Bilou directly target the door's destination rather than aligning on the coordinates of the source door as it moved to the target as I initially planned.

If you can't see the clip from mastodon above, it shows Bilou flipping in front of a door (no enter animation yet ^^"), then zipping to the next door (no hiding yet) and then oscillating around the target door endlessly (wrongly assigned the speed division to a "found" event when I should have used "hit" instead ^^" -- that is now fixed). You'd have missed that it happens in the caves under the Hollow Tree, meaning that yes, I started remaking historical levels into LEDS so that I could test them.

All that also uses (and validates) a fresh implementation of revised collisions mechanism so that we can have collisions for "is there a door", "I'm done entering the door", "I've reached the target door", "I've left the target door", etc. despite the fact that generic flags are already crowded since SchoolRush. 

Les plus observateurs d'entre-vous auront reconnu un fragment de la Green Zone, plus précisément la fin du niveau de l'arbre creux, mais parcouru à l'envers. Donc oui, j'ai enfin commencé à reconstruire les niveaux historiques dans LEDS pour pouvoir les intégrer à Dreamland... ce qui a bien plu à J.L.N, d'ailleurs, qui en a profité pour réenfiler sa veste de chasseur de glitches.

La porte elle-même est finalement beaucoup plus simple que ce que j'avais envisagé grâce à un nouvel opcode: ATATTACH qui permet à Bilou de s'attacher directement à la destination de la porte (à laquelle la porte elle-même est attachée).  

Wednesday, April 24, 2024

'faut pas pousser!

Vous êtes devant une porte verrouillée au fond d'un tunnel. Il y a un trou rempli d'eau sur le chemin menant à la porte, alimentée par une chute venant de la galerie supérieure. Votre sens de l'exploration vous sussure que la clé pour la porte doit se trouver dans une des galleries supérieures que vous avez aperçues durant votre chute. Vous pouvez sauter avec (A) et ramasser des objets moins lourds que vous avec (B), mais la galerie supérieure est trop haute pour que vous puissiez l'atteindre en sautant.

Bon, vous l'aurez compris, je suis à la recherche d'une alternative pour le niveau 1-1 de Bilou qui ne dépende pas d'une action a priori peu maîtrisée à ce stade comme "pousser un bloc". Mais j'ai quand-même envie que le joueur ait la sensation de s'être tiré d'affaire, pas juste d'avoir fait demi-tour.

Ayant tout juste rejoué à DK Tropical Freeze, ma première idée était de mettre un gros bouchon au sol et de le retirer avec (B). Si il faut, on pourrait même faire en sorte que le bouchon dépasse un peu et qu'il laisse passer une goutte de temps en temps, pour attirer l'attention du joueur. Sauf que ... dessiner un geyser, c'est plus facile au bic qu'en 256 couleurs ... l'animer, c'est plus facile dans la tête du lecteur qu'à l'écran... Et ce n'est pas l'époque 16-bit qui va m'aider, cette fois-ci. >_<

How do you get yourself out of a hole when all you can do is JUMP and GRAB but you cannot jump high enough ?Maybe you're lucky and there's a plug-like think holding water that was just waiting for you to spring out. That would save me the trouble of needing to code raising water level and making the player confident that they won't drown if they fill the room with water ... But I have no idea how I could make a convincing geyser and '90s pixel art really does not help this time.

A supposer même que je trouve des graphismes concluants, et si le geyser a l'avantage de ne pas demander de jouer dès le niveau 1 avec de l'eau qui change de niveau, il reste un problème physique: il faudra que je trouve un layout qui explique que l'eau du geyser monte alors que l'eau du "puits" non.

Est-ce qu'on pourrait s'en sortir avec le bouton de saut ? C'est quand-même la mécanique de jeu n°1 ... On pourrait donner un coup de tête dans un truc ou tomber sur un machin qui ferait apparaître des plate-formes (disons des feuilles depuis des lianes, pour rester dans le thème de la forêt) puis sauter de feuille en feuille pour se tirer d'affaire.

Mais j'ai le même soucis qu'avec les Ethers en 200x: c'est un comportement de sale garnement et je voudrais que Bilou reste un personnage exemplaire (malgré son caractère ronchon). (De nouveau, le lecteur attentif sentira l'influence de DKTF et de ses plate-formes rangées contre le mur qu'il faut faire basculer à l'horizontale ... mais dans l'autre sens)

Could there be anything that would trigger a useful event if jumped on ? Like making buds bloom into leaves large and strong enouh to be used as a platform. But unfortunately the only such trigger I could think of imply that Bilou is hurting the target and that pain is the thing that forces blooming. I'd rather not have Bilou do such things if I can avoid it.

Par contre, l'avantage de cette idée, c'est que comme j'ai l'intention de permettre à Bilou de s'accrocher en appuyant sur (B) en l'air, on peut remonter soit en combinant attraper/sauter, ou en utilisant le "mécanisme" pour faire apparaître les feuilles. (détail sans importance puisque le joueur un poil rôdé au jeu n'aura pas oublié d'aller chercher la clé en premier)

Mais sinon, il y a une alternative plus sympa, inspirée du "dragronce":

Dans un recoin obscur, vous remarquez une sorte de tête, mi-crocodile, mi-végétale inconsciente et a l'aspect desseché. Vous faites immédiatement le rapprochement entre la texture de son "cou" et celle des lianes qui sortent ça et là de la paroi

 But maybe there could be something that can be grabbed and carried around to produce the same effect. Like the head of a thirsty dragonthorn, since there's water just nextdoor. That would be nice from Bilou to bring them into water. Might be a bit tricky to draw too ... even with pencils, I'm not convinced by those sketches... and it's a bit ... convoluted.

On peut ramasser sa tête comme les autres objets... on peut l'amener jusqu'au point d'eau pour qu'il reprenne des force et que ses feuilles se changent en plate-formes. La bonne nouvelle c'est que ça fonctionne même si le joueur n'a pas encore compris que B=ramasser et pas B=frapper.

Et avec le saut comme mécanique, est-ce qu'il n'y a pas moyen de faire quelque-chose qui soit sympatique ? Disons qu'il y ait une grosse racine qui soit juste un poil trop haut pour profiter de toute cette eau pour grandir, hein ? il suffirait de lui tomber dessus pour l'enfoncer un peu, elle se réveille, elle boit, les feuilles repoussent. C'est simple, c'est visuel, c'est le bon plan. Non ? 

'bin pas forcément si j'en crois mon frangin... lui, en tous cas, il n'a pas franchement accroché à cette approche.

Or maybe there could be something that wouldn't mind being jumped on and yet make the leaves bloom? Like a big fat root just about to reach water? It would actually be friendly and helpful to push it into the water just enough so that it could come back to life, bloom, etc. Well, I thought I had the perfect solution here until my brother seemed unconvinced.

Bon, qu'est-ce qu'il me reste ? En fait, dans le design d'origine, il n'y a même pas ce genre d'ascenseur interactif à mettre en marche. Le frangin, il avait dessiné un tuyau, une chute d'eau alors qu'on est déjà un demi-écran en dessous de la galerie supérieure, une pente-qui-pousse avec l'eau qui dévale et qui nous entraine jusqu'au bassin Est.

Celui qui n'a pas la clé n'avait qu'à penser à aller dans l'eau et prendre le téléporteur si tant est qu'on ait de l'air jusque là ... ou mourir et recommencer.

That brought me back to the original level design from my brother, only to realise that there was just nothing to help you climb back and get the key you need. Actually, he did even put one-way-watery-slope (inspired by Sonic's Labyrinth zone ?) to push the player into dive-or-door decision. If you dive, you'd have had limited time to locate the teleporting device that brings you back overworld where you could try a better route and find that key.

I don't think it could be used as-is in a modern game (and I want Bilou's Dreamland to feel modern) but since I now have waterflow tiles, I could definitely have some spot reachable from the water surface (Bilou can't dive freely in this game) where you're swallowed by a stream bringing you back where the teleporter would have dropped you. I think I'll have that anyway. But not just that. 

Pendant tout un temps, pour la reprise du niveau, c'était hors de question parce que mourir, c'est has been et que l'eau nous fait flotter, pas couler, donc pas question d'aller explorer le fond des choses avant d'avoir débloquer le bon pouvoir (metroïdvania avant l'heure).

Mais là, maitenant, j'ai des blocs qui permettent d'envoyer le joueur à travers un courant forcé ... je peux donc prévoir qu'une petite partie de ce bassin serve de départ pour une trajectoire "remontante" vers l'emplacement prévu pour la sortie du téléporteur "ah ouais. Comme dans Bubsy" ajoute mon frère.. visiblement, cette stratégie-là, ça lui parle. Je tâcherai donc de la mettre dedans, mais j'aimerais quand-même avoir une alternative plus directe pour le joueur qui a envie de trouver la "solution" plutôt que de contourner le problème.

Tuesday, December 28, 2021

Libérer l'eau

Dans le niveau dessiné par mon frère il y a longtemps, on a une clé "à attraper au premier passage" et une porte verrouillée dans untrou. Dernièrement, j'ai décidé de laisser tomber mes idées de faire pousser un haricot magique pour quelque-chose de plus direct.

Comme j'envisage déjà d'avoir un niveau d'eau qui monte ou qui descend dans un autre niveau de la green zone, j'aimerais bien pouvoir résoudre le problème en faisant monter l'eau assez pour que la clé devienne accessible.

I have some design to fix if I want to reuse my brother's Green Zone Level 1 in DreamLand. Whatever the revision, the map can get you locked in a pit with a door that needs a key that is higher than the pit. Originally, we were meant to dive in and find a sunken door that brings back at the surface where we can try to catch the key on a second fall.

That would have worked because Bilou was supposed to swim freely in that game, but only for some limited time (the Blue Power would then allow to extend that with magic collectibles). But in Dreamland, we should instead expect water to push the player up, forcing them to float rather than to swim anywhere.

Evidemment, il faudra que le niveau redescende automatiquement après, parce que tout comme dans Fury of the Furries, j'envisage que Bilou ne puisse pas plonger librement dans l'eau pour ce jeu-ci, mais flotte obligatoirement.

Il restait à trouver un moyen de faire venir l'eau d'une manière qui colle à la fois aux mécanismes de Bilou et à l'environnement 'green zone'; un peu comme l'histoire de la vanne à encre déjà discutée l'an dernier.

In an earlier revision, I had thought of introducing a sort of 'fast-growing vine' that the player could trigger, but I'm not that fan of using such an indirect mechanics like 'water-the-bean' or 'make sure the bean is no longer drowning'. If I'm to play with water, I'd rather let the water rise high enough so we could reach the missed key. Sounds like a nice, more direct, way to do things. All I was still needing was a way to trigger that water rise that would integrate nicely with Bilou's world. I may have found something working based on push-me blocks. phew.

Saturday, February 18, 2017

Si on relookait la Green Zone

Bon, vous vous demandez peut-être pourquoi avec un moteur de  jeu fonctionnel et des pixels tout prêts il n'y a toujours pas moyen de s'essayer aux niveaux dessinés par Piet dans les années '90...
Il y a la raison du jeu: sans les 6 mondes qui suivent, la green zone n'offre pas, à mon avis, un challenge intéressant. On pourrait se promener dedans,oui. On pourrait y assommer des pommes et y chercher des vies, mais quel intérêt si il y a de toutes façons suffisamment de vies pour terminer les niveaux sans ça ?
Ensuite, il y a la raison du relooking.

I suppose I could be spending my time crafting levels that mimmic the BASIC version of Bilou's Adventure, since I have pixels for the Green Zone and a working game engine. But I question the fun of such a package. The Green Zone doesn't feature sufficient diversity (imho) and is mostly hunting for secret 1-UPs here and there. But what's the point of 1-UPs when you have only 4 levels to explore ?
Je n'ai pas forcément envie que la nouvelle green zone ressemble exactement à la version Basic. Des clés, des portes, des tuyaux et des bumpers ? Bilou ressemblerait alors à un mélange entre sonic, Mario et keen. Je voudrais qu'il ait plus son identité propre. Un napin qui aide à sauter, un mécanisme pour ouvrir le passage... Le genre de chose que Piet aurait mis en place si je n'avais pas dû simplifier pour que ça passe en Basic.

The second reason I'm not jumping into that is that I still would like some revamp of the mechanics used in those levels. If I stick to floating platforms, bumpers, colored keys and locked doors, Bilou's Green Zone would just look like Sonic * Mario * Commander Keen cross over, which imho wouldn't be interesting. I'd like to have crabit featured as moving bumper, for instance.

I must not put it on hold for too long, though. J.l.n just turned 4 years old and he starting to have the basic skills to jump over pipes and stomp goombas...

Wednesday, July 14, 2010

Synopsis



Possibly the very first Bilou level drawn by my brother
Quand Bilou était dans son jeune age et prévu sous Amiga/CPC, mes niveaux "tombaient du ciel", dessinés par mon frère. Je n'avais plus qu'à les "pixeliser". Mais maintenant que la "computer zone", la "turtle zone" et la "pyramid zone" ne sont plus d'actualité, que la "water zone", la "pipe zone" et la "fire zone" ont besoin de sérieux relooking, comment envisager la structure globale du jeu ? pas avec mes mini-démos, qui serviront au mieux à introduire quelques personnages ou tester un principe de jeu.

Je pensais donc essayer de placer sur une carte unique l'ensemble des "lieux clés" (puits de la clairière, temple de l'encre, la boule de neige dans l'usine chimique du Groenland, etc.), chacun occupant un ou deux écrans DS (allez, disons 512x512 pixels au max), ce qui devrait permettre de me concentrer sur les "interactions majeures" (genre 'au sommet de la montagne infernale, tu trouveras la vanne qui contrôle le niveau du Lac Those), et donner les grandes lignes de chacun des lieux. Restera ensuite à migrer "Synopsis" vers le jeu complet, en y ajoutant les phases d'actions.



... and a second take when it become "level B", a couple of year later
Back then, in the earliest days of the Bilou project, I hadn't to worry about game or level design. My brother had some Great Plans in mind and provided me hand-drawn maps that I could simply "pixelate" and code. Unfortunately, he never drawn anything past the green and school zones, and most of the other "zones" he named are questioned today (turtle zone and computer zones needs a replacement, fire and water zone clearly need more character).

I'm reaching a point where I'd like to have a better understanding myself of what happens on the curious planet where Bilou and Bouli crashed. The small one-feature demos that I planned as milestone won't help me with that. Sketching a few idea for my Bro's next CD, I ended up thinking that I could equally sketch the game's synopsis as a collection of "small rooms" (one per "encounter", max 512x512 pixels in size) that would represent the core goal of individual levels in a more "willy-inspired" game where the exploration dimension would be enhanced, and action dimension reduced to a minimum.

Oh, and btw, I haven't dropped the "Apple Assault" milestone, before you ask. I'm just waay too busy with painting and building up my new kitchen to make any noticeable progress there right now.


Au fait, avant que les questions ne fusent: non, je ne laisse pas tomber "Apple Assault" à 90% de l'objectif: je suis juste légèrement accaparé par le montage de ma nouvelle cuisine :P

Friday, December 14, 2007

faire et défaire ...

autre bonne nouvelle: les animations marchent! enfin, quand je dis "marchent", je devrais plutôt dire "rampent", puisque pour l'instant, seul le "petit ver jaune" de la forêt a été animé.
Je suis pas mal fier de mon coup, je dois dire. J'ai gardé un code tout à fait générique, qui est paramétrisé par un petit script de commandes. Petite astuce, les déplacements du ver sont intégrés dans la séquence d'animation elle-même, ce qui permet d'avoir un contrôle plus fin du déplacement (pour vraiment donner l'impression que le ver rampe, et pas qu'il glisse sur le sol pendant qu'il se tortille, comme on le voit si souvent dans les jeux amateurs).

Good news: animations are working: we can now see the yellow woodworm crawling through the level. I love how it keeps the code generic script commands. Another nice element: worm motion is integrated into the animation sequence, allowing for tighter control on how motion and frames fit together. It really feels like the worm is crawling, not sliding+giggling as I see too often in other works.

The down side is that I face too many red-death-screens while developing that. I guess this is my understanding of C++ virtual destructors that is still too far from sufficient. Since the whole environment in which "scripts" are evaluated must be cleaned up and rebuilt at every new attempt, I'm calling them a lot. And while I can enjoy some guru meditation, too much gets boring.

En revanche, si je commence à être assez rôdé sur les std::vector<GameObject*>::iterator, je suis encore un peu perplexe sur les destructeurs virtuels. L'environnement d'exécution du "petit script" en question doit être "renettoyé" chaque fois que l'on veut relancer le script, et pour l'instant, ça se traduit encore trop souvent par un écran rouge de la mort. J'aime bien la méditation, mais toutes les 5 minutes, ça devient lassant. (quicklink: l'assembleur ARM par TONC: http://www.coranac.com/tonc/text/asm.htm)

D'un autre côté, j'ai un peu relooké mon script qui traduit une image (comme celle ci-dessus) en un tas de tiles et les données pour la map, de sorte qu'on puisse lui indiquer quelle couleur doit être considérée comme "transparente", et il s'arrange tout seul pour que les tiles entièrement de cette couleur soient considérés par la toute nouvelle routine de "testpoints" comme étant "EMPTY", tout le reste étant de type "BLOCK"...

I'm still doing this with a picture-to-map script, with the 'level' being built with the Gimp, but now my tool producing tiles and map data out of the picture can be told what color is to be seen through and tiles completely made of that color will be considered empty by testpoints routine, while the rest of the map is said to be of type "BLOCK". Basis of sprites-to-world collision. A milestone is reached. (first Level Editor build - with no saving - will only come next April. NdlR)

edit-PS: la première version du level editor (sans sauvegarde) n'arrivera qu'en avril de l'année à venir. Là, on est donc toujours dans une "composition" de niveaux à coup de Gimp suivi d'une conversion avec détection des tiles redondants par un script fait-maison.

Monday, October 30, 2006

Bilou .. l'ancien et le nouveau ?

Bion, il y a évidemment déjà eu un jeu Bilou, qui était programmé en QuickBasic pour DOS et qui a finalement fait usage d'une bibliothèque SoundBlaster (oui, m'sieur), même si ce n'était pas du grand délire (juste un son "hihoo" au début du niveau, un "uh!" quand on est touché, et encore).
Alors en grand, vous avez un aperçu de ce que ça donnait ... et en petit de ce que ça pourrait donner avec les nouveaux graphismes (pixelisés sur la DS).

Well, there's been a Bilou game in the past already, as you might guess. It was coded in QuickBasic under MS-DOS in '95 or something ... At some point, it even featured SoundBlaster library (oh, it wasn't truly amazing, you know... just some "hihoo" samples when starting the level :P)
So the largest of the two picture gives you an overview of what it looked like. Bilou in the trees, with the running apple foo and the sleepy bat, and the smallest picture in the corner is the latest mockup of the 'green' level with DS-pixels brand-new graphics.

J'ai encore du boulot pour les "feuilles" de mes nouveaux arbres, notamment parce qu'il me manque des couleurs compatibles dans ma palette pour l'instant (elle vient du jeu "Tyrian", qui ne s'est pas embarassé de teintes vert/jaune :P) J'ai essayé d'appliquer les techniques de Dan, mais il y a encore un peu de boulot avant d'avoir un décor vraiment convainquant.
Oh, et j'avais fait marcher la pomme, aussi, mais ça, c'est pas encore top (et je l'ai effacée par erreur hier, donc je pourrai en refaire une nouvelle :P)
Cette fois encore, le "mockup" fait appel à un zoli (?) dégradé pondu par The GIMP ... 'faudra que j'intègre qqch de similaire pour mon SEDS ...

Okay, okay. there's still job to be done, especially regarding the leaves of the tree. Still, i'm missing colours to do that atm. (the palette came from the game "Tyrian" on PC, which obviously didn't care much about rendering trees :P) I tried to apply Dan's techniques (see "Indigo Art" and the "Cute Pixels" post), but here too, there's much work to be done before the background gets really convincing.
I even managed to have the running apple, but it didn't walked exactly the way i wanted (well, it's deleted in a pick-save-slot error yesterday, so i'll have to restart from scratch with the apple, anyway). Note that, once again, Gimp gradients proved quite effective for the backdrop... i should try to implement something alike to do mockups straight in SEDS.

edit : Vous notez l'appleman primitif et un "bubblebat" endormi dans l'arbre.