jeudi, mars 29, 2007

I'm glad i dropped MSVC++ long time ago

Oh boy! Just when i thought they couldn't screw things more than they've already did.

A friend of mine is just trying to compile something like

thefile = fopen("my-file","r");
if (thefile != NULL) printf("did it ^_^\n");

and there, he gets a warning message from MSVC IDE (no idea which version) about "fopen" being deprecated. For security purpose, or so says the msdn.

"I beg you pardon? i thought fopen() was part of a _standard_ library ?" well, all MS coders are now supposed to write code using fopen_s and strcpy_s (which happens to look very much like strncpy(), but maybe that one wasn't standard enough to redmon's tastes).

"We are the blorg" they replied "resistance is futile". Then i turned back at my friends and shouted "run! run for your lives!"

lundi, mars 26, 2007

Low Battery ...

It's unusual enough to see my mum behind a computer screen ... No need to tell you that she truly amazed me by being the first one to score over 1000 points at Apple Rumble on my DS this Sunday. Man, not only she played a video game for the second time in 20 years, but she mastered it in no time and she could blew any of my brother's score in a matter of one or two attempts -- which make my brother try even harder to beat her again.

I was far from thinking that a game that's so simple would meet such a success in my family.

This little duel has completely drained the power out of my DS so that i'm now forced to pause development until my new house is tidied up enough so that i can locate back my charger (and that's probably a good thing).

dimanche, mars 25, 2007

Let's Rumble !


Here you are, folks: my first homebrew game ever: Apple Rumble v0.1. Get it here, unpack and place the /rumble directory with media files at the root of your flash card.

How to play: hit the apples with the stylus when their eyes are open. The sooner you touch them in the game, the more points you'll score. My own best score is around 19 seconds for clearing the woods and around 970 points. If you manage to get at least 1000 points, post a comment ^_^

Mon tout premier jeu homebrew est enfin disponible: Apple Rumble v0.1! Téléchargez-le, décompressez l'archive et placez le répertoire /rumble (les musiques/sprites) à la racine de votre carte flash.

Comment jouer: touchez les pommes du stylet quand elles ont les yeux ouverts. Plus vous les touchez tôt dans le jeu, plus vous gagnez des points. Mon meilleur score est aux alentours de 970 points. Qui arrivera à passer les 1000 points le premier ?

SFX: V. Boigelot and S. Martin
GFX: S. Martin
Code:
S. Martin and Sten Larsson (TetAttDS)
Thanks flies to the maintainers of devkitpro, yopyop and the desmume team, Miodrag Vallat and supporters of the mikmod library for the nds, TONC and people maintaining GBA/DS technical documentation, Natrium42 and many others i might have forgotten including everyone working on making nds homebrew possible.

mercredi, mars 21, 2007

Tiens, tiens ...

J'ai envie d'en rajouter une couche sur Prehistorik 2... Un jeu assez intriguant sur bien des rapports, et que j'ai envie de qualifier de "démo la plus impressionnante pour un jeu de plateforme sous DOS". Car il faut bien l'avouer, avec ses 15 niveaux tout mouillé, Prehistorik 2 est loin d'un rayman du point de vue de la longueur du jeu ... Et pourtant, les niveaux sont souvent d'une densité et d'une originalité qui fait défaut à bon nombre de jeux console.

Coté musique, rien à redire. Des mods multi-voix rendus en temps-réel, c'est à peu près ce que l'on pouvait faire de mieux à l'époque. Elles collent bien au jeu sans être trop gourmandes en ressources. Côté graphisme, je voulais vous mettre Prehistorik 1 (à droite) et 2 (à gauche) côte à côte. J'ai joué au deux des semaines entières, et je n'avais jamais remarqué que le décor du premier niveau avait tout simplement été repris de l'un à l'autre! C'est dire si l'animation des monstres en tout genres faisait la différence! Et pourtant, en jetant un oeil à la planche de sprites, on ne peut être qu'étonné par le faible nombre d'images qui ont été utilisées pour obtenir ce résultat. C'est bien simple: alors que pas un bonus ne reste fixe, la plupart ne dispose que d'une seule frame, que l'on a simplement fait rebondir.

