Création d'un moteur de jeu 2D

Création d'un moteur de jeu 2D - Programmation

Marsh Posté le 03-07-2001 à 10:52:55    

Réflechissant à comment faire le mieux possible un jeu 2D (qui n'est plus un Shoot'em Up mais un jeu de course vu de dessus :D ), je me demandais comment créer un moteur de jeu.
 
Je pense que ce serait pratique de rassembler toutes les fonctions nécessaires dans une grande class moteur de jeu, mais j'ai du mal à me représenter comment l'organiser.
 
Un moteur de jeu se présente comment? On lui envoit des messages et lui utilise les fonctions qui sont assignées aux messages?
 
Aidez moi à comprendre la théorie.
:)

Reply

Marsh Posté le 03-07-2001 à 10:52:55   

Reply

Marsh Posté le 03-07-2001 à 10:55:38    

ah! t'es encore là !  ;)  
t'as avancé alors ?
moi j'ai pas eu le temps  :fou:  
t'as fait quoi de beau ?  :D (ça veut dire, envoie tes src  :hello: )
merci monsieur  :jap:  
moi je suis en stage alors je peux pas bosser mon jeu  :fou:  :fou:  
 
un moteur de jeu, j'ai fait un bomberman en turbo pascal, je c pas si ça pouré tédé !!

Reply

Marsh Posté le 03-07-2001 à 11:02:07    

Ben disons que le Pascal je connais pas, donc je pourrais pas lire le code, merci quand même.
:)
 
Sinon concernant mon avancement, j'ai arreté DirectDraw. Et oui, je suis passé à Direct3D 8, car je me suis rendu compte d'une part que c'était pas la peine d'apprendre une API morte et d'autre part que c'était très simple d'utiliser des sprites avec Direct3D et que c'était plus rapide.
 
Voilà, la librairie D3DX8 est géniale, on peut aussi facilement dessiner des sprites qu'avec DirectDraw, et l'initialisation de D3D8 est plus rapide que celle de DirectDraw.
 
Je t'envois le code source du dernier programme que j'ai fais, il est en Direct3D par contre. Mais tu verras, c'est pas compliqué.
:)

Reply

Marsh Posté le 03-07-2001 à 11:07:57    

merci  
ça c'est  :bounce:  
t'as jamais fait de jeu ? même un tout petit ??
si tu veux ke je t'explik mon "moteur" de Bomber Park (TM) :D  :D , taka demander.  :wahoo:

Reply

Marsh Posté le 03-07-2001 à 11:13:36    

Bah on peut assimiler le prog que je t'ai envoyé à un jeu, mais un tout petit alors.
:D
 
En fait il y a pas de but dans mon jeu, c'était juste pour tester le scrolling et la gestion des collisions.
 
Sinon, je veux bien que tu m'expliques ton "moteur" de Bomber Park. Je veux même bien l'exécutable. :)

Reply

Marsh Posté le 03-07-2001 à 11:25:36    

ok fodra ke je refasse un executable ! en plus y aura tt un petit tas de petits bouts d'fichiers par-ci par-là  :D  :D  
 
attention  :D  :D  
jouable à 4 sur un clavier  :jap:  sans aucun conflit
Cartman, Kenny, Stanley et Kyle avec 4 sprites chacun  :jap:  
objet : longueur des flammes :wahoo:  
 
4 maps  :D  
 
je demande l'accord à mon co-développeur  :lol:  et si l'accord et ok, je te mailerai une version démo  :na:  
 
si tu pouvais aller sur un chat ke je t'explique le moteur... caramail ? ca te va ? yahoo ?

Reply

Marsh Posté le 03-07-2001 à 11:29:08    

:fou:  :fou: pas de dx8 installé sur ce PC  :fou:  :fou:  
 
ben oui je bosse, je suis pas cchez moi  :lol:

Reply

Marsh Posté le 03-07-2001 à 11:30:32    

Un moteur de jeu 2d?? quesako ??
Enfin je vois pas trop de quoi tu parle :)
 
