Création d'un moteur de jeu 2D - Programmation
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   
  
t'as fait quoi de beau ?   (ça veut dire, envoie tes src
 (ça veut dire, envoie tes src   )
 ) 
merci monsieur   
  
moi je suis en stage alors je peux pas bosser mon jeu   
   
  
 
un moteur de jeu, j'ai fait un bomberman en turbo pascal, je c pas si ça pouré tédé !! 
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é.  
 
Marsh Posté le 03-07-2001 à 11:07:57
merci  
ça c'est   
  
t'as jamais fait de jeu ? même un tout petit ?? 
si tu veux ke je t'explik mon "moteur" de Bomber Park (TM)  
   , taka demander.
 , taka demander.   
 
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.  
 
 
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.  
 
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à   
   
  
 
attention   
   
  
jouable à 4 sur un clavier   sans aucun conflit
  sans aucun conflit 
Cartman, Kenny, Stanley et Kyle avec 4 sprites chacun   
  
objet : longueur des flammes  
  
 
4 maps   
  
 
je demande l'accord à mon co-développeur   et si l'accord et ok, je te mailerai une version démo
  et si l'accord et ok, je te mailerai une version démo   
  
 
si tu pouvais aller sur un chat ke je t'explique le moteur... caramail ? ca te va ? yahoo ? 
Marsh Posté le 03-07-2001 à 11:29:08
 
   pas de dx8 installé sur ce PC
 pas de dx8 installé sur ce PC   
   
  
 
ben oui je bosse, je suis pas cchez moi   
 
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
)...de maniere tres tres tres superficielle  (parce que c'est long et complique et parce que c'est pas mon domaine
 (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  
 
Marsh Posté le 03-07-2001 à 11:32:24
en tt cas ça a l'air suffisant pr faire un pacman ou un serpent   
 
Marsh Posté le 03-07-2001 à 11:35:12
Quake3 aussi, je pense  
 
Marsh Posté le 03-07-2001 à 11:43:55
marche po ton exe sous w98 ici !   
  
je c pa si ca vient du hardware ( c 1 ATI rage pro)   
  
 
vas-y debug alload !   
 
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, ...) 
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  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.
 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.  
 
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 !!!
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  
 
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.  
 
Marsh Posté le 03-07-2001 à 14:38:34
 je sais pas
 je sais pas   
    
   
   
   
   
  
ok je te renvoie ça  
merci qui   
 
Marsh Posté le 03-07-2001 à 14:40:08
désolé 
 
caramail est en cours de maintenance qui disent   
   
   
   
 
Marsh Posté le 03-07-2001 à 16:27:40
allo alload !  
  
je te l'ai envoyé    
 
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 .
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  
 
 
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? 
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é) 
Marsh Posté le 04-07-2001 à 09:41:43
Bon, le jeu marche chez personne...  
  
  
 
 
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.  
 
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. 
Marsh Posté le 04-07-2001 à 17:50:22
ben au buro le jeux marche 5 sec puis redone la main a win2k
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 
Marsh Posté le 05-07-2001 à 06:39:03
Je ne dirais qu'une chose : 
[#ff0000]ALLEGRO RULEZ 
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 ), je me demandais comment créer un moteur de jeu.
 ), 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.