:: PlayerAdvance.org ::

:: PlayerAdvance.org :: (http://www.playeradvance.org/forum/index.php)
-   Projets (http://www.playeradvance.org/forum/forumdisplay.php?f=120)
-   -   GBA Sonic GBA - clos (http://www.playeradvance.org/forum/showthread.php?t=31209)

Brunni 15/02/2009 21h51

Sonic GBA - clos
 
Quelque chose me tenait à coeur... Depuis si longtemps que je suis tenté de le reprendre mais n'y parviens jamais, il est temps d'affronter la réalité une fois pour toute et déclarer ce projet comme clos (à la mode lancée par Nhut) ^^
Mais comme ce projet a énormément d'importance pour moi ici puisque c'était un des gros projets de l'ancien PA, je veux le poster ici et en faire profiter ceux qui l'auraient peut être manqué, puisqu'il n'a pas été repris de l'ancien forum.

Il s'agit donc d'un clone de Sonic sur Mega Drive, un défi technique pour reproduire le gameplay original. Le projet a été commencé en fin 2003 sur TI-89 (calculatrice) si je me rappelle bien. La découverte de la GBA, de son grand écran couleur et réactif m'ont immédiatement motivé à porter le code sur cette dernière. C'est après une petite démo Mario (disponible ici), elle aussi portée d'un soft sur TI qui se voulait être un Mario Land like, que je me suis lancé dans l'aventure.

Le projet a ensuite bien évolué sur la base des critiques et de l'aide des membres de PA. Je me rappelle que la première version du moteur que j'ai présentée, avec une physique à l'ouest mais surtout juste Sonic et 1 BG (aucun objet) prenait déjà plus de 100% du CPU de la console... ensuite est venu s'y rajouter un tas de fonctionnalités et le moteur est passé sous la barre des 40% de CPU... parmis celles-ci on trouve:
- Nombre infini de tiles (pas limité la VRAM) par chargement dynamique
- Nombre infini de tiles et palettes pour les sprites, ainsi que de sprites eux-même par une astuce similaire
- Effets de scrolling variable sur un plan donné et gestion du niveau de l'eau par reparamétrage de la palette via les interruptions VCOUNT, dont la prochaine est reparamétrée une fois l'autre terminée (on n'a donc pas de HBLANK)
- Mixer audio basé sur un canal ADPCM mono (pour la musique) et 4 canaux PCM (pour les sfx)
- Système de texte géré au pixel avec fontes à chasse variable, permettant le débogage et un menu compact
http://img515.imageshack.us/img515/6512/tmplu0.png

Le moteur physique, de gestion des objets et de collisions a été conçu sans l'aide du code original, mais juste par observation (heureusement que les constantes choisies par la Sonic Team sont relativement simples à deviner). Donc un code simple = juste ^^
Puis le projet a continué et Phoebius, grand fan de Sonic, m'a rejoint. Originellement, nous voulions faire des niveaux inédits, avec des graphismes dans le style des Sonic Mega Drive. Malheureusement sur le terme la démotivation est passée par là... :(
Il y a toutefois quelques prototypes, présentés sur les fils suivants:
http://forums.sonicretro.org/index.php?showtopic=4813
http://forums.sonicretro.org/index.php?showtopic=8300

Pour la première fois, le code source est fourni. Je l'ai mis à jour pour pouvoir être compilé sur la dernière version de devkitpro (je vous dis pas l'enfer, tellement de choses changent par rapport à l'install perso de HAM que j'avais à l'époque) et incluant le Sonic Development Kit. Le SDK de son petit nom se présente sous la forme d'un projet simple qui réutilise les fichiers objet du moteur et permet de rajouter de nouveaux niveaux, objets, comportements de Sonic ainsi que le code associé sans toucher au moteur. Il a été utilisé afin que Phoebius, qui ne s'y connaissait pas en code, crée ses propres ennemis et niveaux tandis que je travaillais sur le moteur.
Sont inclus tous les outils dont vous avez besoin, sauf GBA Graphics (lui disponible sur mon site). De mémoire il y a notamment:
- SpriteCutter pour créer des sprites scriptés en plusieurs parties
- All: pour centraliser les définitions dans un fichier .h
- Wav2son et Wav2bgm: pour convertir les musiques et les bruitages

En espérant que cela pourra faire fuir les fantômes qui me hantent :p et donne du bon temps à ceux qui ne connaissaient pas.

PS: la source est disponible ici: http://brunni.dev-fr.org/dl/gba/sonic_src.7z

Pixou 15/02/2009 21h58

Legendary !!
Encore un boulot de fou de ta part Brunni.
Par simple curiosité, tu fais quoi dedans ta vie à toi ?
Développeur je suppose.

Brunni 15/02/2009 22h03

Merci :D
A cette époque pas, mais maintenant je suis dans une école pour faire ça oui :)
Bref que ceux qui pensent que je ne suis bon qu'à faire des libs abrutissantes (C) se rassurent, j'ai aussi commencé avec des jeux ^^

Pixou 15/02/2009 22h08

Ben moi j'ai fait une école et je ne pense même pas avoir 1/10ème de tes capacités...
En tout cas, chapeau bas pour ton boulot et pour ce que tu fais pour le dev amateur.

(comment ça fait cirage de pompe mais c'est vrai n'empêche)

omg 15/02/2009 23h57

Merci Brunni! :) :brunni:

Brunni 16/02/2009 00h09

Pixou> merci, mais faut aussi voir que j'ai 22 ans et j'ai commencé à coder en 2002, donc y a du temps derrière... ;)
D'ailleurs le plus vieux programme que j'ai pu retrouver, c'est ceci: http://leiber.free.fr/ti/flib/programmes/index.html (chercher Tex T)
Dommage que j'aie perdu toutes ces archives :(
omg> de rien :)

