Petit Jeu à programmer

Résolu
LucyUnDemi Messages postés 34 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 12 mai 2009 - 17 oct. 2008 à 14:21
cs_stephane57 Messages postés 12 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 6 janvier 2009 - 21 oct. 2008 à 16:23
Bonjour à tous

Je cherche à faire un petit jeu en 2D pour le moment. Mais je veux que se jeu puisse fonctionne sous Linux, Mac et Windows avec un seul et même code ou du moins en modifiant ce dernier qu'un minimum.
Seulement je ne sais pas par où commencer.
Quel outils devrais-je utiliser.
J'ai vu que pour la 2D il faudrait la bibliothèque SDL mais je suis pas sur que le même code suffise à le faire tourner sous plusieurs plateformes.
Et pour le multiplatform j'ai déjà manipulé la bibliothèque Qt, qui ma fois fonctionne très bien.

J'ai repère un tuto qui explique comment intéger le SDL à Qt mais est ce que quelqu'un à déjà utilisé sur plusieurs platformes pour me dire ?
Et surtout existe t'il de meilleurs solutions pour faire un jeu en 2D multiplatformes ?

Merci pour les futurs conseils.
A une prochaine.

La vie est trop courte pour la passer a haïre.

3 réponses

cs_stephane57 Messages postés 12 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 6 janvier 2009
19 oct. 2008 à 12:17
Salut,

pour créer un petit jeu de plate-formes en 2D et en langage C++, tu as raison d'utiliser la bibliothèque SDL. Cette bibliothèque tourne sans problème sur d'autres systèmes d'exploitation que Windows.

Ton programme sera ainsi très facilement portable.
3
cs_stephane57 Messages postés 12 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 6 janvier 2009
21 oct. 2008 à 16:23
Alors voilà,

pour ton jeu de plate-formes en 2D, si tu utilises le langage C++ et la bibliothèque SDL, il n'y aura effectivement aucun souci.
Tu compiles sur les trois plate-formes et comme tout le code C++ et la bibliothèque SDL sont portables, ça t'évites de reprogrammer trois fois en fonction du système d'exploitation. Tu as donc tout bon.

Pour faire de la 3D, à titre d'info uniquement, il existe deux grandes bibliothèques: DIRECT3D et OPENGL.

bon les deux se valent, mais le gros problème de DIRECT3D c'est que les instructions sont beaucoup plus dures à comprendre et à mettre en oeuvre, et que c'est développé pour tourner sur le système d'exploitation Windows....

Je te conseille donc vivement d'utiliser OPENGL, qui n'a que des avantages:
- il fonctionne parfaitement bien avec SDL (dont tu auras besoin pour créer l'écran d'affichage sur lequel viendront les objets 3D, et pour quelques objets 2D à afficher comme les scores etc...)
- il est portable et fonctionne sur plusieurs systèmes d'exploitation
- les instructions sont plus aisées à comprendre qu'avec DIRECT3D

avant de débuter efficacement la 3D, il te faudra maîtriser à fond à fond à fond la 2D et le langage C++.

Pour ton jeu en 2D, commence par des petits programmes te permettant de:
- afficher un personnage
- bouger ton personnage en fonction des commandes du joystick ou des touches du clavier
- afficher un écran basé sur des "tiles" (petites images de 8*8 ou 16*16 ou 32*32 ou 64*64)
- faire défiler l'écran grâce à la technique du scrolling
- tester les collisions entre ton personnage et le décor
- etc...

Mine de rien, le développement d'un jeu de plate-formes en 2D prend énormément de temps et c'est très formateur. Ecris des petits bouts de code pour t'entraîner et ensuite tu pourras te lancer dans un projet complet ...

Voilà bon courage
3
LucyUnDemi Messages postés 34 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 12 mai 2009
20 oct. 2008 à 11:51
Bonjour,

Et merci Stephane57
Donc je n'aurais qu'as programmer sur une des trois plateforme pour ensuite compiler sur toutes et que ca fonctionne.
Il y a vraiment pas besoin de Qt ?
Bon et bien c'est cool.

Juste pour savoir mais pas pour me lancer :
Que devrais je prendre pour faire un jeu en 3D ?

Merci encore.
A une prochaine.

La vie est trop courte pour la passer a haïre.
0
Rejoignez-nous