Je peux toujours essayer de te donner une idee de comment on fait un jeu (tous les jeux, 2D ou 3D :))...de maniere tres tres tres superficielle :) (parce que c'est long et complique et parce que c'est pas mon domaine :) )
 
1) On blit les sprites/animation sur l'ecran
2) On recupere les touches presses, les "events" des joueurs (un tel presse la touche "gauche", etc) etc
3) On update les variables, les objets en consequence. (On gere eventuellement les collisions, etc)
 
Et bien sur on revient a 1...jusqu'a ce que le jeu soit fini :)
 
Maintenant, j'imagine que j'ai repondu a cote :)


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 03-07-2001 à 11:32:24    

en tt cas ça a l'air suffisant pr faire un pacman ou un serpent  :D


---------------
JeanBeulz, chercheur coincheur
Reply

Marsh Posté le 03-07-2001 à 11:35:12    

Quake3 aussi, je pense :)


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 03-07-2001 à 11:35:12   

Reply

Marsh Posté le 03-07-2001 à 11:43:55    

marche po ton exe sous w98 ici !  :lol:  
je c pa si ca vient du hardware ( c 1 ATI rage pro)  :fou:  
 
vas-y debug alload !  :D


---------------
JeanBeulz, chercheur coincheur
Reply

Marsh Posté le 03-07-2001 à 12:04:34    

en fait je suis d'accord avec Willythekid, un moteur 2d c'est pas tres compliqué comme un moteur 3d, y'a trois etapes importantes :
 
  1° Calculs (positions de objets,interactions,collision,deplacement,...)
  2° Affichage (décors + objets + effets éventuels + ...)
  3° Recuperation des evenements et mise à jour des parametres/variables
 
Ben apres en affichage 2D, ca depend de ce que tu veux, il se peut que ce soit seulement des copies de sprites (copies de zone memoires) mais il peut y avoir la gestion des effets speciaux 2D (faire une explosion,tire d'une objet, fumée, ...)

Reply

Marsh Posté le 03-07-2001 à 12:08:43    

Oki, ça je savais déjà. Mais je demandais juste si il y avait moyen de clarifier un peu tout ça.
 
Sinon, comment ça il marche pas mon jeu Nibbles1? Arf :D T'es sûr qu'il y a DirectX 8 installé? Sinon, ça vient surement du fait que la carte graphique est trop vieille, peut-être qu'elle ne supporte pas le color keying, les vieilles le font pas je crois. Et donc elle peut pas afficher les images.
:(

Reply

Marsh Posté le 03-07-2001 à 12:21:33    

ben si tu veux Alload, je peux essayer ton jeu chez moi et te dire si ca marche !!!

Reply

Marsh Posté le 03-07-2001 à 12:36:03    

Pour tous ceux qui veulent bien tester mon programme et dire si ça marche ou pas:
 
http://www.multimania.com/final6/ShootEmUp.exe
 
Merci :)

Reply

Marsh Posté le 03-07-2001 à 13:35:24    

Nibbles1 > Tu pourrais me mailer le fichier que je t'ai envoyé avec le code source du programme? Parce que mon ordi a planté alors que j'étais entrain d'éditer le code et maintenant j'arrive plus à l'avoir.
:(

Reply

Marsh Posté le 03-07-2001 à 14:38:34    

:jap: je sais pas  :hap:   :D  :D  :D  :D  :D  
ok je te renvoie ça  
merci qui  :jap:


---------------
JeanBeulz, chercheur coincheur
Reply

Marsh Posté le 03-07-2001 à 14:40:08    

désolé
 
caramail est en cours de maintenance qui disent  :lol:  :lol:  :lol:  :lol:


---------------
JeanBeulz, chercheur coincheur
Reply

Marsh Posté le 03-07-2001 à 16:27:40    

allo alload ! :D  
je te l'ai envoyé   ;)


---------------
JeanBeulz, chercheur coincheur
Reply

Marsh Posté le 03-07-2001 à 23:16:36    

Pour le chat, on peut se faire ça sur ICQ sinon, mon UIN: 16189367 ou si tu as AIM: LordAlload .

Reply

Marsh Posté le 04-07-2001 à 00:58:32    

Alload a écrit a écrit :

Ben disons que le Pascal je connais pas, donc je pourrais pas lire le code, merci quand même.
:)
 
Sinon concernant mon avancement, j'ai arreté DirectDraw. Et oui, je suis passé à Direct3D 8, car je me suis rendu compte d'une part que c'était pas la peine d'apprendre une API morte et d'autre part que c'était très simple d'utiliser des sprites avec Direct3D et que c'était plus rapide.
 
Voilà, la librairie D3DX8 est géniale, on peut aussi facilement dessiner des sprites qu'avec DirectDraw, et l'initialisation de D3D8 est plus rapide que celle de DirectDraw.
 
Je t'envois le code source du dernier programme que j'ai fais, il est en Direct3D par contre. Mais tu verras, c'est pas compliqué.
:)  




 
Je susi preneur du code moi aussi :D
 
