Wednesday, August 19, 2015

Zeldas are MetroidVanias ?

DOWN+B for pendats, UP+B for spongebops ?
I've been reading guide to metroidvania style lately, and reading that the author considered the Zelda series as games following the overall rules of metroidvania quite puzzled me. It means that the kind of menu navigation to pick the proper item that feels acceptable in Zelda and annoying in Megaman X is not bound to the perspective or the fantasy theme of Zelda. It means that the deviations from pure menu-ing seen in Link Between Worlds (where you gain the ability to use 2 items plus your sword, to define "quick selection" range, etc.) could apply to Bilou. I'll have to investigate that deeper.

Si on en croit Kynan Pearson, Zelda pourrait être assimilé à un MetroïdVania. Un monde ouvert et des items permanents à trouver qui permettent d'accéder à de nouvelles zones ... Si les items de Link sont un peu plus variés que des tirs plus ou moins puissants, avec ou sans missiles, je dirais que ça risque d'être surtout une impression. En terme de gameplay, on retrouve de la vulnérabilité ou non à tel item, une portée et une vitesse qui permettent de connaître "l'espace-temps" d'aggressivité de chaque item. Finalement, armure gravifique ou bottes de pégase, c'est surtout une question d'habillage scénaristique.

Ce qu'il y a d'intéressant, c'est que les menus de Zelda n'était généralement pas aussi ralentissants dans le gameplay que ceux de Megaman X. Du coup, les solutions intermédiaires de Link Between Worlds pourraient aussi s'appliquer à Bilou pour réduire les changements d'item sans pousser jusqu'à imposer une nouvelle combinaison pour chacun d'eux.
Ce serait l'organisation des niveaux, ne réclamant qu'un seul objet-clé et laissant l'autre au libre choix du joueur, laissant assez de temps d'exploration entre deux changements d'objet.

Peut-être que d'autres genres (shoot-em-up) pourraient eux aussi proposer des variantes du power-up utiles pour Bilou, du coup.


I believe what makes it work is the size of the area that can be played with a given item selection when you've picked the right item. LBW dungeons work great that way. Maybe it is time for me to play some Metroïd, after all. Maybe power-up techniques from other genres could help adapting input patterns to power-ups and game design.

NB: ce qui est amusant, c'est que j'aurais plutôt eu tendance à décrire les metroïdvanias comme "un Zelda avec de la gravité"

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.

Tuesday, July 28, 2015

Good Ending / Bad Ending.

Much like Pac-Man, Pharaoh's curse and Apple Assault, my current game -- Bilou's School Rush -- has a limited number of maps and wraps back at map #1 when the player has cleared them all. Like in the games mentioned above, this wrap is completed by an increase in the difficulty of the game. Here, this is the ink raising faster, forcing the player to complete the game faster or to find new routes. I believe this is a nice way to build a game people can become good at while keeping an amount of game content that matches what a single person can create.

Quel est le point commun entre Pac-man, Pharaoh's Curse et Bilou ? Le retour du niveau N au niveau 1. Désolé pour les grincements de dents, mais pour avoir joué à quelques jeux de plate-forme homebrew qui ont tenté directement le mode "aventure", le résultat s'est révélé insipide, si bien que je veille à ce que mes jeux actuels offrent une plage de difficulté suffisante pour qu'on puisse y revenir plusieurs fois et y trouver du divertissement même s'ils n'ont que 4 niveaux.

But this time, I don't want to stop there. I have plans for an ultimate level that is not accessible to "easy" (and possibly not even to "normal") difficulty level. Only when completing that final level will the true story be revealed and the happy end unlocked. And with Sourceforge's SVN finally restored, I can push the tuning that makes such alternate ending possible without adding artificial branching in the game. The "bad" ending being simply the story-compatible excuse for restarting the game at higher pace.

