Prenez un succès incontournable du jeu vidéo des années '90 (allez, 1989): Prince of Persia. Prenez un briscard de la programmation sur une machine mythique et merveilleuse: MrSid et son C64. Arriva ce qui devait arriver: après la SNES, le PC, l'Amiga, les téléphones Java et l'iPod et la calculatrice HP48, le titre à succès de l'Apple II arrive sur Commodore 64.
Au départ, je pense à une ancienne version qui aurait refait surface, mais non: MrSid refait bel et bien le jeu entre 2008 et 2011 -- chacun son hobby. L'Apple II et le C64 tournent avec le même processeur, le MOS 6502. C'est énorme. Ca signifie qu'en prenant simplement le "binaire" de PoP sur Apple II, une partie du jeu "tournerait" directement sur C64 ... toute la "logique" du jeu, en fait. Les mécanismes graphiques et sonores des deux machines sont totalement différentes, en revanche. Et à relire pour la 3eme fois le peu d'information que je trouve sur le graphisme de l'Apple II, j'aime autant dire que cette différence est importante. La machine de Steve Wozniak travaille essentiellement avec un gros 'framebuffer' (une image bitmap unique, remise à jour à chaque étape du jeu) alors que le C64 a un hardware inspiré des consoles et machine d'arcade de l'époque: caractères reprogrammables et sprites hardware. Le moteur de rendu devra donc être intégralement refait.
Well, if you read English, you can simply head to MrSid's post "Why would anyone want to port Prince of Persia on the C64". I guess he'll explain his reasons and give you crunchy details and videos much better than I could ever do ;)
La tâche à laquelle MrSid s'attelle donc, c'est de reprendre le binaire de la version Apple II, le désassembler et le cartographier. Il s'est évidemment mis en chasse du code source d'origine, qui a été perdu corps et bien ... eh oui, on travaillait sur floppy à l'époque >_<. Ce qui a survécu, en revanche, et que MrSid exploite au maximum, c'est la "documentation" du jeu. Quelques schémas qui expliquent les grandes lignes du moteur graphique, la liste des animations, l'organisation en mémoire des objets, leur position, les animations, et tout ça. Ca fait toute la différence! Au milieu de l'inconnu, il y a maintenant des points de repère qui permettent de comprendre le code parfois curieux de Jordan Mechner. Code-trampoline, liste d'instructions ... Si tout ça vous parle, ne vous en tenez pas à ce que je vous raconte: allez lire le blog dans lequel MrSid raconte en détail sa réalisation étape par étape... vidéos à l'appui.
Au fait, MrSid, c'était aussi le portage de Giana Sister (version C64) et International Karate sur DS. ^_^
(pour le blog Commodore Users Charleroi
Sunday, October 30, 2011
PoP C64 2011
Saturday, October 29, 2011
Vieux Bouquins

Selon Helm, il faut que je retravaille mes "vieux bouquins" ... il est peut-être donc temps que je mette en ligne mes images de références trouvées sur flickr, histoire de les avoir plus facilement sous les yeux. (Encore que, en principe, je les avais imprimées :P)
These should be my references for drawing old books in pixel art.
Tags: school zone
Tuesday, October 25, 2011
Colour Balance ...
J'essaie d'ajuster un peu les couleurs des différents éléments de la "school zone" histoire d'avoir quelque-chose de plus harmonieux que les derniers mock-ups. La difficulté, avec les bruns et les verts, c'est que le moindre faux-pas casse tout. Je suis assez content des teintes sur la gauche de l'image (gimp-power), mais le hic, c'est évidemment que la DS a moins de souplesse de ce côté-là: 5 bits par couleur au lieu de 8, on se retrouve vite avec un écart trop grand ou trop petit entre deux couleurs si on se contente d'essayer de réappliquer les valeurs HSV de l'un à l'autre.
Not so easy to make sure that the different objects fit together well, esp. when lights and colours come into the game. On your left, binders and small wooden blocks with Gimp-revamped colours. On your right, books and larger wood block as they exist right now on the DS. I'd love to have the wood blocks use the same colour, but unfortunately, it turns out that the RGB values fined-tuned in Gimp do not fit the 5-bit-per-color-channel constraint of the DS hardware. Whatever "brainless" conversion I try to apply inevitably ends up with exagerated contrast here or flattened colours there.
I guess I'll have to do something similar to the process through which I revised the green zone's dust background: bring in the desired background colour and some misc. objects, finetune colours on the DS and then rework my rasters accordingly. It's just a pity that SEDS does not provide a way to visualise which colour of the palette is where (on tiles) in palette edition mode >_<
Et pour ne pas changer, il me manque le "petit plus" pour faire des essais facilement avec SEDS, à savoir visualiser dans l'image une couleur choisie sur la palette... Quand j'aurai ajusté ça, il faudra aussi que règle les vieux bugs de mon Level Editor, parce que si pour les maps simples d'Apple Assault, j'avais pu "faire avec", là, c'est un peu la catastrophe. Dès que j'essaie de définir un objet comme solide, j'ai une chance sur deux d'en effacer un autre >_<
Puis il faudra que je permette d'ajuster le niveau de zoom du frame editor d'AnimEDS pour pouvoir travailler sur Bilou, dumblador et les autres qui se sente un peu perdu dans un cadre de 64x64 :P Et puis permettre à SEDS et LEDS d'utiliser les palettes alternatives de la DS, histoire de varier un peu les couleurs des livres sans faire exploser le nombre de tiles pour autant.
edit: it's been 3 evenings I spend trying to adjust colours on the DS, where everything looks "just fine" when viewed at the proper angle. If I really want homogeneity in art, woudln't that be wise to first check that my FG is harmonious against existing background ... like the one of the green zone ? ... imho, it works fairly well, regardless of the actual "tint" of that background. Don't you think ? Now, all I need to do is draw some books and school stuff with those tints :P
Tags: colours, done, level design, mockup, pixels, school zone, sprite editor
Monday, October 24, 2011
Playing Diamond Hollow
A nice chippy music, simple graphics that reminds me of (good) DOS sharewares and nice level design, Diamond Hollow could be a dynamic game created with RSD game-maker if it wasn't for the sophisticated, immediately available weapon upgrade system. You collect diamonds in caves and fight blobs, spiders and some undefined creatures. That's fairly classical, but in video game like in cinema, there are some classics that can't be made wrong.
One thing that really puzzles me is the control system. Am I supposed to control the player with keys and space bar with one hand and aim my fire with the mouse ? That's fair enough in level 1 and 2 with relatively stubborn monsters that don't really attack me and the "autofire" power up. There is no timer in the game (i.e. power up dropped by monsters are permanent: you've got as much time to gather them as you want), so I can just stop in a safe position, move the mouse with the touchpad (yeah, laptop here), and then jump around to shoot the monsters. Leaving the "mouse" untouched means I'll always fire towards the same absolute X position (moving left/right won't change my target) and the same relative Y position (jumping makes change my target). Sure, the game designer wanted that feature and freedom very hard, but allow me to be brutally honest: it's useless. 4-directions firing would have been largely enough, and it would likely have involved the player much more by intense action when risk must be taken rather than doing precision adjustment to shoot plain blobs. When controls are awkward, I will just minimize the risks of getting into trouble. too bad. It really had a cute little something.
Tags: game, game design, traduis-moi
Friday, October 21, 2011
wooden pixels
Pattern de 32x32, de nouveau.
The scale is much smaller than in Coolspot and the grain lines in the wood are barely one pixel wide. They kept a regular spacing of 3 pixels between lines so we don't get the ugly stuff I scribbled on the right of the picture.
Petit retour à SMB3 ? Il faut dire que les "briques de bois" ont un comportement tellement particulier dans ce jeu (cachant parfois des plumes-tanooki mais nécessitant de les cogner *sur le côté*) que j'ai tendance à croire qu'il y a du bois partout ... en fait, il est plutôt rare ^^"
Ici, pas de "veines" dessinées dans le bois, mais l'impression qu'on voit un morceau de tronc débité dans la longueur, avec les anneaux caractéristiques. 
Tags: colours, nostalgy, pixels, school zone
Thursday, October 20, 2011
Influences for Bilou ...
Facile de voir que la school zone de Bilou ressemble à la cité des images de Rayman. Et pourtant, c'est une pure coïncidence: quand mon frère m'a ramené les nouveaux monstres de Pierrick, personne n'avait jamais entendu parlé du curieux bonhomme sans bras à moins d'être dans l'entourage rapproché de Michel Ancel... Ce dont je ne peux malheureusement pas me vanter.
Mais ce n'est pas pour autant dire qu'il n'y avait rien avant, même si à 15 ans, on avait passé le cap de "refaire un Sonic avec Calimero", il y avait forcément des jeux qui nous avaient marqués et qui nous ont donné envie donner vie à des objets genre "Alice au Pays des Merveilles"dans des environnement "zoomés". Coolspot ('93) fait ça un peu tout le temps. L'animation gag et fluide du jeu de David Perry a largement contribué dans mes influences pour les jeux vidéos, c'est clair.
L'année avant, l'ovni farfelu, c'était sur Amiga, c'était Zool, le ninja trans-dimensionel. Château des Délices -- euh, zone Chuppa Chups, je veux dire -- puis monde de la musique (tiens, tiens!), Jardin Géant, Boîte à Outils et magasin de Jouets.
Oui, ce "tueur de Sonic" à très certainement marqué le terrain d'une manière plutôt décisive, et je me demande même dans quel mesure il ne figure pas également dans les influences de Michel ;)
Ou alors serait-ce les Rangers du Risque (sur NES, dès 1990) ? Avec leurs niveaux à kangourous smasheurs dans une bibliothèque ? Si ce jeu figure parmi mes référence en terme de gameplay coopératif, en revanche, je ne crois pas être allé jusque là, ni même avoir jamais vu quelqu'un y jouer. Il faudra chercher ailleurs.Tuesday, October 18, 2011
branches/newcollide
Well, that'd be better unless the compiler is able to keep all the arguments in registers otherwise :P
Je dirais bien "assez causé, implémentons ces fameuses nouvelles collisions". Sauf qu'en fait non. Les petites modif' faites par-ci par-là dans le Boutdlard Express ne compilent pas, et si je fais ce qu'il faut pour qu'elles compilent, ça va être une véritable pagaille dans le code. Genre "la famille araignée en vacances dans une boites de spaghetti géante", voyez? J'ai une petite idée pour rationaliser tout ça sans perdre en souplesse ni (trop?) en performance. Je vous en dis plus après avoir fait le test.
Tags: attach, collisions, cxx, newcollide, planning


Vote for your favourite post