source: snes-classics.blogspot.com Si je dis que le jeu fait figure de démo, c'est parce que depuis, j'ai eu l'occasion de tester la version SNES/GBA (cf image à gauche). Beaucoup plus colorée, avec des personnages qui tiennent plus du dessin animé que du sprite de jeu vidéo (ce que beaucoup prendront pour un avantage, j'en conviens) et plus rallongée. L'ensemble a subi une sorte de refonte scénaristique typique de chez nintendo, et on voit débarquer l'ancien du village (et sa fille), le forgeron-qui-fait-des-armes, l'inventeur-génial qui vous trouve de nouveaux moyens de déplacements tous plus farfelus les uns que les autres (pas loin de 4 en tout, si j'ai bonne mémoire, du pogo-stick au monocycle en pierre digne des pierrafeux) mais quelque-part, ça sent le prémaché ... Le "mass consumption" où il n'y a plus aucun clin-d'oeil au monde des jeux vidéo et où l'originalité du premier jeux (les passages secrets et téléporteurs) ont presque complètement disparus au profits de niveaux plus longs, mais aussi un peu insipides.

En revanche, on a droit à l'habituelle débauche d'effets (feu, lave, flotte, etc) que permet le hardware des console. C'est un peu curieux comme résultat. Comme si les joueurs de consoles étaient obligatoirement des gens avec lesquels on ne peut pas se permettre le moindre écart dans le gameplay traditionnel. Un autre exemple? Dans PH2-PC, chaque niveau comportait trois élément principaux: la sortie (un gros feu-rouge), un briquet géant qui permet d'allumer la marmite dans laquelle vous allez faire une méga-soupe avec toute la bouffe récoltée (indispensable pour que la sortie soit activée) et le code qui permet de reprendre le jeu depuis ce niveau.

http://prehistorik.milichovsky.com/img/sv.gifBin côté console, il n'en reste pas grand-chose. Exit les feux-rouges et une bestiole bizarre les remplace comme point de sauvegarde. Un peu comme si tout anachronisme aurait nuit au jeu alors que ça faisait son charme. On vous explique bien par-ci par-là que "groumpf! pour faire ton delta-plane, il me faut absolument de la peau de lion tacheté" et que "groarf. Je t'ai fait une nouvelle hache tu en auras besoin pour les bêtes plus coriaces".

A la place le joueur PC voyait juste la hache (ou le super-marteau) en question se balancer dans les airs. Ne vous tracassez pas que l'on comprenait aussi bien et que le fun était quand-même au rendez-vous quand tout le sol tremblait au son du "Breum!" gigantesque de ce marteau démesuré...

(images de www.abandonia.com/games/en/4/Prehistorik2.htm et prehistorik.milichovsky.com/zmeny.htm)

mardi, mars 20, 2007

Les Secrets de Titus

Je suis tombé sur deux mines d'or: http://ttf.mine.nu/ (le fan club de Titus the Fox) et http://pre2.mine.nu/ (le fan club de Prehistorik 2)

"Titus Interactive was a long-running French software publisher that produced games for various formats over its lifetime." Voilà ce que Wikipedia nous apprend sur Titus, la société qui a écrit et produit Prehistorik, Titus the Fox (aka Moktar), et bien d'autres. Pour moi, Titus Interactive, c'est tout une époque... Les jeux DOS à la limite de l'impossible, bourré de bonus cachés, de monstres vicieux à côté desquels les Blôrks affrontés par le barbare de Kid Paddle font figure d'enfants de choeur en barboteuse rose à fleurs!


Titus interactive, ce sont des heures et des heures passées chez Alain Gillon ou Vivien Vanoirbeek à chercher après la caisse qu'on allait bien pouvoir balancer sur ce pocheron-lanceur-de-fléchette qui nous barrait la route tout en évitant les bouledogues survitaminés et les poubelles farceuses.


