That's quite an achievement for the z-order branch: I got the 'pull mask' technique working properly in the game engine. No more than 14 hours ago, I still had Bilou disappearing (with only one hand remaining) when I made him do a roll-jump. I also altered the engine so that a transition animation *always completes* before another animation is launched. Switching to mid-roll-jump transition to jump/fall transition just kills the whole purpose of transanims (offer some more smoothness). The "new Bilou" track is thus completed and ready for a new release.
Après le décor, c'est Bilou qui - in extremis - est prêt pour la Grrande Riliize de Septembre. Il n'y a pas 14 heures, faire faire un saut-boule à Bilou le faisait disparaître presque complètement... c'est maintenant résolu. Les "transanims" sont donc prêtes à l'emploi et il me restera au plus à faire une copie-miroir du saut-boule (pour qu'on puisse aussi en faire vers la gauche ;) Mes nouveaux outils sprsplit, dumpanim et sprmerge ont été bien utiles dans la bagarre, si vous voulez savoir.
Reste donc juste à peaufiner la map pour faire un premier schooldemo.nds... et là aussi j'ai une bonne nouvelle: je viens de retrouver sous un fauteuil le chargeur de la DS "phat" de ma fée (la DSlite étant en réparation depuis sa Grande Chute du mois de juin et la DSi pas encore homebrew-ready, mais j'y travaille :)
Il me restera donc tous les aspects "collisions étendues" pour l'après-vacances.
Friday, August 31, 2012
pullmask working!
Thursday, August 30, 2012
Prêt pour la rentrée ?
Il m'aura fallu du temps, mais j'ai enfin un décor intéressant pour la school zone ! Basé sur un dessin au trait puis converti à la dure (comprenez, avec Gimp, une souris standard et un calque "hue") et lui-même inspiré d'éléments de décor de Pinoccio et Blanche-Neige du Grand Walt.
Between engine re-factoring and Bilou animation upgrades, I've tried to find things to fill the background of the library level while keeping a "intimate" tone. I think I've got at last some ideas, thanks my little daughter watching Snow White and Pinoccio movies :)
I'm not very convinced by the sketch-to-pixel-"art" conversion process yet, but at least I've got something to fill the emptiness of the former mock-ups.
Now, I still have things to fix: the background layer is (for some odd reason) loaded as an InfiniMap as well, which means the game engine tries and update the map as if it had to stream in new tiles. That could explain some odd behaviours I noted with Apple Assault. I still hope I'll have a running demo for September 3rd so that kids all around the world can recover from their first day at school with a Bilou minute...
Il me reste à en faire le rendu de manière convenable, et ça, c'est pas encore gagné. Le décor (512x256 pixels) est pour l'instant chargé comme s'il s'agissait d'une couche "map" classique, et le moteur de jeu tente du coup de la faire scroller "normalement" aussi... sauf qu'elle scrolle 2x moins vite, parallaxe oblige. Du coup, les savants calculs destinés à garantir que le morceau affiché à l'écran soit toujours bon donne lieu à des "téléportages de hibou" plutôt étonnant.
Maintenant, il serait temps que ma DS rentre elle aussi de vacances, que je puisse finaliser tout ça.
... flawless victory ^_^
Monday, August 27, 2012
Pacman Dossier
Je suis tombé sur le document de Pittman "the Pacman Dossier" un peu par hasard, attiré par une illustration qui promettait d'expliquer "comment Pacman peut contourner les coins plutôt que de devoir passer super-précisément... or c'est justement un des défaut de mon moteur de jeu pour l'instant. Mario "contourne" un bloc-question quand il est au bord, Bilou en serait incapable.
Oh, and make sure you don't miss RetroGameMechEx's video on the topic. The same information as in the dossier, but it sure helps to see the targets, distances and all rendered as a live overlay while you're being explained what is going on.
Le dossier équivalent dans Pix'n'Love m'avait pas mal plu, en particulier parce qu'il présentait comment des constructions simples avaient permis aux développeurs d'avoir des fantômes qui ont "une personnalité". J'ai été assez surpris de constater, en revanche, que les explications diffèrent, notamment en ce qui concerne Pinky et Clyde. La version de Pittman est corroborée par d'autres analyses, dont un désassemblage du code de Pinky, ce qui jette un voile de suspicion sur le travail d'investigation de la PnL Team, même si leur public-cible était clairement différent que celui de Pittman.
Tags: flickr, game design, monster design, Pix-n-Gems, reading
Friday, August 24, 2012
Kongs of Note
The game is globally great, and I love how it comes with a lot of new (imho) ways to hide secrets in the levels, with breakable items, flowers to blow over and funny things like "keep bouncing and the bananas keep flowing. Keep collecting bananas and Something Good Will Happen (tm).
A la base, Donkey Kong Returns n'avait pas franchement attiré mon attention. Les tonneaux octogonaux dû à un manque de polygone, moi, ça m'a toujours laissé froid. Mais en croisant par hasard des vidéos de "long run" sur Internet, j'ai commencé à m'intéresser à la richesse des décors, puis au nombre de bonnes idées de gameplay que l'on retrouve. Si bien que quand mon frère m'a annoncé les dates de ses congés, j'ai filé à la médiathèque voir si je n'y trouvais pas ce petit bijou simiesque.
Comme d'habitude dans un DKC, il y aura des objets spéciaux à trouver dans le niveau pour accéder au monde caché. Comme d'habitude, aussi, il y a des vies et des gamelles à la pelle. Pas mal de phase d'escalades, aussi, pourvu que le terrain s'y prête. Par rapport aux précédents épisodes sur SuperNES, par contre, la quasi totalité des tonneaux a disparu. Fini de "sonder" les murs un baril en main ou de sauter par-dessus les Kremlins pour parvenir à ouvrir un passage secret. Pour son retour, notre Kong préféré a deux nouvelles actions d'exploration: cogner le sol ou souffler, chacune nécessitant de secouer la wiimoote. Le trait de génie de Retro Studio, c'est de profiter du décor particulièrement foisonnant du jeu pour "cacher" les objets inter-actifs et changer régulièrement (à chaque monde) leur apparence. Très réussi, selon moi.
Clearly, Retro Studio did a wonderful job of packing the background with spectacular environment for the action. Rather pleasing, although it serves no useful purpose. You'll see it e.g. in L2-7 : Infini Tsunami - L2-5 : Mer Tentaculaire - L4-2 : wagon & gazon, but also in many others.
I do have a major complain about the game, though:
unlimited stock of lives.
Let's think about it for a couple of seconds: what is the purpose of 1UPs in a game ? For the player, it's a way to ensure he can keep going forward, despite the difficulty of the game. For the level designer, it's an ultimate motivation that should push the player into trying harder to beat a challenge. Several 1-UPs in SMB3, SMB and even SMW were place such that you'd have to rush to another part of the level to grab it after you released it.
Now, this all work because you've got the pressure of "having to re-do everything" if you run out of lives in a level. As technology progressed, game developers have reduced the amount of "everything" you'd have to re-do so that they can keep growing the amount of time you'd invest in one game. In DKC Returns, it is brought to a new extreme: as far as "reaching the end" of the game is concerned, you'll never have to visit levels several time:
Many of those bullets have a good side, but put them altogether, and you get a game that is no longer making you strong enough to beat it "with a minimum amount of failure". And needless to say that the über-marvel of bonus world of my childhood (the CONTINUE) is a long extinct species. The trick RARE used on the first Donkey Kong Country (were you'd have to progress significantly in a world so that you'd unlock Funky's Flight and be allowed to move to another world of the island) was imho brilliant in the way it added thrill to the game. I'm now a grown-up with dish-washing and other duties to fullfill, so I'm looking for entertainment more than thrill when I pick up the paddle, but I wonder how the kids of today would react if they were presented such a challenge after being used to the care-free wandering of modern platformers ...
Dans Donkey Kong Return, on joue pour ainsi dire avec les vies illimitées dès le départ. Ce n'est pas un évènement isolé, c'est une tendance générale dans les jeux de plate-forme de ces dernières années (au point qu'il n'y a même plus de compteur de vies dans certains d'entre-eux).
Non seulement il y a de nombreuses vies à gagner, mais on peut carrément en acheter à la cabane de Cranky contre des pièces d'or relativement courantes dans les niveaux (et qui réapparaissent à chaque fois que l'on recommence le niveau).
Comprenons-nous bien: la difficulté est à mon sens bien dosée, et toutes ces vies sont clairement les bienvenues. C'est rigolo de collectionner les ballons etc.
Par contre le frisson de voir sa partie interrompue par un game over, lui, a à mon avis disparu. Par l'introduction de Super Kong, tout niveau commencé avec au moins 9 vies peut être passé: si vous êtes Game Over, ce n'est donc pas que vous êtes mauvais au jeu, mais tout simplement que vous n'avez pas lorgné suffisamment souvent sur votre compte de vies. En plus de celà, entre deux niveaux, vous pouvez retourner instantanément à n'importe quel niveau du jeu pour refaire le plein. Voilà qui tranche assez sérieusement avec les mécanismes de DKC et DKC2 ou sauvegardes et voyages dans l'île ne devenait possible qu'après avoir complété un certain nombre de niveaux dans le monde en cours.
Et si malgré tout vous êtes game over ? Eh bien consolez vous: Cranky vous offrira tout simplement quelques ballons gratuits et vous reprendrez le niveau perdu depuis le début. Oui,
vous avez bien lu: "le niveau". C'est tout. Ça peut déjà être long dans DKC Returns, mais c'est risible par rapport au "recommence au monde 1-1 et cherche plus de vies cachées/ramasse plus de bananes pour être mieux armé quand tu arriveras dans le monde des glaces, mon coco. Là, t'as pas encore le niveau."
Il faudra que je trouve mieux pour "Bilou: nuts'n'bolts" et "Bilou's Adventure".
Tags: designclass, donkey, english, game, game design, game over, y95
Roses are Red, Violets are Blue ...
And my books should be allowed to have whatever color I think fit. Or at least let me put it in a different way: that would be a waste of tiles if I could only have *red* books in the school zone, right ? (and only green binders). It's much more interesting if I can select an alternate palette when I want a blue-tinted book or a darker wood block.
The DS hardware allows all this (I mean, even the NES had it :P), extending the '256 colors' mode of the GBA to some fancy '16x256' colors. Granted, I *could* very likely work in 16x16 colors mode for the school zone, but I'm not yet a sufficiently good pixel artist to handle that.
I've took a first step yesterday by allowing some 4 palette slot selection in SEDS' palette editor. Before I give you a rainbow bookself, I still have to:
- [done] store all this in the SPR file (SpriteSet classes)
- [done] make sure SEDS has a palette large enough advertised to SpriteSet.
- [done] adjust the game engine so that it works in extended palette mode
- [done] provide palette set toggling in LEDS (only for the BG layer: the FG uses it to encode tile properties). That would be better to have it on the bottom screen, and not part of the "tileset" screen as depicted on the mock-up
- [done] provide palette setting in AnimEDS as well (so that dumblador and Bilou (and pendats) can share feet tiles. Being able to define it when the sprite' skeletton is created should be a good first step
Tags: done, english, mockup, palette, school zone, sprite editor
Wednesday, August 22, 2012
AnimEDS at Neoflash Compo
For the second time, I'm entering the "Neo Coding compo", with latest versions of AnimEDS and SEDS, with in-app help for almost all the operations. I had first some hope, as there weren't that much "good" (imho) applications submitted until Smealum (arsenal) nuked me with his FPSMaker ...
Un badge, des messages d'aide, un personnage moustachu en salopette dans un .spr (à la place de Badman), et voilà AnimEDS (et SEDS) prêts pour la compétition de "rétro-coding" de Neoflash. Cette année, c'est "toutes machines confondues", avec un sérieux regain d'intérêt pour les participants, même si je n'ai pas vu côté DS de production à la hauteur des jeux qui avaient brisé les espoirs de Apple Assault en 2010. Si je devais donner un pronostic, je parierais sur la victoire du FPSMaker dans la catégorie "Applications" (également sur DS).
Anyway, although I made the effort of having the compo badge shown in my entry this year, winning some prize is not my main motivation: I want to take the opportunity of many people blowing dust away from their handheld console and downloading homebrews to get more feedback about the user interface and how to make things more "user friendly". 10/15 blog readers have voted for that in the app/game poll that ends by friday ... but for that I'll need to know what people think and expect from my apps.
Tuesday, August 21, 2012
One git to rule them all ...
Noticed how apparently simple things tend to turn into giant mess if left unattended ? That seems to be the case with game art as well. Revision, recoveries, distributed development and project shifts have turned my 4 sprite files into a nightmare of name-collisioning fellows. Giiiit tooo the Rescuuue!
Petit rangement d'été grâce à Cyril qui maitrise mieux git que moi. A partir de tous les répertoires DATA (et des cartes-mémoire de mes DS), je voudrais avoir un endroit unique où il fait bon vivre pour les sprites et autres maps, où les duplicatas ne seraient plus un problème, pas plus que les redondances dans les noms.
Première chose: activer la syncrhonisation "git" sur un des répertoires 'DATA' d'une de mes machines.
cd DATA
git init
git add *.spr *.SPR
git commit -a
Bien. Maintenant, créer l'espace unique ... le paradis des sprites.
mkdir ../DATA.git ; cd ../DATA.git
git --bare init
cd - # goes back to DATA
git remote add origin /path/to/DATA.git/
git push origin master
Il sera désormais dénommé "master", hébergé sur la machine host. Depuis mon portable, je pourrai donc faire un "clone" de mon jeu de données pour y ajouter les fichiers détenus localement:
git clone host:/path/to/DATA.git/
cp ~/DS/*.spr
git add *.spr
git commit -a
Une fois le "git local" préparé, je synchronise la copie-maître avec
git push
, tout simplement. Le répertoire DATA d'origine peut aussi accepter les nouveaux-venus via git pull
à condition d'avoir copié la section [branch "master"]
du fichier .git/configReste à faire le ménage et à structurer ça par projet plutôt que par provenance ... sur une branche parallèle, sans aucun doute.
(à relire: https://www.jesuisundev.com/comprendre-git-en-7-minutes/ )
Tags: data recovery, tutoriel
Monday, August 13, 2012
transanims get rolling!
Voilà. Après une soirée de debugging intense (entrecoupée de chasse aux bananes dans Donkey Kong Returns :P), j'ai réussi à faire "tourner" les animations de transition. C'est encore trop rudimentaire pour vous en montrer une démonstration (j'ai une seule transanim que j'applique à tort et à travers juste pour vérifier que ça fonctionne), mais c'est fait.
Got transanims working ! The effect is not yet convincing because I haven't created all the due animations, but at least it demonstrates that parsing was correct and that triggering of the anims work. Huzzah! Now adding the dynamic priority thing to CompoundGob.cxx
Saturday, August 11, 2012
hero core...
J'ai passé une bonne partie de l'après-midi, le week-end dernier, à jouer à Hero Core chez mes beaux parents. "Tu vas rechercher les fonds de tirware?" me fais mon beau-frère d'un ton enjoué ... Eh bien non, il s'agit d'un jeu de 2010 (qui tourne assez mal sous Wine, d'ailleurs). Principe simple (shooter à déplacement libre, 2 directions de tir), mais qui propose une difficulté progressive qui finit par atteindre un niveau pas piqué des vers du tout. On se retrouve assez rapidement dans des salles où ça crépite de partout. Et tout en noir et blanc. Et en gros carrés (comme si ça ne suffisait pas).
Au départ, c'est le côté ingénieux du Level Design qui suggère l'environnement par des "macro-détails" plutôt que par un graphisme plus poussé. En clair, c'est cru pour les yeux, mais il n'y a pas 2 salles identiques, et elles offrent chacune des points de repère, des planque et des endroit à risque. L'exploration est libre, mais chaque boss détient un "upgrade" pour vos armes ou votre combinaison qui se révèlera indispensable pour progresser (mais on peut aller jeter un oeil à pas mal de niveaux "bien à l'avance"). J'en entends dans le fond qui disent "Metroïd" et je leur dirai qu'il n'ont pas tout à fait tort.
Mais qu'est-ce qui a bien pu me scotcher aussi longtemps sur ce jeu plus cru que Pharaoh's Curse lui-même ? La nostalgie ne peut pas tout expliquer, d'autant que du temps du C64, je n'ai jamais joué à quelque-chose de ce genre -- H.E.R.B.Y est ce qui s'en rapprocherait le plus. Probablement le défi que représente la découverte des "points faibles" de chaque ennemi, voire de chaque situation. Comprenons-nous: la puissance de feu du joueur n'est pas énorme et le tir étant exclusivement horizontal, il faut pas mal bouger pour éviter les tirs ennemis. Mais selon le type de déplacement, la position des points faibles des différents ennemis (et je ne parle pas que des boss), il faut très régulièrement revoir sa stratégie pour choisir une approche qui permettra de dégommer sans morfler. Le choix de l'ordre des cibles est également crucial.
Pas de "script prédéfinis" (à la R-Type) pour les déplacement des monstres, mais une mémorisation de "ce type de tir va me rebondir en diagonale dès qu'il touche le mur", etc.
Je meurs beaucoup dans ce jeu, mais à la fois les point de sauvegarde sont "juste assez fréquent", à la fois le progrès est visible via des "portes" qui restent ouvertes une fois pour toute même en cas de "mort" du joueur. Une fois un "niveau" battu, on peut assez souvent le traverser "en vitesse" sans affronter à nouveau (tous) ses ennemis. Voilà qui suffit à me motiver pour réessayer même après des échecs répétés.
Beaucoup de traits similaires à ce que je souhaite faire dans "Nuts'n'Bolts", en somme ... sauf que c'est un jeu de tir :P
Tags: designclass, exploration, game, game design, indie, monster design
Friday, August 10, 2012
H.E.R.B.Y
La mémoire est quelque-chose de curieux, tout de même ... Je cherchais le nom d'un jeu C64 qui m'avait fortement marqué (à défaut d'être bon) parce qu'en dépit de son apparente simplicité je ne parvenais pas à y jouer correctement. Le candidat idéal pour servir de base au nettoyage de labyrinthes que mon frère voulait incorporer dans Space Mission.
Seulement voilà: impossible de retomber sur son nom. Je tape "SHAMUS" dans Google, sachant pertinemment bien que SHAMUS CASE était un autre jeu (je confondais d'ailleurs régulièrement les deux au moment de faire un LOAD ...,8,1) et en voyant les premières images j'ai un flash "ça s'appelait ERBY ou HERBIE ou qqch comme ça ... j'avais voulu réutiliser le nom pour l'extra-terrestre qui devait donner leurs vaisseaux spatiaux aux Jeunes Mécanos". Et effectivement :P
next steps
The July todo list is now completely check-marked. Many steps on animations are completed, and the Next Big Thing is to add support for the transanims that have been identified to be a mandatory addition to the game engine.
- [done] Regarding the slopes, I'm still in the same situation as I was with Apple Assault. No better, but not worse either.
- [done] dynamic sprite priorities are now supported by the engine, using them from the game logic needs some more thinking. However, I can easily try out transanims with just static priorities ...
- [done] Enabling SEDS to store several palettes in one .spr file will open the way to tileset tinting. then will come AnimEDS, the game engine, LEDS and the game engine again.
Editors poll
Quand j'ai commencé ce blog, je me suis donné la mission d'essayer de redonner vie à mon projet de jeu "Bilou's Adventure". Jusque là, le développement sur DS, c'était essentiellement la construction du Sprite Editor, sans de réel projet autre que "pouvoir animer des petits personnages dans mon fauteuil pendant que ma fée regarde la GRS à la télé".
Mais voilà, avec Apple Assault, j'ai marqué le coup: oui, il y a un grand jeu en cours de route. La question, du coup, c'est "combien de personnes sont intéressées par les éditeurs eux-même" (et ont également envie de pouvoir faire leur jeu avec leur graphismes, leur niveaux, etc. à partir de la DS) et combien ont surtout envie que je continue à avancer sur les jeux (et tant pis si PypeBros est le seul à savoir se servir d'AnimEDS, après tout). Il vous reste 15 jours pour faire entendre votre voix, si ce n'est déjà fait.
Some say I should polish more my tools (SEDS, LEDS, AnimEDS) because there's a huge potential in them, other says it doesn't matter, and I should mostly focus on getting the games done. You have roughly 15 days left to make your voice heard.
Tuesday, August 07, 2012
FeZ is real!
Ce coup-ci, ça y est: le prototype de Kokoromi qui avait raflé le prix de l'excellence visuelle fin 2007 est devenu FEZ, disponible sur X-Box et jouable depuis hier chez Sphearis ... On a pu qu'effleurer la surface sur la mini-soirée passée ensemble, mais je peux déjà confirmer que j'adore et que ça l'a bien fait rigoler malgré son commentaire de "oh, moi, tu sais, les pixels ..."
L'humour des auteurs est juste excellent ... des constellations-tetris à l'explosion de l'hexahèdre
J'aime aussi beaucoup les blocs-visage insérés ici et là que j'ai tenté de screen-shot-er sans trop de succès avec l'iPad de Wivine :-/
Autre point qui vaut la peine d'être noté: Gomez peut influencer le monde dans lequel il évolue par le biais de mécanisme qui (imho) n'ont rien à envier aux briques-destructibles de Super Mario, même si celà donne éventuellement l'impression d'être plus "scénarisé" et moins libre ... à creuser.
Bon anniversaire et bon amusement, donc, Sphearis ... moi je vais me mettre la bande son en boucle puis aller fixer l'escalier-qui-descend-au-jardin :P
If you read English and enjoy indie games, chances are that you're aware of what FEZ is and that it's now out on XBox. I just offered it to a friend yesterday as a birthday gift (even though that sounds pretty odd), and I had about 30 minutes to experience the game (including ~10 minutes (?) with the controller in hands). And well, I even love it more! I bet it's gonna get downloaded on my brother-in-law's device too ... very soon :)
Among the thoughts worth of note, I'd blog the fact that even without destructible blocks (à la Mario's Bricks), Gomez can still transform the world he explores in interesting ways. I also love the visual design of the "floating-head-blocks" ... I'll experiment a few things in that direction...
Sunday, August 05, 2012
sprfix
Il me manquait un dernier outil à ma panoplie d'outils destinés à manipuler les fichiers .spr ... je m'en suis rendu compte en rédigeant le post sur sprsplit et dumpanim: sprfix.pl, un outil capable de lire un .png édité et de ré-encoder les nouvelles images dans un nouveau .spr
As soon as I got sprsplit.pl and sprmerge.pl written, I figured out I still had to write a new tool: sprfix. Its goal ? to do the opposite of spr2png -- which I've been using for years to "export" my graphics -- and re-inject new pixels where they're supposed to go. After all, using a picture editor tool such as the Gimp seems the most natural way to recover some tiles from a former file, no ?
La manipulation est encore un peu complexe, avec des étapes de préparation puis de fusion, mais finalement, un outil comme "the Gimp" est encore ce qu'il y a de plus naturel pour faire de la récupération de données, même si les copies de page à page m'ont plus ou moins permis de m'en sortir jusqu'ici.
Tags: data recovery, english, inkjet, sprtools
Thursday, August 02, 2012
Sonic bof
Autant l'histoire de Mario des éditions Pix'n'Love m'avait séduit, autant celle de Sonic m'a semblé insipide, malheureusement. Les images brillantes et omniprésentes semblent avoir détourné les auteurs du contenu texte. Il faut dire que L'histoire de Sonic le hérisson avait déjà largement été collectée par des fans de tous poils avec des wikis reprennant tous les personnages et les jeux dans lesquels ils apparaissent de manière bien plus pratique. On trouve aussi sans trop de peine de nombreux concept arts qui sont repris dans le livre.
Bref, dans une certaine mesure, l'article sur le projet (avorté) "Sonic Mars" paru dans le Mook avait plus retenu mon attention. Au niveau design, pas grand-chose à me mettre sous la dent non-plus. Là où l'histoire de Mario présentait la manière dont un des premiers personnages de jeu a pris vie, on est ici dans un cas de figure où l'ensemble des concepteurs de jeux et artistes d'une société bien installée se sont attelés à proposer des personnages "à la Mickey Mouse" pour "un jeu qui va vite" (parce qu'accompagnant une nouvelle console qui devait écraser la concurrence par ses performances).
On reste donc dans le domaine du "gentil trivia" qui accompagne la gallerie de photo. Un livre qui plaira sans-doute à celui qui est collectionneur dans l'âme et cherchait une pièce maîtresse pour caser entre sa manette Saturn et sa cartouche "Tails & the Music Maker" ... mais personnellement, je n'ai pas été convaincu. Les interview des membres de la Sonic Team auraient pu relever le niveau, mais en réalité, elles sont redondantes par rapport aux informations apportées dans la partie "l'histoire". Bref, une série d'articles bien ficelés dans les "mooks" aurait été préférable en ce qui me concerne.
Tags: level design, monster design, Pix-n-Gems, reading, sonic