Tuesday, June 30, 2015

Reading: Ken Kutagari.

Avec le recul, ça pourrait être mon "life-changing book: 4/3". Une lecture très enrichissante qui dépasse la simple annecdote de playhistoire pour nous donner une idée assez précise des enjeux de la conception d'un équippement électronique de pointe. Complexité d'approvisionnements, choix marketting, ... comment le fait d'utiliser moins de robots pour placer les puces sur la carte-mère est la meilleure option pour baisser les coûts (et enterrer la Saturn de SEGA). De quoi quitter un moment l'artisanat du homebrew pour découvrir "le vrai monde" de la production électronique de masse, parce qu'en électronique, si on a pas la masse, on y est.

Another Great Read at Pix'n'Love editions, but this time, you too, English-readers, can enjoy it, and not only the French-Folks. Because Reiji Asukara wrote it in English under the title "Revolutionaries at Sony", published by Mac-GrawHill, obviously. It goes well beyond telling the tale of Nintendo and Sony teaming up, then splitting, then fighting to death. It gives you a complete overview of how a technical tour de force has been converted into a successful mass-market product. Retrospectively, I realise that everytime I have to understand why some idea to hack around some existing hardware to extend functionalities cannot be integrated into a finished product, I end up mapping the situation to one of the key decisions of Ken Kutagari in the PlayStation design story.

Le côté technique est malgré tout un peu léger. J'aurais aimé voir en vis-à-vis le schéma général de la PS1, voire l'organigramme de son CPU/GPU basé sur le System G... Pour ça, il me faudra faire l'étude du "psx-tek" comme j'ai étudié les DS-tek et GBA-tek, encore qu'il est probable que je laisse ça à mon ancien étudiant qui avait réussi à s'acheter une "Net Yaroze" d'occasion... Peut-être que Ce que vous avez toujours voulu savoir sur la Playstation (par Joshua Walker)
.txt donnerait quelques raccourcis, celà dit.

I would have loved the book to go a little bit more into the technical details, though. It is nice to have this discourse over the hardware evolving towards lower manufacturing costs and how it was decisive in the race against the Sega Saturn. It would have been much better to show together the motherboard layouts over the evolution. The book kind of assume that you've teared down a PSX already or that you don't want to depict the chips in your mind when it tells about it.

There's very little being said about the actual engineering of the GPU, the component that made the PSX so unique. Because it is architectured along the (now classic) model of a command FIFO and hiding the video memory from the CPU altogether, even showing the register map do not reveal a single detail about how things are structured to make the rendition of 360,000 polygons per frame possible for the first time except two words: massively parallel. There's not a single example of what "the framework" that PSX developers had to use. For the first time, afaik, a gaming console was made using a CPU that had a "kernel mode" and a "user mode", unlike microcomputers-derived CPUs in NES-SMS-Genesis-SNES. I'm left guessing the kind of functions / construction blocks might be in there, but it shed light about misunderstandings concerning the "BIOS" of the playstation line of products: magazines may have messed up BIOS, kernel and framework countless times.

Je comprends néanmoins qu'une grande partie de ce qui était présenté à l'époque comme le "BIOS" de la PS2 (pour faire bouger les cheveux) était sans doute plutôt un composant du "framework", cet ensemble de fonctions toujours grandissant mis à la disposition des développeurs de jeu pour qu'il puissent se concentrer sur leur développement. Pas uniquement des bouts de code présent sur tous les systèmes ni même des bouts de code destinés à être embarqués sur CD, mais aussi les outils de développement qui vont avec ... peut-être p.ex. un encodeur vidéo pour 3DSmax qui utiliseraient au mieux le décodeur vidéo hardware présent sur la console.

NB: je n'ai jamais eu de Playstation ni cherché à en avoir une. Aucun des jeux que mon frangin me montrera sur la sienne (après Y2K) ne me convaincront. Seul m'aura plus Rayman, que j'ai eu en version PC (, avec un pad plus capricieux mais mieux adapté à mon historique de jeu.

Monday, June 29, 2015

book stack ...

A few days after releasing the playable version of Bilou : School Rush, I started encountering ideas for one ultimate level, one where you climb up to the top, rather than running horizontally. Something much more along the lines of the "original" deep-ink-pit although not expecting any specific game physics.
What was nice with that was that it turned the otherwise purpose-less "school rush" into something backed by a story (simple, I admit, but a story nonetheless). It opened nice opportunities to have hand-drawn pictures as support for a "game ending / credit" moment, too... and last but not least I found a nice way to ensure that this last level is available only in "amiga" or "arcade" mode, but not in "casual" (which is meant for training and teasing, as you remember).