Titus Interactive, ce sont encore plus d'heures à fouiller le niveau à la recherche de cette porte cachée (comprenez: un emplacement quelconque dans le jeu où vous allez être téléporté vers un nouvel endroit à condition de rester "accroupi" 3 secondes), et de stress intense quand enfin apparaît la lampe magique (si, si) ou l'item généralement quelconque révélateur du code hexa qui permettra de reprendre depuis le niveau en question, dans un univers où les sauvegarde dans les jeux vidéo n'existaient que pour les aventures "pointer/cliquer".

Titus Interactive, enfin, c'est la migraine garantie quand on rentrait chez soi les doigts en feu, surexcité, et ayant passé toutes les heures sus-mentionnées à subir un scrolling brutal (genre "page down" dans firefox) chaque fois que le personnage s'approchait un peu trop du bord de l'écran... et quelques claviers dont la barre d'espace a été rendue complètement inutilisable.

Grand merci, donc, à Jesses pour ses deux sites en or... Et à tous les employés de Titus Interactive qui ont participé à nos rêves de gosses au dépend de leur salaire (j'espère qu'ils s'en sont sorti plus tard, et s'ils veulent un taré pour porter tout ça sur DS, je signe dès l'année prochaine -- peut-être)

I am somehow nostalgic towards that era where "gameplay" and "level design" were words you never needed when talking about a video game. It was the era of DOS games, when designers knew the game's lifetime is inversly proportionnal to the character's lifetime -- the era of Titus Interactive.

Relaying on our neighbours' keyboard, we were trying to duck foes' shots, hunting for hours the throwable crate that we could use to dispatch the next grumpy and vicious monster that was blocking us on the path to the HEX code that we could use to restart our quest at the same level. Then other hours were wasted searching for "hidden doors" that would give us the additional lifepoint we were missing to reach the end of the level ... once we found it :P

We then came back at home for dinner, with our mum asking what we did to get such headaches (if only she knew how basic scrolling was!) and how on earth we could be that excited ... Thanks Jesses for your goldmine websites ... and thank you, all dev'ers at Titus Interactive who built our dreams at the expense of your salary.

dimanche, mars 18, 2007

Great Giana DS

L'annonce sur Drunker Coders m'a épaté. Après "Rick Dangerous", c'est "Great Giana Sisters" qui déboule sur la nintendo DS. Que tous ceux qui ont un jour eu une ame d'enfant et un commodore se ruent sur ce titre-culte! Des heures de fun portable garanti.

Giana, c'est le bras de fer entre le géant nippon et une bande de programmeurs de garage qui se sont vu interdire la vente de ce qui reste pour nombre d'entre nous _le_ jeu numéro 1 sur micro. Même s'il faudrait être aveugle pour ne pas remarquer l'énorme repompage sur Super Mario Bros., Giana bénéficie d'un gameplay propre, introduisant plus de variété dans les tirs (rebondissant sur les murs, à tête chercheuse, etc.), dans les obstacles (plateformes mortelles, ascenceurs, passerelles qui s'effacent quand vous marchez dessus, feu, etc).

Même si les niveaux 1 et 2 font figure de clin d'oeil énorme à SMB1, les auteurs du jeu n'en sont pas resté à un "bête plagiat": dès le niveau 3, ceux qui croyait que leur casquette et leurs moustaches allaient les tirer d'affaire dans ce monde dépourvu de carapace de tortues en seront pour leurs frais. De nombreux passages nécessitent une maitrise parfaite du saut, par exemple pour sauter d'un tuyau enflammé à l'autre, et une connaissance non moins parfaite du déplacement de certains vicieux ennemis qui vous tueront la-même où vous vous croyiez en sécurité!

Oh, et pour info: ne cherchez pas de 1UP. Pas de ça ici. Vous voulez une vie sup'? ramassez 100 diamants sans mourir. Point-barre.

Rick Dangerous was on of the first homebrew port i put on my DS. It kept me entertained for several hours. Today i found and installed Giana Sister (which -afaik- hasn't been announced on Drunken Coders), which promise hours and hours of portable fun: the soundtrack, the gameplay, the colors... The game is the exact one we had on the C64.

Giana Sister, this is also the duel of the Japanese Giant vs. some german lads in their garage who dared to release a jump/run game stating "brothers are history!" on the cover. And if you ask me, it's a shame the game has been withdrawn as it is one of the best side-scroller game ever on the commodore. Okay, i have to admit: the first two levels are a lame rip-off of SMB1, but as soon as you get to level 3 (which will require you some skill nonetheless), you'll meet the true giana sister experience! Flaming pipes, deathly disappearing platforms, and vicious foes. Watch your steps, tune your jumps and learn quickly.

Beside the absence of koopa shells, you will also notice that there is no such thing like a "1UP mushroom" in Giana Sister, but several flavour of shots (homing shot, bouncing shot, blast-them-all, etc). You want an extra life? grab as much diamonds as you can. period.

So you own a homebrew-ready DS and found New Super Mario Bros. damn too easy ? No problemo: Giana Sister DS will keep you happy for longer that you've thought.

jeudi, mars 15, 2007

rumbling session

A small 'rumbling session' this lunchtime, after Cyril teased me about using apples to do "gravity experiments" on the DS -- "just like Isaac Newton, hmmm".

I managed to replace the 'decompress(VRAM, some_file_bin)' by tiles loader from my Sprite Editor, and started exploring the internals of Tetris Attack source code. I like how Sten Larsson did split his code between "PlayField" (that is basically how i would code the game in QuickBasic) and "FieldGraphics", which offers an abstract -- and adapted -- interface to push blocks on the screen, add effects, and the like.

Now i can enjoy a completely screwed "Tetris Attack" with random blocks of wood and apples as graphics :P

On discutait DS et sprites avec Cyril, et je lui explique que je voudrais faire quelques essais de gravité pour mes jeux DS, par exemple avec mes petites pommes -- "Comme Newton, hein?" qu'il rajoute.

Donc vous avez la un aperçu de la session de 'rumbling' de ce temps de midi, avec "TetattDS" qui ressemble de moins en moins à un jeu de Tetris depuis que j'ai intégré mon code du Sprite Editor DS pour récupérer mes pommes :P J'en ai aussi profité pour regarder un peu (et documenter en UML) la découpe du code de Sten. J'aime encore bien le partage entre les classes FieldGraphics (tout ce qui est dessin un peu bas niveau) et PlayField (grosso-modo, c'est l'algorithme de jeu comme je l'aurais écrit en BASIC si le jeu avait utilisé des caractères sur un fond tout noir -- sauf qu'on fait appel à FieldGraphics)

TetattDS sources show a good example of game-specific engine. On a sidescrolling platformer, i'd have avoid per-block state as much as i could, still tetattDS has "BaseBock *field[FIELD_WIDTH*FIELD_HEIGHT]". In other words, the whole grid contains pointers to instances of blocks or garbage blocks. Pretty odd.
Well, for me only, actually. Unlike blocks in e.g. SMB, here you need to 'stress()' 'pop()' and 'drop()' blocks individually, and you need to tell apart garbage block (unmovable) from regular blocks.
Yet another puzzle-specific thing is the effect handler. Anything that requires a fancy animation goes through a class that extends "effect" baseclass and that is registered in the EffectHandler. The EffectHandler is a singleton that will evaluate each effect, calling their individual 'tick()' and 'draw()' routines appropriatedly and collecting effects which duration is over. I claim this to be puzzle-specific because in a sidescroller, you'd have rather implemented such effect by transient Sprites among the character and foe sprites.

Unfortunately, that means i cannot just use it as such to implement falling apples (since they'll fall until they hit the ground, not simply for a fixed time interval.

samedi, mars 10, 2007

Monster Design: Bop L'éponge

Vous avez eu la mise en bouche, vous avez eu le "on the road" ... Il est temps de parler un peu de la scéance 'monster design' pour Bop.

Pour commencer, bien sûr, il y avait un petit dessin de Pierrick où il plantait les "monstres" principaux pour la 'School Zone' -- avec un 'Y sont trognons, non?' en bas d'une feuille où figurait la première esquisse des crayons-soldat, de la gomme, etc. En même temps, il me proposait aussi les mouvements de ces monstres: le crayon avance tout droit et fait demi-tour en bout de plate-forme, la gomme fait des bonds de 2x sa hauteur, etc.

Au milieu de tout ça, une éponge qui devait avancer en "glissant sur le sol" et en se dirigeant vers Bilou. S'il y a un mur entre eux, elle rebondit dessus avant de se relancer de plus belle, et si on l'évite en sautant, elle fait demi-tour pour vous pourchasser.

Assez simple, en somme:


if xbop<xbilou then speedbop=speedbop+1
if xbop>xbilou then speedbop=speedbop-1
if speedbop<-5 :="" if="" speedbop="" then="">5 then speedbop=5
xbop=xbop+speedbop
In its initial design, the 'sponge' monster in school zone was supposed to slide on the ground, chasing Bilou if he tried to jump it over. Nice idea, which i will reuse, but drawing inspiration from Prehistorik's spiders, i think i can do something more interesting. Imagine sponges that are hanging from the ceiling, either moving up and down, or rocking left and right. Imagine you could jump from one sponge to another to access higher areas ...

Le tout en tournoyant sur elle-même. Bonne idée en somme, que je vais d'ailleurs garder, mais de préférence sur des plans inclinés. Puis, pendant la répétition des sopranes à PQF, je gribouille l'éponge pendant au bout d'un fil, qui m'a rappelé les arraignées de Prehistorik. Vous savez, ces sales bêtes bien casse-pied à éviter, notamment parce que vous ne saviez jamais dire à l'avance si elles allaient simplement monter et descendre bien gentillement ou se mettre à se balancer de gauche à droite. Ou encore se poser au sol pour vous pourchasser.

Alors pour une fois, je n'ai pas tenté de réinsérer des arraignées dans la forêt, j'ai directement transposé sur l'éponge. J'étais déjà fier de mon coup, mais ce n'est que 2 ou 3 jours après que je me dis "mais au fait, une éponge, ça flotte!". Et comme il y a déjà des encriers et le "temple de l'encre" dans le scénario du jeu, pourquoi ne pas construire un niveau basé sur un "lac d'encre" léthal pour Bilou que l'on franchit en sautant de crayon en crayon (oui, j'ai rejoué à Rayman dernièrement), ou en rebondissant sur les éponges. On peut mêm avoir des éponges "flottantes" sur lesquelles Bilou ne sait rester qu'un certain temps ^_^

Finally, imagine the road to the Ink Temple where you'd have to duck sponges when you're on moving pencils, or bopping the rocking sponges to turn them into a floating platform that you must leave before it sinks. All in one, it gave the rough lines of a whole new level for the school zone ... Something i'm unfortunately not showing you here since it would ruin the plot of the game (yes, i will eventually make it run).

Et voilà. Comme le sait Gédéon depuis la Inscene, quand je fais du monster design, ou du level design ou même encore plus technique que ça, je gribouille partout dans les marges. Tout ceci, c'était pendant la discussion avec Didier sur les sauts etc.

J'ai même un niveau quasi-complet à montrer à mon frère, mais je ne vais tout de même pas vous le montrer ici: ça gâcherait tout le fun du jeu quand je l'aurais codé ^_^

lundi, mars 05, 2007

Vous courriez ? J'en suis fort aise! Eh bien, Sautez, maintenant...

Je discutais DS et bilous avec Dider, mon beau-frère informaticien, et je me rends compte que des techniques que j'ai apprises "sur le tas" avec mon Bilou's Adventure en QuickBasic peuvent parfois être pas si évidentes que ça pour des personnes qui ne baignent pas dedans depuis 15 ans ^_^

Outre les aspects techniques qui font que les images du jeu s'affichent convenablement, une question-clé était "mais comment programmes-tu les murs, les sauts, etc." Rappelons-nous tout d'abord que sur une console de jeu, l'écran (en tout cas pour les modes 2D) ressemble plus au carrelage d'une salle de bain qu'à n'importe quoi d'autre. Vous avez de jolis pavés (parfois appelés "tiles" ou "blocs" selon les cas) sur lesquels vous avez amoureusement dessiné des bouts de livre, d'encrier, de crayon, etc. Chacun porte un numéro et il suffit d'inscrire son numéro dans une grande grille pour construire l'image voulue.



Bion. Maintenant qu'on sait ça, on voudrait pouvoir détecter s'il y a ou non un sol en-dessous de Bilou, histoire de s'avoir s'il doit tomber ou rester sur place. Rien de plus simple: on va calculer les coordonnées d'un "point-test" situé juste en-dessous de Bilou et regarder le numéro du pavé au-dessus duquel il se trouve. S'il s'agit d'un crayon, d'une latte, etc. on ne bouge plus! Sur PC, j'avais traduit ça en une division des couleurs du jeu en deux sous-ensembles: les couleurs "solides" (pour dessiner les livres, etc) et les couleurs "de fond" (pour dessiner le fond. warf.), mais sur une console comme la DS, on a généralement plusieurs plans de décor, et pour commencer, on peut tout à fait décider que tout ce qui n'est pas "solide" set sur un autre plan: lors du calcul du "point-test", on verra soit le pavé #0 (du vide), soit un autre pavé, qui indique qu'on a affaire à du sol.





Bien sûr, ce que je fais avec Bilou et ses points-test peut être généralisé à tout le reste du jeu: les éponges, les crayons, les gommes, les gouttes d'encre et tout le tintouin. Il suffira de programmer les routines de déplacement de chaque élément du jeu pour qu'il fasse ses propres tests et réagisse en conséquence (passage de l'état 'sur le sol' à l'état "dans le vide", par exemple). Avec ça, vous ne devriez pas avoir trop de mal à vous construire un petit perso qui tombe quand il n'y a pas de sol et qui avance quand il est au sol.

Maintenant, quid des sauts et compagnie ? Bon, si vous avez déjà suivi un petit cours de physique, vous savez qu'un objet qui bouge a un vecteur-vitesse. En clair, si Bilou avance vers la droite, son vecteur-vitesse vaut p.ex. (5,0), c'est à dire qu'à chaque "tranche de jeu" (ou 'tic'), il sera 5 pixels plus loin sur la droite mais qu'il ne monte pas et qu'il ne descend pas. A l'inverse avec un vecteur-vitesse (0,5) Bilou descend comme s'il était sur un ascenseur. Pour donner l'impression qu'il tombe, il suffit d'augmenter la vitesse verticale à chaque tic. Mieux, même, si je démarre avec (0,-5) et que je garde la politique "augmente la vitesse verticale à chaque tic tant qu'il n'y a pas du sol en-dessous de Bilou", il va faire un gentil saut sur place.

Avec un petit calcul niveau secondaire-sup, vous pouvez même calculer la vitesse initiale à donner à Bilou lorsque le joueur appuie sur le bouton de saut pour qu'il puisse (par exemple) faire un saut suffisant pour grimper par-dessus un obstacle de 64 pixels de haut. Facile: il faudra au moins une vitesse initiale de 11. Et c'est là que le bas blesse: on vient de dire que 8 était un maximum :-/ Résultat,

  • on pourrait diminuer la gravité (se dire que tomber d'un pixel tous les 1/60 secondes, c'est un peu beaucoup: vous avez traversé 1/3 de la hauteur de l'écran en seulement une seconde)
  • on pourrait ajuster nos routines de tests pour qu'une vitesse de plus de 8 pixels sur 1/60 secondes ne pose pas de problème technique
  • on pourrait revoir le modèle du saut et "tricher" un peu avec les lois de la physique...





En pratique, si vous regardez sauter Mario, vous vous rendrez compte qu'on a pas vraiment respecté les bonnes vieilles lois de Newton dans les sauts, et pour cause: le joueur doit pouvoir doser son saut, et la manière la plus naturelle de le faire, c'est de relâcher plus ou moins tard le bouton de saut. Dans la réalité, bien sur, ça ne correspond à rien: une fois que vous êtes lancés, vous ne pouvez plus décider que "oups, non, finalement, il faudrait que je saute un peu moins loin si je ne veux pas me tordre la cheville en retombant".

On pourrait faire comme dans ninji & zarbi et demander au joueur de laisser le bouton enfoncé d'autant plus longtemps qu'il veut sauter loin (mimant alors une "accumulation d'énergie" avant le saut) et ne faire le saut que lorsque le joueur relâche le bouton, mais je vous laisse imaginer sauter de passerelle en passerelle sur ce principe.
Non, ce que l'on va faire, c'est considérer que l'énergie dont notre Bilou dispose pour le saut n'est pas consommée complètement en un instant pour lui donner la vitesse (0,-11), mais plutôt que pendant une première phase du saut, Bilou conserve une vitesse verticale plus basse, mais n'est plus soumis à la pesanteur (en gros, il monte à vitesse constante) aussi longtemps que le joueur garde le doigt sur le bouton de saut. Avec un bon dosage de la durée max de cette "phase ascenseur", on pourra atteindre la hauteur souhaitée sans dépasser la vitesse qu'on s'est fixée.

Reste le coup du saut pendant la course. Le premier jeu bilou était assez déroutant dans ce sens. J'avais voulu obtenir un effet "à la Sonic" ou le personnage saute d'autant plus haut et loin qu'il avait pu prendre de la vitesse. L'ennui, c'est que je passais simplement de (v,0) à (v,-v) au moment du saut. Si vous faites le calcul, ça veut dire que au moment où le jouer appuie sur le bouton, c'est comme si l'énergie de Bilou était subitement doublée ... d'où un saut qui n'a rien à voir avec la vitesse de Bilou à ce moment-là. Idéalement, j'aurais plutôt du prendre quelque-chose comme (sqrt(v),sqrt(v)) pour conserver sa quantité d'énergie ...

On testera tout ça...

Sorry non-frenchy folks, this one is a big too large for inline translation. i might come with a dedicated post with translation when i'll have a bit more free time... and implemented the stuff ^_^ Meanwhile, i suggest that you read Gregg Iz-Tavares and Dan Chang's article on M.C. Kids for the NES, which basically covers the same kind of topic.

vendredi, mars 02, 2007

zuma+DS=déçu

Si quelqu'un m'avait dit "Tiens, tu sais qu'ils ont sorti une adaptation de Zuma sur la Nintendo DS?" j'aurais probablement foncé l'acheter. Que ce soit pour son concept, ses graphismes ou sa bande son, je trouve ce jeu excellent. Un digne représentant de ce qu'est un bon jeu vidéo innovant (et pas un éniemme tétriste ou un Doom8).

If some friend told me "you know what? they released Zuma on Nintendo DS!", i'd probably have run to the nearest local dealer... I love everything in that little gaming gem: graphics, soundtrack or even the gameplay. It incarnates what i call "an innovating game" compared to "yet another tetris clone" or "latest hi-tech FPS".

Pas de bol. Ils ont tout foiré. Un peu comme quand ils ont décidé de remplacer les petites fées de "Paneru de Pon" par les personnages Mario pour en faire "Tetris Attack"... ou comme quand ils ont fait de "Children of Mana" un jeu de donjon là où tout le monde attendait un Action/RPG... ou la transmogrification de Fury of the Furries en "Pacman in Time".

Déçu, donc, de voir "Action Loop" ressembler à un mauvais clone d'un shareware des années '90 ... A peu près autant d'esthétisme qu'une machine à bonbons que l'on aurait croisée avec un juke-box soixante-huitard un peu attardé. Bref, si vous aimiez le jeu, je vous conseille plutôt la version "homebrew", qui à défaut d'être aussi intéressante que Zuma, avait un joli décor de Wario ...

Too bad: they missed the opportunity of doing a great game. "Action Loop" i disapointingly looking like a poor shareware of the 90s, with as much hex-appeal as the result of crossing a candy automaton with a rock-n-roll juke-box. And this is not the first time a little gem is defaced when moving into the cash-driven world of console gaming. They already did it to "Paneru de Pon", "Children of Mana", "Prehistorik Man" and "Pacman in Time". For those who loved the fun of Popcap's game, i'm sorry, but Action Loop removed everything that makes it fun. Forget it. If you're really in need for a pop-the-balls-and-break-the-chains game on your DS, you might want to consider "Luxor : Pharaoh's Challenge instead" ... not as cute as Zuma, but at least it hasn't been ruined in the port.