posté le 23/02/2008 à 23h18
Je continue à m'amuser (dans le sens geek du terme) avec ma PSP cheesy
Cette fois, je me suis attaqué au portage d'un jeu sur la console.
Il faut dire qu'avec le travail de la communauté, on a un environnement de compilation complet incluant la majorité des bibliothèques utilisées dans les jeux (SDL, etc).

J'ai choisi le jeu Chromium B.S.U., un shoot 'em up spatial, qui offre un bon niveau de difficulté et un graphisme de qualité.

Chromium PSP

Voici les principales étapes et difficultés que j'ai rencontré :
  • Le jeu (dont le code source est assez "vieux") ne compilait déjà pas nativement. J'ai dû désactiver le support OpenAL (inutile de toute façon sur la PSP) et basculer sur SDL_Mixer (qui était déjà disponible).
  • L'étape suivante était de réussir à compiler pour la PSP (sans se soucier d'adapter le jeu dans un premier temps).
  • J'ai créé un Makefile.psp spécifique à la compilation du jeu pour la PSP.
  • Pour résoudre les premiers problèmes de compilation, j'ai choisi une technique un peu barbare consistant à commenter tout ce qui posait problème (notamment des appels OpenGL qui ne sont pas disponibles sur la PSP).
  • L'autre point qui m'a pas mal posé problème était le linkage final. L'ordre est important sur la PSP (il faut que le SDK soit linké en dernier) et j'avais beaucoup de dépendances non satisfaites... notamment avec OpenGL et SDL_Mixer.
  • J'ai compilé une première version sans le son, en remplaçant les appels OpenGL par des appels équivalents (un peu au pif rolleyes).
  • Le jeu était enfin compilé, mais ne démarrait pas sur la console. Comme on n'a pas de messages d'erreurs ni de débogueur, j'ai opté pour un bon vieux traçage à coups de printf() grin.
  • Après avoir adapté la résolution, le jeu démarrait enfin.
  • Pour résoudre le support du son, j'ai fini par recompiler SDL_Mixer avec le minimum de fonctionnalités (le jeu a juste besoin du support WAV).
  • Le reste des changements est de l'adaptation pour la jouabilité de la PSP : utilisation du joystick au lieu de la souris, messages de chargement, simplification du menu pour une meilleure lisibilité...
Le portage (binaires + sources) est disponible ici : http://royale.zerezo.com/psp/
Tout ça m'a occupé un moment, je n'ose pas imaginer combien de temps ça a pris pour porter Quake laugh

Commentaires

Pseudo :
Message :
(pas de HTML)

Infos TiBlog

Pseudo : Royale
Titre : Le blog de Royale
Description : Le blog de l'administrateur de TiBlog.fr où vous trouverez quelques détails techniques sur le fonctionnement de ce site.

Créer un blog !

blog gratuit

Recherche

Photo