En cherchant une façon de justifier ce "retour en arrière avec difficulté augmentée" par une petite histoire dans School Rush, j'ai commencé à imaginer une véritable sortie, avec une "vraie fin". Il faut dire que contrairement à Apple Assault, School Rush finit par devenir injouable si l'encre monte de plus en plus vite (au point que Bilou n'a plus moyen de courir assez vite).  J'ai finalement apporté les ajustements nécessaires pour ouvrir la voie vers cette fin alternative. Le décor pour le dernier niveau progresse lentement, mais sûrement... je vais pouvoir m'attaquer au level design ... et sans stress puisqu'il n'y aura visiblement plus de "retro compo" de chez NeoFlash ...

Sunday, July 26, 2015

Concept art : pyramid zone

C'est plus calme à la maison... j'en profite pour faire un peu de "concept art" pour la pyramide qui essaie de se trouver une identité propre et un gameplay. Le clin d'oeil à Fury semble enfin avoir trouvé sa place dans l'aventure de Bilou ... Voyons si pharaoh's curse peut m'apporter un peu d'inspiration.

There is definitely something odd with this huge, pyramidal building Bilou and Bouli found in the desert. Not only runes start to shine on monoliths, not only some cage change the color of those square-shaped beings that seem to have the power to open doors and move blocks around, but there are also those furballs all around the place. Not that our B dudes seems to complain, but it looks like some of them shouldn't be where they are.

Saturday, July 25, 2015

Les Homebrew de 2015 -- driven to insanity

Je peux difficilement me plaindre que mon "School Rush" reste dans l'ombre si, tout équippé pour le homebrew comme je le suis, je ne jette pas un seul regard au travail des autres. J'avoue que d'emblée les titres parus en 2015 sur Nintendomax ne sont pas du genre à m'attirer. Ils ont aussi été presque tous réalisés en Lua-sur-DS ou avec DS game maker, donc peu d'intérêt de programmeur ... mais laissons ces préjugés au placard, sortons hbmenu.nds (ils nécessitent le nouveau protocole "argv" qui n'est pas supporté de base par mon linker de bisounours) et regardons ça de plus près.

I am not the only one to make homebrew content for the Nintendo DS, even in 2015. The DS Game Maker still receives new game now and then, relayed on NintendoMax. Not the kind of projects that appeal me, but if *I* don't pay attention to others' work, why would others' pay attention to mine ?

I started with "driven to insanity", a board game for 3 players developed by Mumpyboor when he was 12. I mostly complain that you cannot learn the goal of the game by running the game. Either you guess it (I guessed I must go to any "goal" and then back to the start) or you open readme.txt... There are health status to take care of, room for strategy, chance events... it could be worth somewhat better graphics but things remain readable. Yet, I don't think I'll run it ever again, not without english-speaking kids around to play it. I hope the more recent humour-driven game by Mumpyboor will please me more.


Je commence par "driven to insanity" (mumpyboor, janvier). Un jeu de plateau converti sur DS à jouer avec deux comparse. Il y a des cartes chances, il faut prendre soin de votre bus et de votre santé. On dirait qu'il faut passer à un des "goal" puis retourner au point de départ un nombre suffisant de fois pour remporter la partie, mais le jeu manque un peu d'explications sur ce point.

La réalisation est un peu élémentaire mais sans être désagréable pour autant. Une bonne entrée en matière pour un développeur qui avait 12 ans à l'époque. J'espère que "jihad au mont Olympe" du même auteur sera plus intéressant. Là, c'est vraiment pour l'article que j'ai continué à trainer mes 3 bus jusqu'à un marquer un point. Je dirais bien "ce sera pour amuser les enfants", mais en anglais, ça ne marchera pas sans moi.

Tuesday, July 21, 2015

See you, bloggers.

With dev-scene.com dropped, dev-fr crashed, google reader turned off and the DS celebrating its 10 years, my RSS feeds list has shrunk to the point it is no longer worth checking. I wished to thanks their author for the nice ideas shared between 2005 and 2012 (mostly).

J'ai beaucoup aimé les années blog, que je situeraient de 2005 à 2010. J'ai beaucoup aimé l'ambiance bon enfant de dev-fr jusqu'à ce que l'engouement pour les iPhones ne le dépeuple et qu'un Androïd ne lui donne le coup de grâce. Je suivais les développement des uns et des autres via Google Reader grâce à la magie des RSS. Je laissais des commentaires et j'en recevais quelques-uns en retour. Tout celà est loin maintenant. Les blogs sont au mieux alimentés d'un "je ne suis pas mort" annuel. Au pire, leur adresse a été vampirisée par un quelconque annonceur sans scrupule. Petit message de sympathie à mes correspondants de l'époque.

0xtob is the author of NTXM library and nitrotracker for Nintendo DS. I owe him a lot -- including a patch featuring my upgrades to his player. His work has now moved to code.google.com. His blog is gone, his homepage is still there.

Je commence par 0xtob, à qui je dois la base du son dans mes homebrew. Je lui dois d'ailleurs toujours un rétro-portage de mon code pour les effets (vibrato, etc) dans sa nouvelle architecture... Le blog est mort. La page d'accueil lui a survécu. Le code aussi. J'aurais dû regarder de plus près à son moteur physique, peut-être ?


Squidi had the Grand project of describing 300 game mechanics. One a day, iirc. He went quite far away, around 160 mechanics, and even started implementing examples in HTML5. I think the archive.org is the only way to consult content he wrote.

Il n'y avait pas que des homebrew dans mes flux RSS, mais aussi les nouvelles idées très chouette de règles de jeu. Il s'était fixé l'objectif de 300 règles, il est arrivé au résultat très honorable de 160. Bien mieux que le catalogue des Jeux Vidéos Obsolètes.

Sverx doesn't post much anymore, but he's still into homebrewing. Mostly moved to SEGA mastersystem tools/libraries and posting code on github.

Les petits jeux de Sverx étaient bien agréables. Ses conseils de baroudeur des consoles Nintendo Précieux. Il est maintenant passé à une bibliothèque pour la Master System de SEGA. Github semble être suffisant par rapport à un blog puisqu'il n'y met plus qu'un bonjour par an.

J'adorais les mini-jeux de Mia. Lui a continué à blogger de temps en temps, et son blog est toujours actif. Comme de nombreux homebrewers' Mia est passé au jeux Androïd, mais malheureusement avec de "simples" jeux de cartes. Peut-être celà représente-t'il un vieux challenge à vaincre pour lui ?

Last but not least, I'd like to greet Mia and thank him for his inspiring little games on Nintendo DS. He switched to Androïd, like many other french homebrewers. It's a bit of a pity that he decided to make only plain card games. I know he used to rip nintendo graphics because he had no own characters for his games. Maybe that's still missing for him ? Maybe he doesn't know about Open Game Art ?

And then, there are those who haven't gave up. I'm impressed at how Smealum (previously releasing Aperture Science for DS and the first DS minecraft clone) makes progress towards a full understanding of the 3DS, and it looks like there is now a growing community of 3DS software homebrewers, reaching the state where a clone-of-moonshell is being crafted. So far, what I want to do fits the NDS alone, I haven't found any way to push homebrew to my own DS (I'm often lacking the game to exploit) nor did I started investigating what others have done / found on that newer hardware,  but maybe that would be the best way to quit that feeling of being a lomesone cowboy lost in the deserts of NDS homebrew...


Oh ... et pendant ce temps-là, Zalo nous sort quelques tutoriels 3DS et une reprise de Jumping Jack sur son blog ^_^

Monday, July 13, 2015

Le journal de Link : je prends le chateau d'assaut.

Cher journal, j'ai trouvé l'épée. Sa lame m'hypnotise presque... j'en ai la tête qui tourne. Je dois prendre le chateau d'assaut. Le sceau de Yuga est brisé, mais il grouille de ses gardes-grafitis. Même avec une fée à mes côtés, je ne vais pas m'en sortir en fonçant dans le tas. Ils sont trop nombreux. Je suis trop faible. L'autre, là, à l'entrée du premier étage me met K.O. en deux coups de sa masse d'arme tournoyante.

On m'avait raconté au bar lonlon que ce genre de lascar, ça ne vaut pas la peine d'essayer l'escrime avec eux. Ils ne comprennent que la manière forte ... la magie.

Je ne suis pas d'accord. Ok, ça fait plaisir d'avoir la moyen d'en assommer toute une mélée pour gagner le temps de les attaquer un à un. Mais il y a moyen. C'est une question de timing. Une flèche, un pas, une flèche, un pas puis j'enchaîne les coups d'épée juste au bon rythme et il est au sol avant d'avoir pu lancer sa boule une seule fois. Mon épée tournoyante peut les atteindre, même quand leur arme est braquée sur moi. Là aussi, c'est une question de précision. La fenêtre est étroite, mais elle existe. Je dois apprendre à la voir. À fondre dedans comme un rapace intrépide dans la brèche.

J'y mettrai le temps, mais j'aurai ma stratégie. Je taillerai mon chemin à coup d'épée jusqu'à ce taré de gribouilleur avant qu'il n'ait le temps de poser le regard sur la princesse.