Mais je crois pas que DirectDraw est mort, enfin, Diablo2 est tout de même fait en DirectDraw ;)
 
Ta aussi des tuto pour Direct3D8 avec les sprites???
Moi j'ai déjè commencer un moteur en DDraw, tu crois que je pourais le migrer ver D3D8 assez facillement?

Reply

Marsh Posté le 04-07-2001 à 02:17:30    

Alload a écrit a écrit :

Pour tous ceux qui veulent bien tester mon programme et dire si ça marche ou pas:
 
http://www.multimania.com/final6/ShootEmUp.exe
 
Merci :)  




 
marche pas chez moi (win98 SE avec directX 8 installé)


---------------
oui oui
Reply

Marsh Posté le 04-07-2001 à 09:41:43    

Bon, le jeu marche chez personne...
:lol: :lol: :lol:
 
Je sais pas d'où ça vient.
 
Ventilo > Ben bien sûr que tu pourrais adapter ton moteur à D3D, c'est vachement simple. Vas faire un tour dans l'aide de la librairie D3DX de la SDK, tu vas trouver une section qui parle de l'éléement D3DXSprite qui sert à afficher des sprites. Ensuite c'est à peu près pareil qu'avec DirectDraw. Tu spécifies un RECT pour la source de l'image, une texture où se trouve l'image à la place d'une surface, un vector pour indiquer l'emplacement du pixel haut/gauche sur l'écran, et quelques autres trucs et c'est bon.
 
Ce qui est bien, c'est que même si on est sous D3D, on est pas obligé d'utiliser des matrices ou des repères 3D, c'est simplement du DirectDraw amélioré qu'on fait.
 
Et en plus tu peux agrandider ou réduire l'image afficher directement ou lui faire subir des rotations.
 
Si tu veux de l'aide pour porter ton code, contactes moi: alload@hotmail.com. ;)

Reply

Marsh Posté le 04-07-2001 à 16:59:55    

eh si il marche chez moi ton jeu mais bizarrement ca rame un peu. J'ai une TNT et un PIII600E avec 256Mo de SDRAM et ca rame !!!
 
Ben sinon ca à l'air de bien marcher mais ton jeu est visiblement tres gourmand en ressources et la TNT ne suffit pas.

Reply

Marsh Posté le 04-07-2001 à 17:50:22    

ben au buro le jeux marche 5 sec puis redone la main a win2k


---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust
Reply

Marsh Posté le 04-07-2001 à 18:03:12    

bah chez moi ca tourne impec c fluide et ca ne plante pas.
 
Config :  
Amd Thunderbird 800  
256 meg de ram
ge-force 2 GTS 32mb
HD 46 gig + 15 gig
win 98 SE + Dx8

Reply

Marsh Posté le 05-07-2001 à 06:39:03    

Je ne dirais qu'une chose :
[#ff0000]ALLEGRO RULEZ


---------------
"Ce qui ne nous tue pas nous rend plus fort"
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed