Showing posts with label PUNCH. Show all posts
Showing posts with label PUNCH. 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.

Thursday, May 05, 2016

Its all sketched in the book!

early bugs to be caught.
Don't you dare thinking I'm using the BmxExcuse to pause School Rush development near completion once again. Here's the proof: a few more lines of code (with plenty of hard-coded magic values to bridge with the game logic and assets, I confess) and I get those illustrations on the bottom book updating as Bilou gets and loses power-ups. Even better: as she picks up bladors, the player is hinted that she could throw them at pendats, which is the way to get power-ups. 

Now all I have to do is to switch to that bookmark-health-bar because the raising black rectangle ridiculously obscures now-crucial gameplay feedback.

N'allez pas vous imaginer que j'utilise une autre excuse-de-BMX pour ne pas fignoler School Rush! J'attendais juste un moment un peu plus calme où je ne serais pas occupé à faire des trous dans les murs. C'est tout. Et nous y voilà justement, avec un sympathique changement d'illustrations pour guider le joueur dans son aventure et le renseigner rapidement sur les mouvements possibles.

Sunday, April 24, 2016

Costumes, folks.

https://www.youtube.com/watch?v=xI3xZAn7r2AJe vais appeler "costume" un ensemble alternatif d'animations pour un personnage qui ne change pas fondamentalement le comportement du personnage. Ce sera le cas par exemple de Mario quand il grandit. Bien sûr, mario-grand est capable de faire des choses que petit-mario ne sait pas faire, mais les animations modifiées vont bien au-delà des nouveaux mouvements. Devenir Mario-tanooki, c'est enfiler un costume. Devenir Mario-feu ou Mario-Marteaux aussi. Devenir Mario-Grenouille (SMB3) change fondamentalement l'ensemble des mouvements du personnage, la physique des déplacements et ne peut clairement pas être assimilé à un costume comme défini plus haut.

Some heroes use costumes. When they have some specific powers, their apparence is changed. Their set of moves doesn't fundamentally change -- it's a costume, not a mutation, but they gained an important additional move that may change strategic choices at some points. Yes, exactly like the fact that Mario is currently able to shoot fireballs, just in case the last platforming section made you forget about it. Grabbing the tanooki suit is a costume. Same for the Hammer Bros. suit. The Frog suit in SMB3, however, is more like a mutation. Many basic moves of Mario like running and jumping are no longer available when you're a frog, and replaced by another set of moves. This is truly a distinct part of Super Mario's state machine, while the Fire Flower merely grant you to access one conditional state (throwing fireballs). I need to find something similar for Bilou's BigPunch power-up.

https://www.youtube.com/watch?v=xI3xZAn7r2ALa question qui se pose pour le développement de Bilou est de choisir le bon moyen de réaliser ce changement d'apparence. Vu la complexité de la machine d'état, plus franchement question de doubler l'entièreté des états pour tenir compte de la disponibilité ou non d'un power-up.

Dans certains cas, un simple changement de contenu de RAM grahique suffit. C'est plus ou moins le cas de SMB3: en utilisant son "mapper" pour remplacer la page de ROM présente, les dessins de Mario petit disparaissent et ceux de Mario grand prennent leur place. A part modifier le visage de Bilou, cette technique ne me permet pas vraiment de changer d'animation parce que moi, je fais de l'animation modulaire: la mémoire vidéo ne contient donc pas d'étapes d'animations mais uniquement des fragments d'image génériques.

I've seen some costume as simple as a palette swap. Megaman uses it quite efficiently. I don't feel to use it for Bilou: its colors are deeply linked to his identity, as far as I'm concerned. I've seen other costumes implemented as a video memory update: some new pictures are loaded and used, while the rest of the code -- including the one that decide which portion of the video memory to use at what time -- remains unchanged. Super Mario Bros 3 obviously works that way, at least for Big / Racoon / Tanooki / Hammer Mario. Same moves at the same place within the different pages. A simple re-mapping of the video ROM and the costumes are swapped.

As much as I like that behaviour, it's useless for me. Bilou's hands and feet cannot be easily replaced because they're shared with bladors and pendats. Only the head could be updated. It wouldn't make the animations -- especially the idle animation -- fundamentally different because I'm doing modular animation: the video memory doesn't contain frames but merely fragments.

