creer un jeux? - Programmation
Marsh Posté le 02-10-2001 à 14:14:38
ben il faut commencer par savoir programmer un moteur en 3D digne de ce nom... bien que tu puisse trouver des moteur tout fait dans le domaine public (mais ancien donc...)
Marsh Posté le 02-10-2001 à 14:15:22
bah, généralement, pour le Jeux, le C++ s'impose qd même !
Alors, si tu connais déja le C++, mets toi à DirectX ou OpenGl (pour les graphismes) et étudies des algos d'IA de base (style mini/max ou alph/beta, tu verra, cherches sur Google). Si t'as jammais fait de c++, bah apprend, ou démerde toi avec du VB (bah... pas bien, vb !).
bonne chance, de toute façon, y a du boulot !
Marsh Posté le 02-10-2001 à 14:20:40
C++ certe si tu veux un code facilement modulbla (pour les moteurs 3D ...) ou que tu bosse en equipe (koi ke)
sinon tout en C si tes seul c'est simple propre complet et tout et tout sauf ke faut que tu le pense bien avant si tu le veux bien modulable
vb a eviter trop lent a part si tu fait du case/case ou du tour par tour la 3d meme pas pensable ou tres bordelique pour faire kke chose de corect
Marsh Posté le 02-10-2001 à 14:23:32
en tout cas, c pas en une semaine que ca se fait un jeux en 3D...
si t'es seul, et si tu pars de zero, compte minimum 1 an (sauf of course si tu restes 24/24h sur le PC, mais j'en doute )
Marsh Posté le 02-10-2001 à 14:25:44
hum... perso, je te conseillerais d'abord de te lancer dans un petit jeux simple en 2D style plateforme mario bross ou space invader. Ainsi tu pourras déja te rendre compte du travail de réflexion qu'il y a AVANT de commencer la moindre ligne de code.
Le moteur 3D c'est une chose, mais ce qui fait le succes d'un jeux ce n'est pas son graphisme, c'est son gameplay et son originalité.
Marsh Posté le 02-10-2001 à 14:38:01
bin en faite mon but c surtt d'utliser un peu directx et opengl mais de facon ludique , et pour creer le jeux je suis pas pressé
j'aurais penché pour un genre "jeux de role" par exemple
je sais que ca etre long et difficile , amis c pour ca que je veux le faire
pour le c++ c bon je connais , je suis pret a le faireds n'importe qu'elle langage.
j'ai déja un peu utilisé min max et l'optimisation alpha./béta
mais j'espérais qu'il existe quelwquchose de plus performant
connaissez vous d'excelente adresse qui pourrais m'aider?
de préférence en francais mais bon ..
avez vous des d'autres conseil a me donner ?
je suis a votre écoute
Marsh Posté le 02-10-2001 à 14:41:17
cela dis c vrai que je vais peut etre d'abord me lancer ds la 2D
autres remarques?? )
Marsh Posté le 02-10-2001 à 14:46:08
saxgard a écrit a écrit : cela dis c vrai que je vais peut etre d'abord me lancer ds la 2D autres remarques?? ) |
si tu veux optimiser à mort tes routines 3d (voir 2d), c de l'asm qu'il te faut... essaye de faire une tour sur www.programmersheaven.com
et hésites pas à tester DX et OpenGL avec des ptits effets styles démos
Marsh Posté le 02-10-2001 à 14:48:58
dans la mesure kil code mieux l'asm que le compilot et comme a l'heure actuelle les compilot font de l'ASM tres optimisé c'est chaud de faire mieux queux en tant que nbie asm
Marsh Posté le 02-10-2001 à 15:04:21
koulip31 a écrit a écrit : dans la mesure kil code mieux l'asm que le compilot et comme a l'heure actuelle les compilot font de l'ASM tres optimisé c'est chaud de faire mieux queux en tant que nbie asm |
je veux bien te croire, mais l'ASM ca rulez
Marsh Posté le 02-10-2001 à 15:10:40
je suis d'accord avec vous 2 mais je crois que jevais laisser tomber l'asm , j'en ai fais un peu et c assez merdique
et comme je suis pas béton je préfère me fier aussi au compilateur
d'autres suggestion
Marsh Posté le 02-10-2001 à 15:10:47
clair ca speed a donf (avais fiat un point blanc qui balayais l'ecran ccl il allais telement vite ke jen voyais 4 ccl je devais faire env 40 000 nop entre chaque x+1 lol
mais pour un moteur 3D/2D lasm pour l'init de lecran et c'est tout car le reste est tres bien geré bon ya 2/3 routine a faire en ASM pouir speeder mais pas la mort mais le gain de temp sur un jeu perso et negligable si il a ete bien pens bien optimisé
Marsh Posté le 02-10-2001 à 15:50:09
OverFlow a écrit a écrit : je veux bien te croire, mais l'ASM ca rulez |
Oui mais l'ASM MMX et SSE2 c'est super chaud !!!
Y'a plus simple que l'asm pour commencer. Car en ASM faut vraiement savoir ce que tu veux faire donc le plus simple et de coder en c/c++ et ensuite tu peux eventuellement remplacer certes parties du code qui sont vitales pour le moteur par exemple en asm pour avoir un gain significatif de perf sans y passer deux de developpements.
Marsh Posté le 02-10-2001 à 16:05:12
oui of course... les routines ASM c pour l'optimisation, pas pour le dev complet d'un soft (bien que certain le font tres bien, mais ils ont pas de vie à coté )
Marsh Posté le 02-10-2001 à 16:09:38
oki d'autres sugestion a part l'asm
l'optimisation ca attendra que j'ai fini le jeux
si vous avez d'autes nolm de sites hyper sympas?
des idées?
d'autres conseils?
les étapes qui faut que je suives que ec soit analyse et conception?
par quoi il faut que je comence , pour bien m'y prendre et bien commencé pour ce type de projet
je vous remercie et n'hesitez pas a vous lacher
Marsh Posté le 02-10-2001 à 16:17:58
cites
openGL-> nehe sur gamedev
IA et divers->alrj
format de fichier->whotsit
moteur3D->orion3D (si mes souvenirs son bon ya un tuto moteur3D)
avec ca deja tu peux faire des trucs sympa
Marsh Posté le 02-10-2001 à 16:20:29
pour commencer tu fonce dans le tas!!!!!! et kan ta finit ton truc a 50% ou +
tu recommence a 0 car taurras apris pleins de trucs ki te serront utile a refaire les bases bien comme il faut et la ca roulerras nikel
/!\pas jouer au rustine man (mettre des sondition dans tout les sens pour cacher des lacunes de ton algo)
Marsh Posté le 02-10-2001 à 16:22:55
je te remercie koulip31
j'avais deja été voir certain site car tu me les avaient déja donné ds le forums graphique , mais ceratin je n'ai pas trouvé comme :whotsit par exemple
je te remerci encore
da'utres proposition et remarques?
Marsh Posté le 02-10-2001 à 16:24:07
oauis pas bete le coup de je fonce et je recommence
mais vaut mieux des le depart bien partir
Marsh Posté le 02-10-2001 à 16:27:42
comme ca dans le vif non
mais si c'est pour apprendre que tu fait ca c'est super formateur si tu fait tout a la main
si c'est pour faire un jeu ya pleins de libs toute faite qui peuvent taider (lib pour jouer des mp3,genere des dongeons ....)
un tour sur
->sourceforge peut etre cool et ses partenaire (mem chose dvp libre mais en anglais) ce qui est cool c'est ke ta des source donc des exemples pratiques donc peut etre utile en cas de blocage algorithmique ou autre
Marsh Posté le 02-10-2001 à 16:37:00
ben fait le truc partir et je recomance ca permet de butter sur des pb ke ta pas pense ou des trucs qui ne vont pas comme tu veux mais a lepoque ke tavais pas pensé non plus
et pui recommence un prog c'est reprendre tes fonctions ok et refaire le reste mais en recommancant a zero a coup de copier coller koi pour tout bien faire propre
aussi fait pleins de chtite fonction ex 30 lignes max car
1 ca permet de les reutiliser pleins de fois pour certaines
2 pour le debugage plus facile de trouver et coriger un bug dans une fonction de 30linge kune de 30 pages
3 eviter les float les statics et les globales
float =>tres lents et donne une precision pratiquement inutile favoriser les int plus rapides si tu veux des 10em suffit de multiplier par 10 ton res par exemple
static=>si tu n'est pas strict et rigoureux dans ton dev tu vas te retrouver avec des valeur loof dedans et taurras aucun moyne de verifier a un etat donne la valeur du static donc a utiliser avec precaution
meme raison que les statics de plus ca engendre parfois des truc zarb
mais en cas de nescecite et clarete du code utilise des float,static,global mais pas en abuser
ben doit yavoir des article sur gamedev la dessus surtout comment eviter les floats
Marsh Posté le 02-10-2001 à 17:03:57
koulip31 a écrit a écrit : clair ca speed a donf (avais fiat un point blanc qui balayais l'ecran ccl il allais telement vite ke jen voyais 4 ccl je devais faire env 40 000 nop entre chaque x+1 lol mais pour un moteur 3D/2D lasm pour l'init de lecran et c'est tout car le reste est tres bien geré bon ya 2/3 routine a faire en ASM pouir speeder mais pas la mort mais le gain de temp sur un jeu perso et negligable si il a ete bien pens bien optimisé |
Oui je suis d'accord, par exemple moi j'ai utilisé l'asm pour faire de la multiplication de matrices 4x4 à la place des boucles for classiques mais c'est pas evident à coder mais le gain de perf en vaut le cout (x4 plus rapide).
Marsh Posté le 03-10-2001 à 23:51:29
Citation : Oui mais l'ASM MMX et SSE2 c'est super chaud !!! |
Non pas tant que ca. le plus dur a mon gout, c'est d'avoir ces données organisées de maniere a pouvoir utiliser le SIMD
je connais pas le SSE/SSE2, mais MMX / 3dnow est super simple a utiliser
d'ailleurs le 3dnow est bpc moins chiant a utiliser que la FPU traditionnelle (et ca trash pas trop mal)
au passage : prefetch roulaise
Marsh Posté le 04-10-2001 à 00:40:00
Pour écrire un jeux la première chose à faire c de réfléchire d'abord au gameplay (c koi le but du jeux...) ensuit au type de représentation (2D ou 3D, vue à la première personne ou à la troisième...) puis à la façon de modéliser le monde (case par case, Portal...). Ensuite une fois qu'on sait ce qu'on veux faire on commence par planifié son boulot pour écrire le moteur du jeux cad l'architecture du moteur 3D (sous quelle forme on stock les objet: tableaux ou liste chainer...), puis l'architecture du moteur physique (comment seront réaliser les test de colisions...) et ainsi de suite en passant par l'IA, le moteur de script, le son, l'interface utilisateur. A oui il faut aussi se fixer un système de coordoné s'il le faut redéfinir les notion de norme, de distance toute les notion topologique du monde virtuel que l'on veut créer de manière à ce que les expression soit le plus adapté à ce que l'on veut faire. Ensuite on commence par créer toute les strucure ou classe dont on a besoin et on protoype toute les fonctions que l'on pense se servir (on écrit pas encore leur code) en même temps on réfléchis à la stratégie de gestion mémoire... Finalement on met les mains dans le cambouis et on code tout ça Duré de la préparation pour un moteur 3D classique 6 mois .
L'autre solution étant de foncer t^te baisser mais au bout de 3 jours on ne sait plus ou on en est et on reprend tout depuis le début
NB: le choix des technologie d'affichage (OpenGL ou Direct3D...) est certe important mais non dramatique. En général on utilise l'API où l'on est le plus à l'aise
Marsh Posté le 04-10-2001 à 09:31:31
je prend bonne note
j'essaierai de pas me lancer tete baisser
Y a t-il par exemple des sites qui donnes ttes les étapes a suivre pour la réalisation d'un jeux , avec le nom des outils les mieux adaptés par exemple.
Quel style de jeux est a première vu le plus simple a réaliséer
jeux de role (genre baldur gates)
stratégie (starcraft etc..)
quake like
sport
peut-on facilement intégré le mode reseau ds un jeux?
sombresonge a tu deja fais un jeux ou déja essayé?
j'attends d'autres remarques de votre part que ca soit des ermarques techniques ou d'analyse du pb
je vous remercie tous d'avance
a vos clavier
Marsh Posté le 04-10-2001 à 10:01:14
Bah heuh pas de conseil sur le genre, fais ce qu'il te plait
Ca me parait peu probable que ton premier essai soit le bon, mais en cours de dev tu tomberas sur des pb auquel tu n'avais pas pense, ca te fera reflechir et la prochaine fois que tu recommenceras, tu prendra ces pb en compte et ....ca ira mieux
Mon premier moteur 3D etait une usine a gaz, des billons de classes qui servaient en fait a pas grand chose (pour ne pas dire rien)... Mais en le faisant g appris deux trios trucs qui m'ont resservi pour le suivant etc etc etc....
Bref, commence, meme si tu dois laisser tomber en cours de route ca te sera benefique
de la doc en francais y'en a sur www.alrj.org , un peu en tout genre
Marsh Posté le 04-10-2001 à 19:28:16
ui je pense aussi que je vais me ramasser la première fois , mais c justement pour ca que j'ai lancer ce topic c justement pour essyer de me ramasser le moin possible
sinon je te remerci
@++
d'autres remarques ??? lachez vous
Marsh Posté le 05-10-2001 à 00:16:31
Hé, si tu veux faire un truc joli et pas compliqué à coder, développe un jeux en GLUT (OpenGL Utility Toolkit). C'est de l'openGL simplifié.
J'ai eu un projet à faire l'année dernière en C, et j'ai utilisé cette librairie et franchement, elle est très simple à apprendre, et te permet de te concentrer sur ce qui pose problème lors de la réalisation d'un jeux. Si tu veux voir ce que tu peux faire facilement avec, va voir ici http://www.fatech.com/tech/opengl/glut/index.php3?2.
Les seuls problèmes, c'est que c'est de l'openGL simplifié, et que tu peux utiliser que du C, pas de C++.
Bon courage...
Marsh Posté le 05-10-2001 à 00:28:22
Ben j'ai déjà essayé de faire des jeux et au début je fonçait tête baisser ça ne donnait rien ensuite à la fac on m'a appris à faire comme je t'ai dit et depuis j'arrive à faire des projet et à les finirs. En ce moment je bosse sur un shoot en scrolling vertical en 2D (sous VisualC 6.0 et allegro). Si tu veux un conseil sur les genre: commence humble essaie de faire un nibler ou un tron; ensuite tu fait un Pac-Man (histoire de te lancer dans le path-finding et la gestion des NPC). Ensuite essaie de faire un shoot 2D ou un jeux de platforme. Puis vient le jeux d'aventure toujours en 2D et le jeux de rôle (à la zelda ou baldure). Après tout ça tu pourra te lancer dans la 3D essaie de faire un shoot en 3D. Finallement tu ferras un JDR en 3D (genre Morrowind) ou un RTS en 3D.
Marsh Posté le 05-10-2001 à 11:06:28
moi mon 1er prog ettais un rpg en deplacement case par case totalement aleatoir generateur de dongeons de zones.... le tout en 2D sans scrooling le tout en VB (Arff!! G honte)
mais jai fait un truc cool kan meme pourtant jai fonce dans le tas jai commence a faire un pion ki se deplace apres ajouter de obstacles.... et ainsi de suite tout les jours je rajoutais des trucs et ca donnais a la fin .... apres je lais degage et refait en code propre rhoooo ben ca ma permis de faire un generateur de zone qui fonctionnais a 99% (avoir obligatoirement un chemin reliant l'entree a la sortie) sans avoir une seule notion d'algo... je mettone toujour de ce ke jais fait .... car en VB sans aucune notion de prog d'algo realiser un jeu ki fonctionnais et qui ettais poweeeerrrr .... comme koi....
foncer dans le tas tenpeche pas de fiare de bons trucs sympa de plus jai aprris trop pleins de trucs je pense kun jour je le refrais en C/C++ en massif online mais c'est ke des projs pour l'instant.
Marsh Posté le 05-10-2001 à 12:35:05
ah c vrai que ca doit etre génial de voir le résultat a la fin , et qu'en plus on voix que ca marche
C pour ca, j'espèe que grace a ce "sujet" je puisse avoir le maximum d'éléments en main , pour bien démarrer et pour aller le plus vite possible , surtt que d'ici le 31 octobre , je vais me prendre 2 bon mois de vacnace , ca va me permettre de m'y plonger un peu.
Alors votre aide , votre expérience ds ce domaine mais fort utile
Marsh Posté le 08-10-2001 à 08:49:05
OverFlow a écrit a écrit : je veux bien te croire, mais l'ASM ca rulez |
Alors celle la c'est la meilleure!
On dirait que vous tirez une fierté a connaitre l'asm alors que ca ne sert plus a rien sauf pour les virus et le cracking!
Les compilateurs donnent de nos jours du code tres optimisé alors pourquoi employer l'assembleur?
Marsh Posté le 08-10-2001 à 09:02:22
Ace17 a écrit a écrit : alors pourquoi employer l'assembleur? |
pour tout ce qui est SIMD par ex, VC ne produisant pas de code l'exploitant
Marsh Posté le 08-10-2001 à 09:05:03
Ace17 a écrit a écrit : Alors celle la c'est la meilleure! ...ca ne sert plus a rien ... pourquoi employer l'assembleur? |
Pour l'informatique industrielle.
Marsh Posté le 08-10-2001 à 09:07:53
je pense que l'assembleur ca reste surtt interessant pour tous ce qui est proche de la machine et du hardware comme les drivers etc.. non
mais la pour le jeux a mon niveau je pense qu'il est clair qu'il vaut mieux ce fier au compilateur
c quoi SMID?
[edtdd]--Message édité par saxgard--[/edtdd]
Marsh Posté le 08-10-2001 à 09:16:17
SIMD = Single Instruction Multiple Data
genre MMX / 3dnow /SSE...
L idee c'est d appliquer une meme instruction sur +eurs donne a la fois
si tu veux un exemple histoire que ce soit plus clair....
Marsh Posté le 02-10-2001 à 14:08:12
si on veut monter son propre jeux 3D en commencant d'abord simple
apr quoi faut-il commencé?
ou faut-il cherché pour la IA? la réalisation graphique? etc...
je suis débutant ds le devellopement graphique et le developpment de jeux.
Et ja'imerais pour le plaisir mis mettre a mes temps perdu
j'attends ttes vos remarques
[edtdd]--Message édité par saxgard--[/edtdd]