Friday, July 29, 2016

School Rush Ready

Here comes a new challenge(r). Bilou: School Rush is at last ready for "VIP" players. There are no more things I need to add/fix for those 4 levels of platforming challenge. It may not be significant change compared to the last release, and these are clearly minor fixes compared to the last build, but it means the player should now no longer need some briefing: all the aspect should be readable and clean.

 Nous y sommes enfin! une version de School Rush qui tient plus du jeu que d'un béta-test. Ce n'est pas encore aussi parfait que je le voudrais, et ça manque sans doute de nouveauté pour mes fidèles testeurs, mais cette fois, j'estime avoir atteint le niveau de finition sur les quatres niveaux disponibles pour qu'il ne soit pas irrespectueux d'en parler aux dévelopeurs professionnels avec lesquels je suis en contact.

Si vous vous demandez "mais comment on y joue", n'hésitez pas à jeter un oeil au let's play de Pirez. (Enfin, assurez-vous quand-même d'avoir un émulateur NDS. DeSmuME, par exemple.

gameplay

You're controlling Bilou, a blue, ball-shaped explorer. You make him JUMP with the (A) button and grab things (or throw them) with (B). Your goal is to reach the right of each level before you're caught by the ever-raising ink.
You'll need to be quick, too. Use (R) or double-tap in left/right directions as if you were a pink, living vacuum cleaner.

You can stomp some monsters, you can throw sharpeners at others. Remember: the pencil soldats are the only real threat here, and they must be stopped from pouring even more ink for their autoritarist plans. Everything else that looks dangerous is mostly acting on fear and may prove very useful if you keep your head cold. Think about how useful a bobbing sponge could be if you could ride it (B). or how high an inkwell could shoot you ...

There are rumours of magical artifacts that could help you. The Fist of Justice, that noone can stand against (double-B) and the Floating Twister (hold A), that let you reach far away places. It's unlikely the pendats will let you recover them without a fight, though.

Story

At the far east of this school-like country, there is a gauge that will stop the ink. Rush for it! The books city is close to be destroyed once for all, and the elders' knowledge will be lost. This must be another plot from Square Root, who decided that mathematics are the only thing worth of being written down.
Everyone here seems to believe that Bilou is a sort of legendary hero...

How to play

Get the NDS image and play it on your homebrew-ready console or in an emulator, such as DeSmuME. See this page if you need extra explanation/instructions for running homebrews.

WARNING : difficulty selection on this release is partly broken : you have to touch the desired difficulty to get it selected. UP and DOWN directions, although changing the cursor's position, have no effect.

Monday, July 25, 2016

Blits!

https://sourceforge.net/projects/dsgametools/files/demo%20games/SchoolRush-fox.nds/downloadedit: all the other things are now fixed. If you're here for a download link, head to the real release post.

Si vous me suivez sur Twitter, vous avez peut-être déjà vu cette petite animation avec un flash quand on ramasse un power-up, suivi de petites étoiles sur Bilou. De quoi mettre en évidence (j'espère :P) le fait que Bilou a maintenant un pouvoir spécial. Dans ce cas, il ne vous reste plus qu'à télécharger cette petite version intermédiaire pour vous rendre compte de l'effet en vrai, à 60 fps avec le son.

I can at last release a running .NDS with that blits-and-sparkle effect when Bilou grabs a power-up. I got another instance of a corrupted .spr file which took longer to fix (automatic fixer just dropped the unique content and replicated some Bilou heads instead :(. With some more manual control over sprck, I finally managed to repair the file. Oh, and I got the additional hint for riding Spongebops, too.

Ça reste modeste par rapport à ce que mon frère espérait, mais j'approche tellement des limites de la mémoire vidéo et de mon éditeur de sprites qu'il va falloir vous en contenter: j'ai du carrément modifier mon outil de réparation de spriteset pour pouvoir faire des retouches à la main sur "quel tile est utilisé par quel bloc sur quelle page" pour éviter d'avoir des têtes de Bilou qui apparaissent dans les encriers ^^"

Thanks to Smealum, this is one of the most visited download page. You played the game ? You think something is missing ? Let me know with a comment ;)

Saturday, July 23, 2016

speed-up letters ?

One of the last things I need to add in Bilou: School Rush is meaning for the collectible letters. I have plan to let the player use them in a sort of shop, but I also acknowledge Kirby Kid when he says it is a shame they aren't encouraging the player to play well, but rather to slow down, grab them, and then keep moving.

It's been a few month I'm growing the idea to use a special type of letter for speed runners (e.g. ok, you won't be able to get all the bonuses in normal or hard mode, but can you get at least all the Rs ?). That would keep the game challenging for people who play it for the challenge and nice and friendly for kids toying around in easy mode.

Then I came with a nice function those letters could have. What if every time you hit an R, it would boost your speed by e.g. 10% ?

afterthought: School Rush got 'terminated' without actually trying that. I eventually just allowed letters to provide 1-UPs. It still does't goes "can you play well enough to collect these ?" but instead "have you played well enough to afford collecting these ?" or "will you play well enough to afford leaving these behind and rushing for the ultimate challenge".

necroedit: I've actually played a game, back then, that features that kind of speed-boost-power-ups, and that game is SuperFrog. And I remember it was annoying to be sent back to 'normal' speed once you're killed. If I was to feature something like that in a game, I'd at least have to do something like Shovel Knight floating treasures so you *could* recover most (if not full) speed boost without having to travel to tons of levels again.

It might work better if each speed boosts would bring you significant speed up (by 50% or maybe even doubling max speed) that would work only temporarily ... ehm ... wait ... That's Sonic's shoes.

Sunday, July 17, 2016

Riding Hints

Riding spongebops is not really a primary move in School Rush but still, it is important to know about it if you want to master the game. I managed to fit one more hint picture for the "magic book" on the bottom screen.

It was a bit more complicated to got it working this time: I needed a timer within the Hud so that we fall back to another hint when we stop bopping on a sponge. But as soon as you realize it is not the job for Bilou's state machine, the problem almost solves itself alone.


Si j'ai bien fait mes calculs, il est possible de terminer School Rush sans jamais avoir besoin de s'accrocher à une éponge. Celà dit, pour celui qui veut aller plus loin que juste "avancer dans le jeu" et a envie de devenir un Maître Bilou, savoir qu'il est possible de s'accrocher aux éponges est indispensable. Voilà donc une petite image supplémentaire pour le livre-interactif qui se déclenche lorsque Bilou rebondit sur une éponge.

Je voulais que l'image disparaisse automatiquement quand on aurait plus besoin d'elle. Ça aurait pu être quand Bilou retombe au sol, par exemple. Mais en fait, vu qu'il peut y avoir autant de rebonds qu'on veut et vu le nombre de variante pour "atterrir" qui existe dans la machine d'états de Bilou, le mieux c'est finalement que le retour à l'ancienne image soit géré directement par la classe HUD.

edit: that yellow mark on Bilou's head is the first step towards temporary sparkles when Bilou grabs a power-up that is now completed.

Saturday, July 16, 2016

Happy Birthday, SEDS!

2006: first ever SEDS build
C'était il y a 10 ans, déjà. Mes p'tits n'veux étaient plus petits que moi, et pas des grands costauds apprenti-DJs qui râlent parce que "le théorème de Pythagore, ça sert à rien" (faux!). J'en étais aux toutes premières versions de SEDS, mon éditeur de sprites pour la (relativement) nouvelle console de Nintendo: la DS.

J'avoue que j'espérais rassembler une communauté d'enthousiastes utilisateurs autour de ce qui ne sera finalement que "mon éditeur à moi, par moi, que j'utilise, mais vous pouvez vous en servir, hein, si vous voulez". Je ne peux en blâmer personne: en 200x, soit les gens ont appris à se servir des "vrais" programmes de dessins sans avoir besoin d'une petite grille sur écran tactile, soit ils savent où trouver des graphismes "Creative Common" et ça leur va ... soit ils ne s'intéressent pas à tout ça.

Tenez, même le gamin d'en face au barbecue de l'école qui fait aussi des p'tits jeux sur DS va à la chasse au pixel sur Internet plutôt que de s'entrainer au pixel art (il a au max 8 ans) et retouche éventuellement un peu ce qu'il a trouvé avant de l'intégrer dans DsGameMaker.

I started my collection of game tools for DS 10 years ago with some 16x16 grid and a simple "page" system to save/restore/update content. I had dream by then than giving the Internet some tools to intuitively draw pixel art on a handheld system would make the homebrewer community produce more original and nice pixels for their games. By then, they were shamelessly embedding ripped, copyrighted characters even for the most creative one.

It never really took off, and I can't really blame anyone for that: kids doing game making will more easily find creative common art that they can integrate even when targetting the NintendoDS. Pixel artists will likely have grown skills and workflow on their preferred tool that doesn't exist in SEDS. With paypal-powered (?) platforms to sell your pixel art as "assets pack" and guys agreeing to have somewhat generic graphics in their game, the once-mandatory coder + gfx duet of the eighties is no longer a must to make a game.


2016. dsgametools cover almost everything but scripts.
J'espérais que tous mes potes autour de moi (p'tits n'veux, frangin,  vieux'd'la vieille et collègues) sauteraient sur l'occasion pour faire des niveaux comme au bon vieux temps des mercredi après-midi sur RSD Game-Maker. Ça non plus, ça n'aura pas marché. Mon éditeur de niveau reste trop rigide pour le non-initié et les graphismes que j'ai créés demandent des ajustements que les gamins ne prendront pas la peine de faire.

I also had hope that creating a level editor for DS would encourage my relatives (nephews, brother, old-time-friends and co-worker), all enthusiasts about game development in general, to make their own level and I would simply need to integrate what they crafted. It didn't worked either. The map editor never became user-friendly to the point it felt attractive to anybody, I'm afraid.

Et puis il y a le scripting lui-même. Les "machines d'état", cette partie du développement qui -- encore 10 ans après le lancement des "dsgametools" se passe toujours sur le PC. Celle-là est de loin la plus rébarbative. Même si le langage colle assez bien à ce qu'on veut faire, avec ses concepts de zones de collision, d'états, de transitions, d'effets spéciaux, de contrôleurs etc. il est terriblement difficile à apprendre.
but there is *so much* I miss to make it a comfortable development environment for hobbyist gamedev'ers
Je suis sous le charme de l'idée de "Learnable Programming" et de cet environnement de développement idyllique où l'on pourrait voyager dans le temps et dans l'espace d'état d'un bloc de code pour comprendre ce qui se passe, où, pourquoi et comment. J'ai mon "Inspector Widget" qui me permet de suivre d'un peu plus près ce qui se passe du point de vue des "objets/personnages" mobiles du jeu. C'est loin d'être suffisant.

There is one thing left I haven't tackled within those 10 years. The state machines, describing how characters and monsters behave, still require text editing on PC. This is a bit of a pity because a text editor is far from being the most learnable-friendly environment for the task. Collision areas are obfuscated behind numbers, compilation cycles are mandatory to check whether a new move is working or not.

I'd love to have it on the DS too. You would see what the actual objects you manipulate are. You'd be able to track state changes and variable effects with much better integration than with Inspector Widget.

CC tileset by Arachne. (*so* talented girl!)
Je n'ai peut-être pas réalisé à quel point la présence d'Internet a transformé le développement de jeux amateurs, non plus. En 1986, si tu voulais faire un jeu vidéo, il fallait soit que tu sois bon en graphisme et en programmation, soit que tu connaisses un bon graphiste et un bon programmeur (après, il reste à inventer un bon jeu, avec de bonnes idées et à bien doser la difficulté, mais ça, ça n'a pas franchement changé).
En '96, c'était presque la même chose sauf qu'on a pu commencer à remplacer "un bon programmeur" par "quelqu'un qui comprend comment se servir de RSD Game-Maker", à condition de ne pas être trop difficile sur le gameplay espéré.

Maintenant, celui qui aime faire des graphismes "comme dans les jeux" peut juste faire ça et mettre ses graphismes comme des "assets pack" sur un forum. Ou alors, il passe une semaine à apprendre un outil intégré à un moteur de jeu. Celui qui a envie de montrer qu'il programme tellement bien qu'il peut s'attaquer a des jeux n'a pas besoin de connaître quelqu'un qui fait des graphismes, pourvu qu'il connaisse un endroit où le premier a mis ses graphismes.

Friday, July 15, 2016

Impardonnable (sic)

Très chouette cadeau de retour de vacances que Pirez (fait de la résistance sur sa chaîne "Pikajouent") me fait là: la toute première vidéo d'analyse et critique du jeu "School Rush" manette en main. De quoi mieux me rendre compte que les morts-instantanées-dans-l'encre sont plus fréquente que je ne l'aurais cru pour un joueur qui découvre le jeu. Et les fins de niveau (en mode normal) ont tendance à brusquement rendre ce genre de faux-pas beaucoup plus fréquent. Impardonnable  ?

J'imagine que Pirez a voulu dire que le jeu est sans pitié. Intraîtable... en un mot, punitif. Impitoyable. Je dois lui donner raison, maintenant que je l'ai vu à l'oeuvre. Mais je ne suis pas sûr que ça me déplaise. Si je compare les deux sessions de jeu de Pirez dans SchoolRush, il s'est indubitablement amélioré de l'une a l'autre. Il a augmenté sa maîtrise du jeu et je pense que c'est ce qui rend intéressant ce genre de jeu.

Huge thanks fly to Pirez, who brings the Internet the very first Let's Play video for Bilou: School Rush. I hope this will be a nice way to get the game reach a broader audience, as it is typically easier to share a video with friends that show them a game that require specific (and aging) hardware to run.

From his video, Pirez describe School Rush as an unforgiving game (in 'normal' difficulty). And now that I see him failing about 256 pixels away from the level's goal, I cannot really dodge the argument anymore. At some point in the level, there start being "deep ink pits" where dropping a single toe means eventual death. Maybe it would be something to absolutely fix in a non-retro game. I can understand that in such circumstance, player may not feel like re-playing the first half of the level to get a second chance... and yet I cannot help remembering that for Commander Keen, every single contact with any ennemy meant instant death.

  • first failure after 1:20 in level 1 could have been avoided if Bilou automatically dropped the blador to ride the inkjet.
  • at the 3rd try, Pirez properly stun one inkjet to ease the challenge, but yet falls in the ink. Yet, he manages to jump back into the inkjet (mostly out of luck, I admit). By then, he reaches that point of the game within 50 seconds. He gets hit a bit later by the last inkdrop of the level, but hopefully, he is pushed back to a safe platform. He'll be less lucky in the second run of the game.