Ass-Itch 16/02/2009 11h18

Je n'étais pas présent sur PA à l'époque, mais c'est le genre de projet qui traverse les générations et fait parler de lui longtemps ^^ C'est une bonne chose de clore un projet mort, ça permet d'aller de l'avant, et en ce qui te concerne Brunni, il est clair que le meilleur reste à venir ;)

Nesgba 16/02/2009 11h50

l'une des demo technique qui m'a le plus donné envie de progresser dans ma façon de coder, je me souviens encore comme j'étais impressionné à l'époque ^^

kinski 17/02/2009 12h09

Merci mille fois Brunni, depuis le temps que je voulais voir le coeur de la bête :w00t:

J'espère que c'est bien commenté... :ninja:

Brunni 17/02/2009 14h19

Heu ... pas vraiment. A moins que le vieux code laissé en commentaire compte? :ange:
Il doit même y avoir des commentaires bien ridicules d'ailleurs. Je me suis pas amusé à relire tout ça ^^
En tous cas ça fait plaisir que ça intéresse du monde, merci :)

greeeg 17/02/2009 21h27

Enfin le projet sort en version definitive !!! Merci Brunni !

MIKEGBA 18/02/2009 14h53

:) Sans hésitation pour moi au top 3 de tous les homebrews jamais sortis sur gba :bave::bave:

Nhut 19/02/2009 12h35

Citation:

il est temps d'affronter la réalité une fois pour toute et déclarer ce projet comme clos (à la mode lancée par Nhut)
Woh l'autre ^^

J'espère que mes fermetures de projets n'entraîneront pas d'annulation de projets en masse ^^

Mais si clôturer le projet peut t'aider à te sentir mieux, ça ne peut qu'être bon pour toi (en tous cas ça l'a été pour moi) :)

kinski 19/02/2009 12h36

Citation:

Envoyé par MIKEGBA (Message 213737)
:) Sans hésitation pour moi au top 3 de tous les homebrews jamais sortis sur gba :bave::bave:

Les deux autres étant...

Garcimak 19/02/2009 15h58

Merci pour le généreux partage des sources et la présentation du topic, c'est LE projet PA qui me faisait rêver au moment de mon inscription sur l'ancien forum.

Nrx 01/03/2009 15h32

Et en ce qui me concerne, je dirais pour conclure : VIVE LA GBA et VIVE BRUNNI !

(bon, pour a GBA c'est malheureusement un peu cuit maintenant :ninja:... par contre Brunni a toute une vie de développeur devant lui ! :wub:)

pjeff 19/03/2009 09h27

merci a toi brunni pour ce superbe travail
et le fait de livrer tes code source vont bien aider pour le developpement de futur sonic sur plusieur plateforme :bravo:

Nhut 14/12/2009 04h05

Je sais pas si vous êtes au courant, mais un autre type s'est aussi essayé à l'adaptation de Sonic 1 sur GBA (je viens de le découvrir): http://info.sonicretro.org/Sonic_the_Hedgehog_GBA

Pas encore testé la ROM, je sais pas ce que ça vaut.

Brunni 14/12/2009 10h04

Merci d'avoir remonté le topic, j'ai honte mais j'avais pas vu les derniers commentaires :-'
Merci à tous, ça me fait chaud au coeur! :wub:


Fuseau horaire GMT +2. Il est actuellement 11h45.

Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone

GARS 2.1.9 édité par The vB Geek
Copyright 2005-2006
Version française par Cédric Claerhout