A sketching pause was more than welcome, and now I have some concept art and some tiki-books for the background to change the atmosphere of the ultimate level. I'm under the process of converting that to pixel art. With a size of over 800 individual tiles, it is clearly the biggest piece i've addressed with my sprite editor. I had to chunk it into 64-pixels slices, resisting the temptation to redesign the UI of the editor, but I'll allow myself to add a "live mockup construction mode" before I'm done.
I first opted for 32-indexed colours in Gimp, thinking that I'd paint over the lines, but the shapes are too far from pixel-friendly angles, and "cleaning up", adding highlihgts could turn out to be my best approach. Yet, I'm already raging against my own self:

  • clicking '+' on the quick palette widget insert the selected colors, shifting existing colors to make some room, collapsing places they come from ... but I couldn't find that documented anywhere;
  • '!' (replace current color by its closest match) acting only on the grid is too restrictive for such pieces
  • '!' and '?' (search for color closest match and occurence of the color in the tileset) are disabled after we load something on the grid. I have to shift the pixels around before the buttons work again.
  • losing the content of the 32x32 grid when entering palette screen or touching one 16x16 block on the tilesheet should never occur again.
PS: please excuse french/english hopping again: it's another i'm-sick-and-blogging week.

Saturday, June 27, 2015

Le journal de link : la demeure des vents.

Cher journal, il m'arrive un truc extraordinaire. Tu sais, ce vieux truc tout puant dont je t'avais parlé, eh bien, grâce à lui je peux passer sur les murs!! Je deviens tout plat, collé au mur, puis je ressors où je veux. Du coup, j'ai enfin pu me faufiler jusqu'à la caverne des Zoras. Je crois que leur reine en pince un peu pour moi: elle m'a filé une paire de palmes gratos !

Du coup, je peux aller voir l'intérieur de ce vieux moulin déglingué que Sahasralah appelle "la demeure des vents"... le rendez-vous des courants d'air, oui! 'faut pas se fier au look qu'il a de l'extérieur: c'est carré, avec des passerelles branlantes dans tous les sens et (heureusement) des pavés magiques qui arrêtent certaines mini-tornades ou en déclenche d'autres.

La "baguette-tornade" que j'ai louée n'est pas ultra-pratique, par contre. J'avais espéré qu'en la maniant comme il faut j'aurai pu passer par-dessus les trous, mais tout ce que j'arrive à faire, c'est à monter et redescendre pile d'où je suis parti. Grr. Enfin, c'est pas si grave avec le nombre de trucs qui bougent dans tous les sens ici, j'arrive plus ou moins à m'en sortir.

... C'est marrant, je les voyaient pas du tout comme ça, les "anges-grenades" des histoire de Mémé dans le moulin de son grand-père ...

Wednesday, June 24, 2015

Pac In Time sur GameBoy

