lundi, novembre 28, 2016

class *Model

It's a bit more complicated to make my level editor test-friendly than it was with the sprite editor... so allow me to recap how I proceeded with SEDS:

hmm ... je pensais que ce serait plus simple que ça d'adapter le code de LEDS pour qu'il permette le même genre de tests que celui de SEDS. En fait non. Sans doute parce que j'ai déjà essayé d'avoir une couche "modèle" pour LEDS mais qu'elle ne correspond pas assez bien à ce dont j'ai besoin.

Guidelines

  • the model captures all the information about internal state of the edited object.
  • the UI code makes no access to the components of the model (i.e. a palette, a spritesheet, ...) without going through one of the model's function
  • code within the model is free from any UI interaction
  • each UI component (aka *Window) has its corresponding model capturing the information it needs. When a component is used by multiple UIs, we'll use a common ancestor (e.g. ModelWithSheet) to capture the shared component.
  • editor-specific extensions to the library component (e.g. EditorSpriteSheet extends SpriteSheet) is declared at the *Model.h level.

Outcome
  • Every operation performed on edited objects can be reproduced out of native UI environment for testing
  • Dependent objects are created together as a *Model, making it simple to ensure they're working correctly with each other.
  • main code no longer needs to maintain and dispatch pointers to shared component all over the place, while components themselves still blissfully ignore where the peer components they're working with are managed.

mardi, novembre 22, 2016

Juju & Peyo

C'est un chouette nouveau (2014) jeu que je (re-)trouve là: Juju and Peyo, que je classerai dans le filon "donkey kong returns" mais plutôt ciblé sur les joueurs moins aguerris, en particulier étant donné la vitesse de marche assez poussive du personnage. Par contre, attaque par boost, éléments à retrouver, petits éléments du décor qui libèrent des bonus à ratrapper (et qui volent, éventuellement en suivant un pattern pré-défini). Ambiance colorée, mais globalement plus lisible qu'un Giana Sisters Twisted Dreams, voire même qu'un DKC returns lui-même. 'faudra que je demande à mon frère s'il trouve ça sur sa PS3...

En plus des mouvements de base déjà mentionnés, notre petit ourson rose peut faire un "mouvement de danse magique". Il assomme les ennemis, déclenche des mécanismes, ouvre des coffres au trésor, etc.
Un élément qui complète le gameplay de manière plus sympathique que des interrupteurs ou des clés, à mon avis, et qui manque dans bon nombre de jeux d'exploration.

Les joueurs rodés pourront utiliser la charge pour progresser un peu plus rapidement dans les niveaux, à défaut d'un bouton de course à la Mario (pour autant que je puisse en juger à travers les 'Let's Play'). Ouf. Par contre, on reste sur des ennemis au comportement assez simple, j'en prends pour exemple les crabes qui sont vulnérables à toutes les attaques là où ceux de DKCR demandent soit une roulade ou un saut selon qu'ils ont les pinces en l'air ou à l'horizontale (et peuvent demander plusieurs hits, en changeant de position entre les hits).

Côté design, j'aime beaucoup les espèces de golems musicaux, spectateurs, partiellement acteurs mais incapable de vraiment interagir avec l'avatar du joueur.

Ils pourraient presque faire partie d'un Rayman Origins. Il y a plein de très chouettes éléments de décors, mais aussi un grand nombre de blocs qui font juste "asset" quasi-générique... je n'ai pas encore mis le doigt sur ce qui a un goût de loupé, de ce côté-là.




samedi, novembre 19, 2016

3 days

File copies in progress. I could get the unit tests and the editors of dsgametools succesfully built by the latest devkitpro installed on my BMx, after all. But without the copyrighted content of SchoolRush, the unit tests won't run ^^".

I'm a bit disappointed by 'terminology', the new terminal+file explorer from the Enlightenment project, esp. because its 'set terminal background' command (tybg) doesn't seem to work, neither do the fancy 'tyls' command. 

I'm kinda scared, too, because it looks like emacs is doing weird rendering. And I'm afraid this is something related to my graphical environment rather than related to emacs itself ...

PS: file copied. Unit test succesful

mardi, novembre 15, 2016

7 days!

Here I am, back on my BMX because my 2007 "grizzly" thinkpad is no longer operational. I cannot call it "dead", but the battery no longer works, meaning that using it for arm-chair development in the evening has turned highly improbable (with improbability equal to 42, to be precise).

I'll give myself 7 days to try and compile SEDS and LEDS with the latest devkitpro on this box. If that's not enough, I'll just import my damn' old "devkitpro 32" and keep going.


Me revoici sur mon BMX: la batterie de mon autre ordi m'a complètement lâché. Certains des éléments que j'avais pointé en mai comme posant problème devraient fonctionner mieux maintenant que j'ai restructuré mon code, d'autres ont toujours besoin d'une mise à jour. Je me donne 7 jours pour y remédier. Passé ce délai, je récupérerai mon gros .zip avec l'ancienne version de devkitpro que je traine depuis Apple Assault, et basta.