Page 1 sur 1

Développement en vue...

Publié : 18 Août 2012 21:56
par bouz
Après des mois (même des années d'ailleurs) sans programmer grand chose, il me vient depuis quelques mois des envies de m'y remettre.
Je lance ça aujourd'hui parce qu'aujourd'hui, j'ai fait une partie de Sega Tennis 2 avec ma femme, et j'ai versé ma larme tellement cette console est bonne.
Pour ceux qui ne sont pas au courant, je fais depuis des années une fixette sur les jeux micro machines. Ca m'a conduit à écrire un jeu sur HP48 avec la technologie du bord (en assembleur Saturn 4 bits). Quand j'ai découvert la DC et KOS, je me suis lancé dans un projet similaire. Au fur et à mesure que le dev avançait, je suis passé d'un jeu en 2D vue de dessus à un jeu en 3D avec de la musique, 4 joueurs et de l'IA.
Le problème, j'ai fait tous mes outils au fur et à mesure. Je suis content du driver AICA, mais pour ce qui est de la 3D, c'est autre chose: un système maison de description des meshes, avec des listes de vertex et de texels écrites à la main dans des fichers texte, le tout affiché par KGL.
J'aimerais passer à la vitesse supérieure, et utiliser des outils plus conventionnels pour la 3D. Je me suis penché sur Blender, qui propose pas mal d'options, des ossatures pour faire des animations et du scripting pour des exports custom. La première étape serait donc de gérer un moteur de rendu basé le plus directement possible sur l'API du PVR.
Le jeu cible n'est plus un micro machines like. Ca me gonfle de voir trop petit, et le concept n'en met pas trop plein la vue. Du coup, après pas mal de temps à jouer et regarder des videos de jeux comme Sega Rallye, Crazy Taxi, GTI Club, Daytona USA (DAYYYYYYYYTONAAAAAA) ou NFSU, je me suis dit: et pourquoi pas un jeu dans le genre, avec de bonnes sensations et de la grosse impression de vitesse. Je sais que ça parait énorme, mais c'est aussi super intéressant.
Je suis assez à l'aise avec la physique et la trigo, donc cette partie de m'inquiète pas énormément. Le plus compliqué sera de gérer le clipping, beaucoup plus difficile pour un jeu de rallye que pour un Micro Machines like, et la clé de tout.
Donc voilà, l'idée est lancée. Bien-sûr, c'est un projet de longue haleine. C'est pour ça que je poste ici. Ca permettra de maintenir un semblant de pression de et motivation.
Bien-sûr, si quelqu'un veut participer d'une manière ou d'une autre, il est le bienvenu (code, musique, graphismes). Sinon, je fais tout seul et ça ne sera pas beau à voir ni à entendre.
Voilà qui est dit.

Pour les curieux: http://www.hpcalc.org/details.php?id=1020
:-)

Re: Développement en vue...

Publié : 19 Août 2012 21:28
par Ayla
Pour la gestion des graphismes, la meilleure idée serait de développer une lib OpenGL ES 1.1 pour KOS, et ensuite d'utiliser un outil comme Blender. OpenGL ES 1.1 contient un sous-ensemble des fonctionnalités d'OpenGL, qui correspond plus au fonctionnement du PVR. Il me semble d'ailleurs que cette lib a déjà été en partie portée.

Je t'aurais bien donné un coup de main, mais je suis 6 mois en Amérique du Sud sans ma console, il n'y a pas grand chose que je puisse faire.

Re: Développement en vue...

Publié : 19 Août 2012 21:59
par bouz
Ayla a écrit :Pour la gestion des graphismes, la meilleure idée serait de développer une lib OpenGL ES 1.1 pour KOS, et ensuite d'utiliser un outil comme Blender. OpenGL ES 1.1 contient un sous-ensemble des fonctionnalités d'OpenGL, qui correspond plus au fonctionnement du PVR. Il me semble d'ailleurs que cette lib a déjà été en partie portée.

Je t'aurais bien donné un coup de main, mais je suis 6 mois en Amérique du Sud sans ma console, il n'y a pas grand chose que je puisse faire.
J'ai peur que la surcouche OpenGL ne fasse perdre pas mal de performances, comme c'était le cas pour OpenGL. Ca ne me fait pas peur de développer un moteur spécifique à la DC. Et pas non plus de faire des scripts Blender pour exporter directement dans des structures spécifiques au PVR. Des infos sur les perfs?
Pour ce qui est de ton voyage, pas de problème, comme je disais, c'est un projet de longue haleine ;-) Il y a tellement d'aspects à gérer que dans 6 mois, je n'en serai pas très loin! Je vais continuer à bosser sur Blender et le PVR, et à réfléchir à des algos de clipping adaptés aux courses de voitures. Autant savoir où je vais avant de partir.

Re: Développement en vue...

Publié : 19 Août 2012 23:57
par Ayla
OpenGL ES 1.1 est beaucoup plus simple dans ses fonctionnalités qu'OpenGL, c'est là tout son intérêt. Je doute vraiment qu'il s'avère être un frein.
Bien sûr, tu pourrais utiliser l'API PVR de KOS directement, mais l'avantage de passer par une API comme OpenGL ES c'est que cette API est largement répandue sur les appareils mobiles, et donc le jeu aurait une bien plus grande audience. Si cela ne coûte pas plus cher en performances, pourquoi pas?

Re: Développement en vue...

Publié : 23 Août 2012 21:38
par psykotine
Miam vivement la suite des opérations !!!

Re: Développement en vue...

Publié : 01 Nov 2012 10:02
par bouz
Hop, je profite d'un peu de temps libre pour faire des tests de performances de l'API du PVR avec les différents systèmes de soumission de listes de vertex. Quelle aventure...
J'en ai profité pour écouter des S3M avec le driver AICA maison, et je me suis aperçu que le son jouait toujours à 100% sur le canal de gauche. Dommage. J'ai donc passé une bonne heure à trouver d'où ça venait et maintenant j'ai une stéréo impeccable. Avec un casque, c'est nettement plus flagrant que sur les haut parleurs de la télé ;-)

Re: Développement en vue...

Publié : 02 Nov 2012 11:56
par bouz
Et voilà, juste quand je commence à être tout plein d'espoirs avec mon script d'export Blender, je m'aperçois qu'il n'y a aucun moyen de faire des exports de triangle strips.
Il va falloir que je me lance un peu plus en profondeur dans le langage Python et que je code un algo pour "stripifier" les polygones donnés par Blender. Joie.
J'ai trouvé sur Internet et dans le code de KOS des exporteurs pour la Dreamcast, mais jamais de triangle strips en vue. Juste des polygones tout minuscules :-(