Dans la liste "Prêtés à Pype" de mon frère, il y a depuis un moment "Pac In Time", comprenez pour les anciens possesseurs de machine Commodore "Fury of the Furries moddé par Namco". Je me refais un petit essai ce soir avant d'aller dormir. Pour la micro-machine de nintendo, l'animation est fluide, les graphismes parfaitement lisibles (GameBoy advance micro, avec un perso rouge sur décor gris) le son de bonne qualité. La physique des personnages est parfaitement rendue. En fait, il suffirait presque de faire un rom hack pour ré-ébouriffer la boule de poile vedette pour retrouver le "bon vieux jeu de Kalisto Atreïd Concept" (sur une licence qui n'était pas à eux :P)

I'm playing Pac in Time, borrowed from my brother. Yes, that's it, a game boy color cover of my puzzle-platformer reference game: Fury of the Furries, but de-vamped with a pacman character. Animation is smooth, graphics are readable and sound quality is quite great. The gameplay and physics are perfectly aligned with my memories of the Amiga/PC game. I cannot tell the tale of how an almost-original concept turned recycled into a franchise, and that's typically the kind of things that make me sad for people who try and be creative.

Instead, allow me to point out two major drawbacks of the conversion. First, with sound design. It is not uncommon to die a lot in Fury of the Furries and even when you don't, levels tend to be fairly short, at least at the start of the game. In this context, the 5-second pacman jingle repeated everytime you enter the level tend to break game immersion, considering that Moby's soundtracks were long and varied enough so that they could loop and keep you entertained. Even worse, pressing "pause" mutes the song altogether.

Comment "Fury of the Furries" a-t'il pu se faire dévisager en "Pac In Time" ? J'aimerais beaucoup avoir le fin mot de l'histoire, bien sûr. Disons que comme pièce à conviction, j'aimerais que la cour prenne connaissance de la spritesheet de la zone du chateau. Le jeu est plein de clins d'oeil du genre "pop culture", mais il se peut que les éditeurs aient estimé qu'on était trop près d'un plagiat des personnages de Pacman pour oser une sortie sur console ... voire que Namco, irrité des fantaisies sur micro aient exigé réparation avec une "vraie licence" où ils recevraient une part des ventes du jeu.

Deux points noirs, cependant. Niveau sound design, d'abord, avec le jingle de pacman qui prend 5 secondes avant le début de la musique, et qui casse l'immersion là où FoF d'origine nous gardait le thème du niveau en boucle. Idem quand on met la pause qui nous plaque un gros silence radio...

Niveau game design ensuite. Qui dit Fury dit "changer de pouvoir régulièrement". Dans la version PC, ça s'accompagne d'un petit son sympa lorsqu'on maintient le pad vers le bas alors que notre perso est au sol. on sélectionne son pouvoir avec gauche/droite, on valide avec le bouton de pouvoir. Nickel. Sur gameboy, tout ça se fait par l'intermédiaire de l'écran de pause, forçant des coupures régulières dans le gameplay. Ça casse l'ambiance... dommage.


Enfin, il y a la taille de l'écran. Dès que les niveaux deviennent un rien exigeant, les panneaux "attention danger" de FoF ne suffisent plus. On doit faire des sauts sans pouvoir voir la fin des pics qu'on cherche à éviter ... et ça c'est quand on peut voir les pics au moment de commencer à sauter. L'écran de la gameboy fait la moitié de la largeur du 320x200 d'un Amiga. Ça tue le plaisir de retrouver le jeu...

The second drawback comes with game design. Playing Fury of the Furries implies that you're frequently switching between characters to pick the special power you need to progress (block-chomping, fireball-throwing, ninja-roping or swimming). In the PC version, you'd do that without interrupting the game by pressing *down* while your character stands on ground and then switch character with left/right. Here, it happens in the "pause" screen. You lose contact with the world (a blank screen and muted soundtrack), and the ambiance is broken every time you use what defines the game the most.

Finally, compared to the original game, most hitboxes are very rough compared to the original, and several baddies feel unfairly dangerous compared to their look. Yet, the game is made much more accessible by the fact that *every* level now has a corresponding password, where the floppy version only granted you a save state every 6 levels

edit: deux cachets d'aspirine plus tard, je suis au niveau 2-6. Les maps de HOL me permettent d'aller voir ce que ni l'écran ni ma mémoire ne peut me dire. Certains ennemis ont été supprimés, mais le système de collision "au pixel près" a été remplacé par des hitbox grossières (sans doute faute de puissance de traitement sur le Z80 du gameboy), et il vaut mieux résister à la tentation de se faufiler entre les ennemis. Les limites de temps sont beaucoup plus serrées que dans la version originale, mais le système de mots de passe niveau par niveau permet de revenir à la charge (une sauvegarde automatique tous les 6 niveaux avec assez peu de vies dans l'original). Les niveaux bonus auraient-ils complètement disparu ?

Tuesday, June 23, 2015

Twinbee Rainbow Bell: la face cachée.

Vous vous souvenez de "Twinbee: Rainbow Adventures" sur SNES ? Moi oui. C'est toujours un de mes "platformers" préférés. Grâce à BananaMaster et à l'émission "SpeedGame" de Nesblog, je viens de découvrir une face de ce jeu que j'ignorais complètement: la version japonaise du jeu contenait une dimension d'exploration qui m'étais totalement inconnue.

I've been surprised to hear Banana Master presenting Twinbee: Rainbow Bell Adventure as an obscure, unknown platformer. After all, it's among my favourite titles on Super NES. I've been playing it, watching it, fan-covering it and playing it again ...But I was even more surprised to learn that the "European" version did not have the same overall game design as the Japanese version. Or maybe Pascal "Kameah"'s K7 featured an import of the Japanese version ?

Voyez plutôt: la map en version Européenne. Une sortie par niveau, une sorte de grosse spirale du début à la fin. A chaque niveau, il n'y aura qu'une seule sortie, bien sûr.