A more practical alternative would be to reuse Sonic's shields idea, because those shields are animated and rendered independently from Sonic himself. I don't quite know how I could convey the idea "you have punch power" with such a shield around Bilou, though.


La version plus facile, héritée de la NES et de ses palettes séparées, c'est de changer le jeu de couleurs du personnage (demandez donc à Mega-Man, il en sait quelque-chose). Une approche que je mets de côté pour Bilou: ses couleurs font bien trop partie de son identité.

Autre alternative possible, on se la joue Sonic et son espèce de bouclier transparent. Ici, le sprite de base et toutes ses animations restent inchangées: il suffit de faire suivre Sonic par un sprite supplémentaire suffisamment creux pour qu'on voie encore le personnage par-dessous. Jouable pour Bilou aussi, j'imagine.

Je choisis un système moins rétro mais mieux adapté à mon moteur de jeu: j'introduis des sections conditionnelles dans les animations elles-même. L'idée est d'éviter de devoir modifier les infos liés à l'état -- il continue à ne connaître qu'une seule animation -- mais de profiter du fait que j'ai déjà des instructions type RISC pour les animations (déplacer tel OAM, changer l'image utilisée par tel autre, etc.). Du coup, il est assez facile d'ajouter une "instruction d'animation" qui est en réalité un saut conditionnel dans la séquence, sur base d'un des compteurs de bonus ou d'une des variables internes du personnage. Reste à construire la séquence correctement. Ça, ce sera le rôle du lecteur de scripts. Les animations elles -- et leur éditeur --
restent totalement inchangés. On se contente au moment du parsing de construire quelque-chose de plus complexe comme "if [compteur%] animA else animB".  C'est encore insuffisant pour émuler SMB3 (au niveau script, je veux dire), mais ça devrait faire l'affaire pour Bilou.

So there's one option left if I want to swap animations without modifying the states (and e.g. start having multiple animations per state): the animations themselves. They are build as a sequence of a RISC-styled instructions, each instruction changing one specific parameter of the rendering. My idea is to have one additional instruction that behave as a conditional branch, and allow merging of two animations (or more) in a single one.

It's not quite perfect: it requires the two animations to use the same pages with the same structure because at the moment, only one of the structure will be kept for the merged - conditional - animation. The script-parser that performs the binding is still a bit crude too. Likely too much problem-specific while those instructions could do much more. But it will do the trick for Bilou: School Rush and that's my current interest.

Enfin ... le ROM mapping de SMB3 est peut-être un peu plus compliqué que ça. On voit sur la vidéo de Bisqwit qu'une seule "page" de 256x16 pixels est utilisée à la fois pour Mario, or il y en a 4 différentes par "costume" de Mario. Selon l'action en cours (marcher: +0, courir et tenir une carapace +2, voler +3), la page choisie est différente.

And while we're at it, the costume management for SMB3 could be a bit more sophisticated than I originally thought. Only 1 row is accessible to the NES' GPU at any time, and one "costume" offers at least 3 such rows (dubbed 'pages' on bisqwit's original picture) plus one that is used for star-powered sommersaults. I also spot a "page" that is useful only when Mario is carrying a koopa, or turning back. But excepted for little Mario and Frog Mario, all the rest replicate the same layout for common movements.

Saturday, October 03, 2015

Confirmation pour Double-B(ig-punch)

Petite soirée chez les parents de JB, console en poche. J'y retrouve N, A et L de la S-team, mon équipe de beta-testeurs attitrés. La nouvelle technique de "planer en gardant le bouton enfoncé" est adoptée par tous. Les nouvelles trajectoires pour le lancer n'ont perturbé personne et ont permis aux nouveaux-venus de récupérer pas mal de power-ups alors que jusque là, les P-UPs laissaient plutôt les joueurs indifférents.

Presque tous les plus jeunes, à l'instar de Zim, essaient de continuer à ramasser des taille-crayons même après avoir gagné "Big Punch". Ils se placent juste sur le blador et appuient sur B encore et encore, ajustant leur position. Mais sans se rendre compte que Bilou ne ramasse plus rien dans ce cas-là. Inévitablement, les pieds du blador se rapprochent, il se réveille et blesse Bilou, souvent plusieurs fois d'affilée le temps que le joueur comprenne ce qui lui arrive.

Je peux soit faire en sorte que un coup de poing nécessite un double-B ou veiller à ce que donner un coup de poing dans un blador assomé le ramasse ... mais il faut que je fasse quelque-chose.

S'accrocher aux éponges est passé pas trop mal chez le nouveau joueur après que je lui ait dit que

  • oui, on peut grimper dessus
  • tu tiendrais mieux dessus si tu t'accroches
  • j'ai dis "tenir dessus". Là, tu essaies de l'attraper par en bas. 
Il y a un petit coin du niveau 1 ou j'ai placé quelques lettres qui mênent du balancer d'une éponge à une plate-forme en hauteur, c'est un bon moyen pour aider un joueur inexpérimenté à réussir cette action pourtant fort délicate.

This week-end featured some social beta-testing session with kids between 7 and 15, including the S-team. Compared to earlier release of the game, the power-ups were much more used and seeked by the players. The "straight-throw" mechanism was set as default throw and it pleased the players. Only the eldest player asked me how the former "ballistic-throw" could be achieved and used it in a few place when short distance was preferred.

I take note that young players will tend to stick on "pick up bladors" even though they gathered a BigPunch power-up. With the current mechanics, however, they will stun the blador again and again with no effect, wondering why they can't pick up that blador now, getting closer, and completely missing the facts that blador's feet are getting dangerously near. When the blador finally wakes up, odds are high that Bilou will be recovering a BigPunch blow and that he'll get hit by the blador's move, no matter how fast they spam the B button. I think this stems for BigPunch invoked by a Double-B mechanic while single-B remains "pick up" through the whole game.

The alternative would be to ensure that punching a stunned blador means you pick it up. It sounds both more perplexing (you lose the mechanic's individuality, which is an important factor of cleanness)

Saturday, August 15, 2015

Todo list des vacances

Petit arrêt au calme au milieu des écureuils. L'occasion de faire un peu le point sur "School Rush" et de ce qui manque pour compléter le jeu en faisant le tour de mes petits calepins:

  • [don't] BigPunch => StraightThrow. Une façon d'encourager le joueur à continuer à emmener des Dumbladors avec lui même après avoir obtenu un "BigPunch".
  • [done] Rallonger l'effet d'un "air punch" sur les Pendatz.
  • [how?] Implémenter quelque-chose de similaire sur Verso.
  • Une "danse de la victoire" à la fin du niveau
  • [done] Autoriser le FLOAT à partir du High-Jump (inkjets, gommes-bumper)
  • [done] Passage à FLOAT automatique quand Bilou obtient le Power-up FLOAT
  • [how?] quelque-chose de similaire pour BigPunch
  • Indique l'état des power-up sur le "HUD"
  • [done] Eliminer les Pendatz en mode "dizzy".
  • Donner une utilité aux bonus à récolter.
I played some School Rush this week, and read back scribbled notes to isolate todo items I still have to address. Many of these are related to the power-ups, the way to ensure their state can be understood by the player and to have coherent behaviour accross the game.

I would like to augment the GameScript class, too -- the level parser -- with a "reload()" method that would keep the state machine structures, but reload maps, evaluate expressions and reset GOBs to their scripted positions, so that we can efficiently retry the level when the player failed.

I also analysed the layout of my two first levels. I want to add a layer of collectibles that would give gameplay hints:

  • you can pick up a stunned blador
  • you can throw bladors at pendats
  • you can ride spongebops
  • have you tried to throw a blador in spikes ?
  • bladors can un-wire spongebop
and in the level 2:

  • hold (A) and you'll float at the top of your jump
  • big punch can defeat pendats
  • DOWN + (B) let you grab bladors although ou have Big Punch
  • sponges do float
  • bladors can stun inkjets.
The idea would be to have it look like a star-coin in NSMB, but also reveal a small drawing when discovered.

Sunday, March 29, 2015

BigPunch, 3rd try.

Second try was based on track(Bilou), but it was ridiculously non-working. Picture big punches flying around, chasing Bilou like berry bats... No. Really not. I dropped the code-driven approaches, made an animation of Bilou punching the ground, then erased the punch for the last frames and synchronized the apparation of a punch object when it disappears from the animation. That way, the punch can pound to the ground even when the ground is lower than Bilou's feet level.

La troisième est la bonne. Voilà un coup de poing qui passe plutôt bien. Pas comme la tentative pathétique d'adapter le comportement des berry bats pour que ça tourne comme un coup de poing autour de Bilou.

edit: 30/3: fixed flickering glitch

Thursday, March 26, 2015

Big Punch ...

Quelques petits essais de gros coups de poings comme 2eme power-up... mais je ne suis pas tout à fait satisfait du résultat au niveau animation.
You voted for BigPunch, and indeed, it would be a good power-up as it allows to bypass many challenges. Here's a first attempt, with gravity-based animation. I'm not quite convinced by the result.

Saturday, March 07, 2015

BigPunch for free ?

In last week's post, I was suggesting that giving some power-up "for free" earlier in the level might be the best way for the player to experiment them. I was especially thinking about "big punch" power-up, that allows Bilou to dispatch school supplies without having to rely on carrying dumbladors around.

Je pensais avoir trouvé la bonne technique pour amener les joueurs à s'intéresser un peu plus à l'interaction "ramasser un blador et l'emmener jusqu'à un pendat pour le dégommer", la semaine dernière. L'idée aurait été de mettre un power-up "Big Punch" visible, dans une sorte de cage au début du niveau. De cette façon, on avait un peu plus de chances que le joueur se rende compte qu'il y a un intérêt à se débarasser des pendats, et ça, même s'il n'est pas encore très à l'aise avec le lancer ballistique de taille-crayon. Sauf qu'à bien y réfléchir, j'avais sans doutes tout faux.

 That might work, but not for the intended purpose: show players that they can stun pendats, and that it's a cool thing to do (after all, pendats are the invasion force trying to ensure that mathematics are the only canon knowledge taught in the school, or something similar). By giving the power-up for free, will the player ever learn that she can use dumbladors for that purpose ? Won't I put her into believing that power-ups must be found in the level and that without them, there's no way to dispatch a pendat ?


Ben oui. Mettez-vous à la place du joueur qui entre dans le jeu, voit un truc qui ressemble à un bonus, l'attrape, et peut ensuite éliminer les crayons. Qu'est ce que vous feriez au prochain taille-crayon, vous ? L'emmener en voyage ? Et si finalement, vous perdez quand-même votre pouvoir du poing-marteau ? Considérerez vous qu'il doit y avoir un autre moyen d'éliminer les crayons, ou simplement vous direz-vous "Arf! Je vais devoir les éviter jusqu'au prochain power-up!" ? La plupart des jeux pousseront plutôt le joueur à adopter la deuxième attitude (cf. Super Mario et ses plantes-piranha).

Maybe I should try another approach. Maybe the power-up shouldn't be granted *at the start* of the level, but prior you enter the level. And the first thing you'd encounter in the new level is a dumblador/pendat pair that you can dispatch with your freshly-acquired BigPunch (tm). Dispatching the pendat would then grant you another power-up. The next few screens should then be harmless enough so that the player can experience new abilities before putting them to work.

Par contre, il pourrait être intéressant de mettre le "power-up gratuit" en fin de niveau. En particulier si le niveau suivant commence par un terrain d'expérimentation idéal pour dégommer des crayons. Un passage avec le power-up pour apprendre qu'un crayon, ça donne un bonus. Et un deuxième passage dans des conditions idéales pour lui lancer un taille-crayon sans prendre de risques. Pas d'éponges ni de structure pour faire obstacle à votre jet. Rien qui ne puisse vous distraire entre le projectile et la cible... Je suis même prêt à utiliser les "passages secrets" du premier niveau pour disséminer des indices sur ces possibilités.

 Would she eventually fail, she'll start over that level, with no power-up. She'd face the same blador again, and now she knew there's a power-up available if she knocks out the pendat. I can also arrange the level terrain so that the player can stay safe and still throw her blador at the pendat.

Par contre, je préfère ne pas tomber dans le classique panneau "interdit aux taille-crayons" placé sur le chemin de ronde du pendat. Trop éculé.

If that's still not enough, I plan to use those chalk boards and other areas of level 1 to hide some schoolish tags showing pendats taking over the school and bladors offering resistance due to their tough nature. I want to hint, but I don't want to enforce tutorials. I also don't want to use the typical "don't do XXX" to hint the player to exactly do XXX.

Tuesday, October 28, 2014

Couper les cheveux en quatre ?

J'hésitais à introduire le contrôle des boîtes de collisions dans mon éditeur d'animations. J'hésitais encore plus à ce qu'on puisse activer ou désactiver certaines de ces boîtes au fil de l'animation. Tout ça me semblait plutôt relever de la machine d'états et des gardiens de transitions. Et puis Shantae m'a fait changer d'avis.

So far, I have been able to keep hitboxes on a per-state basis. Anything more subtle was resolved either by spawning new GOBs (like the punch attack in Apple Assault) or splitting the animation (inkjet). I was growing the conviction that it wouldn't be enough for new grab-in-the-air mechanic, Shantae's move pushed the definitive argument: *any* punch or kick-like move has build-up and recover phases, and the hitbox shouldn't be active by then. Splitting the animation in such cases ? That would quickly turn into a nightmare!

At this point, not adding edition of hit boxes in the animation editor would strongly reduce my chance to have form-fit-function ...


Lors de l'animation d'un coup, on peut distinguer trois phase: la préparation, l'action et le retour. Idéalement, seule l'action correspond à une hitbox offensive. Selon la longueur de la préparation et du retour, enfreindre cette règle (qui dérive du "form fits function"), c'est produire des effets incohérents et du coup rendre beaucoup plus complexe l'apprentissage du système par le joueur. Je n'ai pas eu le problème dans Apple Assault parce que les coups de poing étaient en réalité des sprites indépendants. J'ai contourné le problème avec inkjet en tronçonnant l'animation en deux parties et en faisant en sorte que Bilou ne puisse réagir qu'au moment précis de la transition entre les deux tronçons. Mais soyons clairs: faire la même chose avec tous les mouvements "power-up" prévus serait un véritable cauchemar.

Sunday, October 12, 2014

Énergie Scolaire ...

Vous aurez peut-être noté le nouveau sondage de ce blog: quels power-ups ajouter au jeu "Bilou: School Rush" ? Ces power-ups seront essentiellemt détenus par les crayons-soldats, histoire de rendre les affrontements avec ces derniers plus excitants. Voilà donc ce à quoi vous pourriez vous attendre:

If you feel so, and especially if you have played Bilou: School Rush a few times, I'd love you to vote for the following nominated power-up candidates. Writing them down, and given the short length of the game, it would likely be cheap if these were permanent power-ups. I rather see them as "consumable" powers, e.g. you could have 3 throws, 5 float and 1 pound left.

Straight throw: fini le lancer en cloche. Comme dans les esquisse, le super-throw lance l'objet droit devant vous. Il reste actif jusqu'à ce qu'il sorte de l'écran ou heurte un mur. De quoi rendre plus aisé l'assomoir d'encriers.
Default throw fits physical laws by making bladors fall. Bilou throws them at an angle of 45°, making it a mid-range weapon that's demanding to aim, like Worms' grenades or DK barrels. Straight Throw switches instead to Blues Brothers' like weapons, where the blador is moving faster, perfectly horizontally, and at constant speed until it gets off-screen. The counter-part is that when you miss your target, your weapon is gone for good nonetheless.

Air dash: Le bon vieux mouvement aérien qui permet de se tirer d'affaire en nous soustrayant un instant à la gravité pendant qu'on part à toute vitesse. On le retrouve dans Giana Sisters, par exemple.

Air Dash and Ground Pound allows you to reclaim control from gravity. You should have fallen, but you're allowed for a short distance to follow a straight line by pressing a single button. You should have been waiting to reach terminal velocity but you get it instantaneously, and get rid of that annoying horizontal speed for an accurate land. Wall Kick, finally, is a twisted version of Air Dash, that can be chained (more open along time), but is restricted in space (only along walls). 

Ground Pound est son complémentaire direct, qui annule toute vitesse horizontale pour passer directement à une chute en vitesse terminale. (cf. les 2 derniers 'super pouvoirs' sentis pour la "version GBA" du jeu).

Wall Kick, la désormais célèbre technique de ninchat du jeu de plate-forme ne serait que moyennement utile dans ce type de jeu, à moins de bien l'ajuster pour qu'elle permette de compenser un saut un poil trop court.

Big Punch, l'attaque niveau 2 de Apple Assault, qui serait capable d'incapaciter crayons et gommes (voire encriers) à courte distance. Le seul avantage sur un lancer de taille-crayon serait ici ... qu'il n'y a pas besoin de disposer d'un taille crayon. Peut-être moins marrant que dans le jeu d'exploration puisqu'il perdrait en grande partie son intérêt de "brise-craie".

Remember Apple Assault ? "Big Punch" is the intermediate weapon you could receive, that dispatched apples at safe distance, with a massive move. Here, it could stun pendats and recto-verso jumping erasers without requiring you to carry bladors around.

Float-Land, lui aussi, agit directement sur la gravité. Il s'agirait de doter
Super Powers as sketched in Summer 2014.
Bilou de l'équivalent des cheveux de Rayman ou de Dixie, voire d'une feuille-mojo pour planer un peu et atterir en sécurité quand il s'avère que le saut est trop court.
Maybe you'd rather float safely to that next book rather than rely on a timed jump ? That power-up is for you, raccoon friend ;)

Last one, the Wide Grab, is for all those who'd love to catch big air with a spongebop, but typically miss their (B) timing. Wide Grab would double your grabbing hit box. How couldn't you love that ;)


Wide Grab permettrait d'élargir la distance à laquelle Bilou peut se saisir d'un taille-crayon ou d'une éponge, sans aller jusqu'à lui faire don d'une "main-lasso". Cette marge de manoeuvre supplémentaire permettrait soit un gameplay plus "nerveux" (assomer et attraper un blador en un seul mouvement) mais aussi donnerait plus de chance aux joueurs de faire du rodéo sur les éponges.

Restera un choix crucial: celui d'octroyer un pouvoir semi-permanent (p.ex. jusqu'à la prochaine blessure) ou des "munitions" pour le pouvoir en question (mais autorisant de cumuler plusieurs pouvoirs). Vu le côté "arcade" de School Rush, je pencherais plutôt pour la 2eme option.

Saturday, November 13, 2010

Download AppleAssault 1.4

-- Oh wait. You could download version 1.6 instead !
Voilà, ma petite puce m'a enfin laissé assez de temps pour passer le dernier coup de polish sur Apple Assault que je peux du coup vous proposer en version "1.4". On y retrouve le "super-poing", des transitions entre les niveaux, correction de quelques bugs d'affichage dans l'écran-menu, support de la musique multi-piste amélioré. Je crois que c'est tout. En principe, ce sera la dernière version: je prépare un package "sources" et je passe à la suite.

See this post for the latest update on Apple Assault featuring the berry bat and revised apple rate.

Here you go: Apple Assault in its final "1.4" version. You keep fighting against apples, using your punch, big-punch, shuriken and evasive moves. This release introduce transitions between levels, improves support for multi-part soundtrack, and fixes minor graphical bugs in the menu screen. I don't plan to evolve this game further on : it's time to move to other Bilou games as soon as I have a source package released.


Introduction
Bilou et Bouli viennent juste de se crasher sur une planète étrange. Pendant que Bouli répare l'écran protecteur de l'Astrocruiser, Bilou doit faire face à une horde d'applemen déchainés !
Le jeu se joue sur 4 secteurs (nord-sud-est-ouest) que vous devez nettoyer avant de passer au suivant. Sautez d'abord sur les applemen avec (A) pour accumuler de la force de frappe que vous utiliserez pour les expédier au loin avec (B). A chaque vague d'assaut, les applemen sont plus nombreux. Jusqu'où tiendrez-vous ?

Bilou and Bouli have crashed on a strange planet. While Bouli is repairing the Astrocruiser's repellor shield, Bilou (the blue ball) has to keep hordes of crazy applemen away ! The game feature the four fields surrounding the cruiser that you must clean up so that Bouli can finish his job and provide you a safe retreat for further exploration. Stun the applemen by stomping them (A). That will provide you more punch power to dispatch the assaulters further away (B).
In each assault wave, the applemen will come back with reinforcement. How long will you stand ?


trucs & astuces
  • pour faire progresser la barre de punch plus vite, rebondissez sur les pommes (en réappuyant sur A au moment du choc)
  • les petits vers ne peuvent pas être éliminés, mais vous pouvez aussi rebondir dessus pour augmenter votre punch sans pour autant approcher les pommes.
  • dès que votre barre de punch est remplie (elle vire au jaune et une musique spéciale se fait entendre) , Bilou peut lancer un shuriken dévastateur. Par contre, celà vous videra de tout votre punch de moitié.
  • plus vous enchaînez les rebonds sans toucher le sol, plus votre score grimpera vite !
  • choisissez votre niveau de difficulté en mangeant des pommes dans le menu.
  • Funky Funghi, le champignon du niveau 4 est invulnérable. A contourner soigneusement.
Bug connu: bloquage du jeu possible si vous fermez la console pendant un chargement de niveau. Investigations en cours ...(corrigé dans la version -ld)

gameplay tips
  • you can build up your punch power faster if you press (A) again when bouncing on applemen
  • yellow worms can't be dispatched, but they can "help" Bilou building punch power while staying at safe distance from apples
  • once you've gathered enough power (your punch bar turns gold and the music change), you'll shoot a devastating shuriken instead of merely punching.
  • the more bounces you chain without touching the ground, the more you'll score.
  • check out the gameplay teaser video if you still can't beat level 2.
  • grab apples on the menu screen to select harder game difficulty.
  • Funky Funghi, the mushroom of level 4, cannot be defeated. Focus on the apples and don't mess with him.

If you think the gameplay choices are odd or bizarre, think of Apple Assault as a game in the lineage of Mario Bros. -- the initial, non-super one or Bubble Bobble


Historique sur dev-fr.org
Le projet sur Sourceforge

reported to work succesfully on R4, SuperCard DSTWO (Cid) and Acekard2i (Cid).
Fixed Bug: closing the lid just while the game (re)loads a level no longer leads to a livelock.

Special Thanks:

Sunday, October 10, 2010

Apple Assault 1.3 "French Touch"

Petite release intermédiaire parce que vous le valez bien, et à la demande de mon frangin qui est en contact avec El Mobo (le musicien de Fury of the Furries, entre-autres) et qui voudrait bien lui montrer ce que donne sa musique à lui "in game". Mode d'emploi dans la présentation de la version 1.0.

Au programme, musique d'intro pour le menu, "Gros Poing" et musique spéciale quand vous pouvez lancer des shuriken. J'aurais bien attendu d'avoir les séquences "level clear!", "try again" et "game over" programmées, mais mon trip a Paris m'ayant retourné les trippes, on va se contenter de ce qu'on a :-P

One more step done, but not yet up to the goal. Here's Apple Assault the way it was "presented in Paris" last week, with the "jump-to-order" option to support shuriken-rush and menu sub-tunes, Big Punch for additional damages and ... well. That's all. If you never played Apple Assault so far, have a look at the game presentation post while the download is in progress.

Friday, September 10, 2010

External Actions

using sound(16,56) as 0 Bilou shoot
using sound(0,60) as 1 Bilou hit
using shgob(state28:= 0 :1 1 :0) as 2 Bilou, right punch
using shgob(state29:= 0 :1 1 ~ :0) as 3 Bilou, left punch
using shgob(state19:=$100 :0 $100 ~ :1) as 4 Bilou, stomped star
using shgob(state19:=$100 ~ :0 $100 ~ :1) as 5 Bilou, other stomped star
using shgob(state0:=D) as 6 throw a fake appleman (?)
using sound(17,64) as 7 Bilou bop
using shgob(state18:= 0 :1 v6 :0) as 8 Bilou, shuriken
using shgob(state0 is e:=D) as 9 throw an appleman



ça fait un peu peur, hein ? C'est ainsi que je définis en "gobscript" les différentes classes C++ qui peuvent être appelées et quels paramètres leur donner. Il ne me restera plus qu'à dire "x4x5x1" lors d'une transition pour qu'on voit deux petites étoiles jaillir de bilou avec un son "ouch". Et si je vous mets ça en ligne, c'est parce que je vous concocte un "mégapunch" à placer entre le "coup de poing de base" et le shuriken dans apple assault ... wait'n'see.

Did I scared you ? This is how you bind external C++ code to transitions in gobscript ... well, you'd still have to specify "x4x5x1" to have small stars shots while you hear an "aouch" sound. Why do I put *that* online, will you ask ? because I needed to have a better overview of those actions so that I pick the proper numbers for the "big punch" action I'm testing right now. Yeah. Big punch. Larger collision box, more apples dispatched, more fun. Wait"n"see :)

edit: Oh Yeah! The "Big Punch" definitely roxx! I still have to fine-tune it, so that e.g. the master player can use it mid-air to knock-out applemen below him; but ... Man! It let me score 10005000 at the hardest difficulty level, and it makes me play less cowardly! I can't wait to have those additional tunes and share a next apple assault release with you!

todo: add a "state%%->self on ... [condition] (action)" mechanism so that we can easily encode the rules for punching while walking, idle, jumping and falling ... and a prio % command in animtions to select the plane on which things are.

Saturday, May 22, 2010

Apple Assault : 90% done ?

Okay, code is done and working on real hardware. You can stomp and bounce on applemen, you can "shoot something" when you've bounced enough. And applemen can be respawned, and their number can be dynamically defined. We're definitely getting closer to a "AppleAssault" release.

Oh yeah, I know. You've been hearing that since the start of the month. That's quite typical from a hobby project.

Why ain't I not releasing, then, might you think... Data, that is it. I need a few more things do be done:

Ca se rapproche, ça se rapproche. Ma petite démo ressemble de plus en plus au gameplay prévu pour Apple Assault. Au niveau du code du moteur de jeu, on y est, en fait. Reste une animation par-ci, par-là (coup de poing de Bilou, Appleman projeté ... Twinbee et Bonkers ont accepté de poser pour un résultat plus réaliste). Ensuite, il faudra que je m'attaque à quelques "arènes" pour ces moments épiques.

Note that the level editor is still in a "broken" state (that is, it won't be able to add monsters to a map in its current shape), so I hope this will not prevent me from doing arenas anyway.

Saturday, December 31, 2005

Mechanics (t.a.g.)

This is a term I borrow from Kirby Kid -- aka Richard Terrel.

Mechanics are the player initiated actions from controller inputs as designated by the game designers. These actions have effects on the gamestate in terms of the variables and dynamics of the gameplay system

.

In fact, if we consider that gameplay is the part that defines and rules interactions between game elements based on user inputs, mechanics are actually atomical element of the gameplay.

Une mécanique de jeu, ça va être un élément atomique de gameplay. Et le gameplay, c'est l'ensemble des règles déterminant les interactions entre les éléments du jeu sur base des actions de l'utilisateur. Oui, je comprends: ça paraît très formel, mais c'est justement l'idée derrière l'emprunt de ces termes à Richard Terrel: permettre de formaliser le discours sur un jeu. Dans mon cas, je fais principalement des jeux de plate-formes, donc mes mécaniques principales seront 'sauter' et 'courir'. je leur donne des tags dédiés. Je les note en Anglais et en majuscules (JUMP) quand je veux vraiment dire 'la mécanique du saut // le fait que le joueur pousse sur le bouton de saut pour faire sauter le personnage'.

I'm mostly building platformers here, so my primary mechanics are JUMP and RUN. I can modulate them with FLOAT. I don't quite have a shooting or fighting character, but it instead GRAB and THROW things.

As you have noted, I use all-caps when I want to obviously refer to gameplay actions (mechanics) within the text. I promise I won't shout too much.

Readme: KK: Mechanics & Abstractions (p.2)