Well, I still have to work on a few aspects to make AnimEDS more comfortable to work with before I start using those new animation in the game engine. But at last, the "core modification" of how the timeline is managed is fixed. Pauses and loops can be visualised and manipulated. Do you like their "musical" style ?
vendredi soir} Bion, j'ai donc réussi à faire une version minimale de l'augmentation de délai. Encore un peu trop minimale, puisque je suis obligé de sauver l'animation puis de la recharger pour que le délai fasse effet ... bizarre, bizarre ...
samedi} Ou alors il suffirait de "valider" l'animation ? ...
dimanche} Allez, on re-génère la version compilée de l'animation lorsqu'on clique sur la preview, et on en parle plus. Mais pourquoi diable mes petits contrôles de boucle n'apparaissent-il pas ?
lundi midi} ça y est. Les contrôles apparaissent. La ligne du temps reste ordonnée quand j'y déplace un cellulos. On va pouvoir passer au prochain point sur la todo list ... la transparence ou les zones de collisions ?
Monday, August 29, 2011
Back in time ...
Tags: animeds, coding, screenshot
Friday, August 26, 2011
n33333d c000000de
Monday, August 22, 2011
Funky work at BilouCorp !
Il semblerait que dans un univers parallèle du Web, Bouli est directeur des recherches à la BilouCorp! Le rôle de Funky Funghi dans tout ça reste quelque peu mystérieux.
Bref, au moment où je trouvais que dev-fr, c'était un peu mort pour la DS, Nuki me relance... Une autre génération où le "game-making" s'est spécialisé au point qu'il y a maintenant des RPG makers ... sisi.
Tags: guest star
Friday, August 19, 2011
Scrolling issues: done.
Oh, btw, horizontal scrolling issues are now fixed -- it was about time!. Hope you enjoy it.
Juste pour vous tenir au courant: le scrolling horizontal marche maintenant aussi bien que le vertical. Ca ne faisait finalement que presqu'1 an qu'on attendait ça ... ou depuis le mois de février 2010 pour Morukutsu :P
Et il m'en reste encore pas mal, des vieux 'todo' comme ça ... la plupart visant l'éditeur de niveau (qui n'a toujours pas eu droit à une release officielle), d'autres sur des extensions des capacités du moteur de jeu ou de l'éditeur de sprite. Affaire à suivre.
Thursday, August 18, 2011
Revising animation delays
A chaque utilisation d'AnimEDS, la liste des imperfections s'allonge. Ici, c'est la gestion de la ligne du temps -- le composant le plus ancien -- qui devra être revue dès que j'en ai fini avec ce fichu escalier imponçable.
Thought: Since we have an abstract TItem class, we could introduce a new TIControl in addition to TIFrame that would support things such as loops and end-of-animation. It would generate a static thumbnail and could be moved at wish.
Implementation detail : TI* structures do not directly know their position. The TIList
consists of (unsigned, TIFrame)
pairs indicating each TIFrame's absolute position. Relative delays are inferred in exportAnim()
in order to produce the C_CONTROL:I_DELAY
entries.
Thought: There's a "delay" plus/minus control right now, that control delay when a new item is inserted and the additional delay at the end of the animation. We'd rather have it affect directly how long a given frame is displayed.
- [done] add
AnimWindow::adjust_positions()
to perform one-shot delay update - [done] rewrite code for '+', '-' and
FRAME_SELECTED
accordingly - [wish] possibly use the 'prv' and 'nxt' checkbuttons to uniformly rescale the animation.
- [done] introduce TIControl for loop and end-of-animation
- [done] make sure moving frames across other frames do not break animation order
Tuesday, August 16, 2011
Badman.
Deux boules superposées, deux mains rondouillettes et pareil pour les pieds, Badman est un candidat idéal pour l'animation modulaire lui aussi!
Quelques coups de stylet dans le SpriteEditor, une petite animation-test d'une course plutôt concluante. C'est bon. Mais en redessinant une cape hier soir, je me rends compte qu'il est impossible de la lui ajouter sans devoir refaire toute mon animation. Nouvelle session de code en perspectiveterminée ...
Among PPP Team characters, Badman is another good candidate for AnimEDS testing: balls for head, body and hands ... simple feet ... A few stylus stroke in SEDS, a simplified shading style and we're already ready to make him run ^_^ Compared to the '96 sprite sheet, that's a lot of work saved! Adding the waving cape required a bit more code on AnimEDS -- I hadn't drawn it at first, but defining a new skeletton (the 'ok' button on the FileWindow) would clear the animation. There's now a way to keep the animation by L-clicking that "ok" button.
Okay, so next steps:
- automate export of animation into e.g. animated GIFs.
- onion skin, at least for specified object, later for complete character
Friday, August 12, 2011
Stacking Troubles
Fix a bug, another appear. Does that sound any familiar ? I had to reorganise the "window" that constitute my animation editor, so that I would no longer miss some data while saving my work. Those "windows" are widgets container that you can stack over each other. When the GUI engine needs to deliver an event, it starts trying to give it to the top-level window and digs deeper until one of the window has one widget that can process e.g. the click.
The reorganisation consisted of introducing the ThumbWindow (see snapshot) below the FileWindow, so that one can control the slot where an animation should be saved while he's building new skelettons and making "save animation to slot" a natural operation when you're on the road to save to a file.
at first, it seemed to work fine, unless I realised that a single click on any of the limbs or sprite tables disabled all the actions on the "bottom screen" widget. I had overlooked the fact that two of my widgets on the bottom screen (the tables) were actually not part of the "FileWindow
", but something laying on the main (application-wide) MetaWindow
(in red), so that they could be shared by both file storage and animation edition activities.
Unfortunately, because MetaWindow is the lowest layer of the software, it were obscured by the screen-wide "SpriteTable" that contains all the thumbs. No way to go through. Of course, this is ridiculous: those thumbs are not on the touch screen so they shouldn't be receiving any stylus-based event ... but well, they are. For some odd (historical?-) reason, the GuiEngine ignores facts as trivial as "the top window is a DownWindow
, so any UpWindow
in the stack shouldn't receive GUI_CLICKED
". Hopefully, it features an "active" flag that windows can set and clear to indicate their will to receive/ignore such events. It's to the application author (me ^^") to ensure Window::release()
and Window::restore()
update this flag accordingly to the desired effect. ... which is now done.
Now, if you don't mind, I have a staircase to polish.
Tags: animeds, coding, GuiEngine, user interface, widget
Sunday, August 07, 2011
(-1)/8 = guru meditation error.
Et chroot! J'avais donc commencé à dessiner la tête et le corps d'un Badman avec la version "gamma" de mon sprite editor. J'en étais à une animation (plutôt réussie, à mon sens) de sa cape, l'idée étant d'en faire un perso annimable avec AnimEDS. Plutôt sympa pour commencer mes 2 semaines de congés pendant que ma fée est toujours dans le tome 1 de la Trilogie des Périls (Eddings). Je veux ajuster un poil la vitesse de mon animation et là, bardaf!
quelque part, un widget n'a pas été prévu pour recevoir des coordonnées négatives... Il ne devrait en toute logique pas y avoir de coordonnées négatives sur la DS, d'ailleurs. Nulle part. Mais là, pas de chance, ça m'a tout planté avant que je n'aie eu le temps de sauver mes p'tits dessins.
Enfin, j'ai trouvé la cause de l'erreur.
Hey there. If you happen to be using the 'latest beta' of my Sprite Editor (that is, SEDSGAMA.nds since I've switched to dkp-r32), be warned: there's a nasty bug in the "animation preview" part that may make you lose your work. I figured out what the problem is and
Edit: fixed: if you are using sedsgama, launch it near your favourite WiFi access point and press [START] then [SELECT] to download and use the latest version (N.B.: the updated sedsgama.nds will always be downloaded at the root of your media card.
Tags: badman, coding, sprite editor
Wednesday, August 03, 2011
now to the horizontal scrolling ...
Hello, there. If you missed the english translation on my former post, Sonic Camera Management, it's now done. The new scrolling is implemented and works fairly well for the vertical direction. Unfortunately, it doesn't work as well for horizontal scrolling.
The reason is that Bilou is not moving at the speed of 1px/frame but rather 2px every 2 frames, to match the animation speed. Former platformers would typically have running characters instead, since they are more flexible. When running, it's easier to make it so that (animation) frames where a feet is in contact with the ground only last for 1 (screen) frame. Well. Anyway. The result is that right now, the horizontal scrolling is not smooth anymore, but rather "pushed a bit" at every step, then it sits back, then pushed again. Ugly. I need a mixture of the two techniques, which means a bit more code hacking.
Youpie. J'ai donc un chouette scrolling vertical bien plus professionnel. Hélas, trois fois hélas, le scrolling horizontal en a pris pour son grade. Que je m'explique. Bilou se déplace de 2 pixels tous les 1/30eme de secondes alors que le jeu tourne à 60Hz. Il reste donc 2 "coups" de jeu au même endroit bien qu'ayant une vitesse moyenne de 60px/seconde. Le hic, c'est que si j'applique la politique "le personnage pousse l'écran en quittant la zone neutre du scrolling", eh bien, mon scrolling ne bouge plus qu'à 30Hz, 2 pixels à la fois. Et ça, c'est assez moche et nauzéeux. Bref, il faut que je passe à une approche hybride qui combine le nouveau scrolling vertical et l'ancien scrolling horizontal ... soit encore un peu plus de bricolage sur iCamera :P
... and well ... I will need to build a place where I can test things with the full-quality pixel art ... not restricted to that "open-source 8-bit" color reduction thingy :P