European game is linear. You find the exit of each level and you unlock the next one. The fact that you're moving on a map is purely cosmetic. The Japanese version, instead, has a kind of meta-game where you explore levels in a route you plan yourself. I'm not sure how the game decides that you may enter final levels, though. Personally, I prefer the original "Japanese" game design, which is closer to the kind of world map that my brother used to draw for our own "Bilou's adventure".

La version Japonaise, en revanche, aura une map avec plusieurs sorties dans un nombre important de niveaux, avec une dimension d'exploration "mais par où est-ce que je dois sortir d'ici pour continuer à progresser?" ...
Ce système n'est pas sans rappeler le design des niveaux de notre propre "Bilou's Adventure", même si mon frère avait plutôt en tête un système de "morceau de map" à récolter ici et là dans le niveau avant de se diriger vers une sortie unique plutôt que d'avoir plusieurs portes de sorties comme dans NSMB ou DK:Tropical Freeze.

Wednesday, June 17, 2015

Cave Story sur (3)DS.

En 2004, après 5 ans de développement en solo, si on en croit la légende, Pixel offrait au Web Cave Story, ce que je considère personnellement comme le point de départ du jeu indé moderne. Un retour au sources graphiques et de gameplay à quelque-chose à cheval entre NES et SuperNES. Noël dernier, Je reçois de mon frère une surprise épatante: une version boîte de Cave Story 3D!

Built by a single person in 5 years, looking retro but with stunning gameplay and intriguing story revealed as you play, it turned famous and praised by the Web. I'm tempted to consider it the root of the current indie game fashion. It was surprising succesful for a 2D game 2 years before New Super Mario Bros. It is the game that made me realize that I could build Bilou's Adventure the way we dreamt it back in '94 and the look wouldn't matter if it was done right. Yes, I'm talking about Cave Story.

Somewhat 7 years later, Cave Story -- initially free on Windows -- is available on most video game consoles as official games. Sometimes as downloadable game, and sometimes as a real cartridge, like with the 3DS remake I received this Christmas. Surprised it took me so long to blog about it ?

Il a été assez difficile de m'y mettre: comparé à un Super Mario, Cave Story est un jeu exigeant de la patience, et vu mon niveau, il faut réessayer et encore réessayer. L'inertie forte du personnage combinée au pad-champignon mou et aux plate-formes miniatures d'un bloc de large mettent ma dextérité à mal. Du coup, je peux difficilement me permettre des parties de 10-15 minutes à côté de ma fille. Elle va me mettre la pression parce que j'échoue et au final, le jeu aura déterioré l'état de mes nerfs au lieu de l'améliorer. Inacceptable pour un Super Papa Bros.

Nowadays, when I play some game, it's usually as a way to entertain my kids that's also fun and relaxing for me. Something between reading a book (which I do too, even excerpts of D. Eddings, J.K. Rowling or J.RR. Tolkien) and letting them watch a cartoon... That works well with Rayman (because I know the game) or Mario (because it's designed not to trap you), but it was not working with Cave Story 3D. So I'm playing the game only in the evening, and not progressing as fast as usual.

Côté graphisme, on sent bien que le studio Nicalis n'a pas lésiné lors du portage, mais on perd malheureusement beaucoup en lisibilité de la situation. Le gameplay -- autrefois précis et nerveux -- devient flou et approximatif.

The visuals are appealing for sure. Revamped to the bones so that it works well with the stereoscopic screen although the level maps were completely flat. Not much room to move the player between front and back planes. So instead, the depth is used so that you know which part of the 3D world can be walked on, and which part is just decorative. And this is where we lost most of the requirements for fast-paced action.

Comparé à l'original, plus de séparation des plans sur base des couleurs. La seule chose qui peut véritablement servir d'indice, c'est la profondeur. Le hic, c'est qu'en mode 3D, la lecture est encore un peu plus complexe avec les effets de reflet et la nécessité de régler avec précision l'angle de vue.

It is quite hard to focus on encounters with monsters when you have to guess which platform you can land on. It gets even tighter when some sand ground hides monsters and you barely distinguish the sand from the regular ground.

Au passage, il y a moyen de choisir entre nouveaux modèles 3D (normal mode?) et stretching pathétique des sprites d'origine sur des textures à plat (story mode), ce qui ne donne vraiment pas de bons résultats lorsque le moteur décide de zoomer sur les personnages dans certains couloirs.

J'apprécie par contre le respect apporté à la bande son originale.

Definitely, for one expecting to play "the real cave story with real buttons on the go", Cave Story 3DS will be disappointing. The musics have been kept quite original. I'm not 100% convinced that the "classic" mode where you play with scaled sprites over the 3D world works much better than playing with the 3D models. In some levels, it gives a nice "original" feeling, but in other levels, where the camera zoom in to keep some secrets away, artifacts of pixel-art-to-texture conversion ruin the experience.

Autorisez moi une petite soirée de nostalgie sur le projet de Ravenworks qui aura dû s'effacer au moment du premier portage de Nicalis sur Wii (iirc).

Sunday, June 07, 2015

School Rush : Casual / Amiga / Arcade

At last, here's an updated version of School Rush starring Bilou in the School Zone.

https://sourceforge.net/projects/dsgametools/files/latest/download?source=navbarYour goal is to clear 4 levels of fast-paced jump-and-run, using either your skills or the natives of the School Zone to beat the challenges you'll face.

Voici la première version complète de mon 2eme jeu DS présentant Bilou : School Rush. Vous avez 4 parkours à couvrir dans une école en folie, avec de l'encre qui monte, qui monte ... et qui vous met la pression. Ressortez vos talents de platformeurs ou utilisez les "habitants" de cette école à votre avantage.


  • (A) button makes you  use your feet (jump/bounce/float) and (B) button makes you use your hands (grab, throw, punch). 
  • The Punch Power-up allows you to stun most ennemies, including the pendats, without having to carry dumbladors around. When you got it, you'll need to use "DOWN + B" to pick up objects. 
  • The Float Power-up allow you to defy gravity. Press (A) twice mid-air quickly to trigger it and then hold A to float to the next location.
  •  Up/Down let you look at what's around you.
  • R shoulder makes you run. You can also use Kirby's double-tap on a direction button to run if you prefer.

Select your destiny
The "Casual" mode is an alternative to tutorials. You have unlimited time to reach the end of each level, allowing you to experiment with mechanics of the game. Since the ink does not rise, you'll find safety nets in many places.
Le mode facile (casual) vous propose une prise en main du jeu, une découverte des mécaniques. L'encre ne bouge pas, vous aurez bien assez de possibilité pour vous tirer d'affaire en cas de faux-pas.

The "Amiga" mode is a bit more demanding. Ink raises slowly, pushing you forward. Some safety path are now sunk and unavailable. Missing a jump is more likely to kill you, but the "obvious" path can still be walked down to the end of the level. (you're welcome to run to get some headroom, but that's not even required).
Les choses deviennent plus sérieuses avec le mode "Amiga". Même si les niveaux sont toujours passables sans courir, un petit sprint ici et là sera sans doute le bienvenu. Avec l'encre qui monte vos faux-pas risquent d'être punis plus durement. Mais ce n'est pas ça qui vous arrêtera, parce que vous savez maintenant où se trouve le prochain power-up ;)

And then, you've got the "arcade" mode. You'll have to be twice as fast as in the "amiga" mode. You'll need to master game mechanics and plan your path ahead so that you can make it through despite the fact that some platforms have now disappeared in the ink.
Enfin, le mode "Arcade". Les choses sérieuses. Il faudra presque un entrainement de speedrunner pour boucler les 4 niveaux en 3 vies...

Cannot find data files
Homebrew is a bit different from official DS development. One major difference is that our games are files on a media card (microSD). If you play on emulator and get stuck with a black screen on the top and an error log like this on the bottom, you're missing something like "--gbaslot-rom=self". The keyword for that configuration is "DLDI". See below.

Playing on the Real Thing
You need a DS and a linker device that can play homebrew files. With most linkers sold after 2007 (that support DLDI), all you'll have to do is drop the .nds file somewhere on your media card and launch it as any game.

With older linkers, you need to patch the .nds file manually using the driver compatible with your hardware. If your hardware need patching and you haven't patched, you'll see the bottom screen displaying only purple background with the words "NODA!" written in the middle. (and other boot info around).

Si vous n'avez pas de DS prête pour les jeux homebrew, le mieux est d'utiliser l'émulateur DesmuMe, et d'aller dans Emulation/GBA slot pour indiquer à l'émulateur d'utiliser le fichier .nds à la fois comme ROM nds et comme contenu de la cartouche supplémentaire où le jeu ira chercher les musiques et les images.

Playing on an emulator
You're suggested to use desmume and follow these instructions to set the "GBA slot image" as being the .nds file itself. Other emulators (notably iDeaS, patch as R4TF) will require manual DLDI patching (see above). You'll get a better experience with a SNES-like gamepad.

edit: newer builds of desmume have the option for DLDI in Config | gba slot... oh well.