zenobiusz
Messages postés6Date d'inscriptiondimanche 27 mai 2007StatutMembreDernière intervention22 septembre 2008 20 oct. 2008 à 12:10
Good.
cs_satri
Messages postés17Date d'inscriptionlundi 14 mai 2007StatutMembreDernière intervention 4 août 2007 28 juil. 2007 à 14:40
ton lien ne marche pas :(:(:(, (je sais que ca date de longtemps mais j'voulais voir ce que ton jeu donnait :()
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 24 févr. 2005 à 00:28
*J'ai fait un MD2 avec milkshape et je me sers aussi de MDL.
Je suis content je viens de finir mon premier "vrai" MD2 : une arme de CS(reste plus qu'à mettre des textures ...)
J'essaierai de la mettre dans mon jeu.
*Pour le HUD, comme je l'ai dit précédemment, c'est pas le plus important dans un jeu mais plutôt des finitions (selon mon avis) donc je verrai plus tard ...
*Je vais jeter un oeil sur ta source sur les particules.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 23 févr. 2005 à 22:46
"J'ai fait moi-même un modèle md2" COMMENTCOMMENTCOMMENT??????
avec quoi? merci...
oublie ca pour EndWorld... c'est un super jeu déposé y auun bail sur cs.
perso je trouve ca assez important le HUD ( Head-Up Display, affichage 'par dessus' ) , ca a un role tres important pour l' "accrochage", des caractères sur fond noir ca révule un peu (j'éxagere beaucoup)
et Kirua, pas besoin de demander a la prof de maths ( bêêê! quelle idée... lol ), cs est la pour ca... va voir ma source de particules, tu verras, ya qu'a trouver la matricec de la caméra, de faire quelques menues opérations pour trouver les vecteurs haut et droit, et c'est parti ! apres, tu fais:
glBegin(GL_QUADS);
glVertex3f( posX- taille*Vecteurhaut.x,posY- taille*Vecteurhaut.y,posZ- taille*Vecteurhaut.z);
//ca pour les 3autres points
glEnd();
et hopla boum, c'est fini!
bon évidement si tu veux de la transparence, il faudra d'abord classer tes particules par distance, pour ca, un tour chez Nehe, source sur le picking (sisi )
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 23 févr. 2005 à 16:01
GUI = Graphical User Interface
C'est tout ce qui constitue les menus et en fait tout ce qui propose une information à l'utilisateur / lui demande d'en fournir. En fait, j'aurais dû dire les HUD, puisque je parlais de l'affichage des scores, mais comme tu dis, c'est secondaire; et si tu abandonnes le projet, tu auras perdu plein de temps avec des bricolages, c'est pas drôle.
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 23 févr. 2005 à 15:52
A arnaud16022 :
*Le modèle du flambeau je l'ai trouvé sur le net avec un pack de modèle md2.
Sinon je prends des modèles sur polycount.
J'ai fait moi-même un modèle md2 mais il est pas super : c'est une une table :)
*C'est quoi EndWorld ???
*Les scores sont pas très beau, je l'avoue, mais ça c'est des détails que tu règles à la fin(donc dans longtemps...)
*Le fog sert pour le level 1 (sinon on a un fond noir et c'est pas très beau) mais j'ai oublié de le désactiver pour le level2.
*Le plafond est bas dans le level2 mais en fait c'est fait exprès : je voulais une impresion d'enfermement pour ce level.
Et puis c'est pas marrant si tous les levels se ressemblent...
*Tu demandes si les textures bougent ??? Si tu parles des flambeaux : oui
A Kirua:
*C'est quoi le GUI ??? ....
*Merci pour les précisiosn sur le particule engine.
Mais je pense pas le faire de suite ... c'est bientôt la rentrée :(
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 23 févr. 2005 à 14:11
C'est vrai que le GUI laisse à désirer.
Pour le particle engine, c'est vraiment simple. Il y a une subtilité, toutefois, quand tu le fais en 3D, et ça porte le nom barbare de Billboarding. C'est la même chose que dans Doom premier du nom: tu dois t'arranger pour que les carrés texturés qe sont les particules fassent tjs face à la caméra, et pour cela tu dois faire un peu de géométrie analytique dans l'espace (une sombre histoire de vecteurs ;)), mais si t'as 16-17 ans, ça doit être à ton programme scolaire. Sinon, demande à ton prof de math, il doit savoir ça (càd: trouver comment et où dessiner les particules, si tu connais le vecteur caméra (le vecteur qui est perpendiculaire à l'écran et qui rentre dedans si tu préfères) de façon à ce que toutes les particules soient perpendiculaires à ce vecteur ... ce qui veut dire parallèles à l'écran = font face au joueur)
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 23 févr. 2005 à 13:35
pour la taille du zip je comprens. mon jeu a moi fait 50Mo...
(bon OK avec tous les binaires debug & release, mais bon qd meme)
je dl ca dans une semaine, au lycée.
d'apres la capture:
c'est toi qui a fait le modele du flambeau?
toi t'as trouvé EndWorld, non?
les scores sont tjs aussi horribles....
j'aime pas trop le fog mais ca c'est perso...
c'est un peu bas de plafond...
elles bougent, les textures?
voilavoila...
++
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 23 févr. 2005 à 12:58
Tu as raison, mais en fait pour l'instant je l'utilise pas trop donc je me suis pas trop penché dessus.
C'était juste pour voir ce que ça donne.
Le jour où je me déciderai à l'utiliser vraiment, je le reprogrammerai moi même pour qu'il s'adapte à mon jeu.
Désolé pour la taille du zip mais avec toutes les textures et tout ... ça fait gros.
Je vais mettre une capture.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 23 févr. 2005 à 11:52
+1 : je suis entièrement d'accord avec Arnaud ;)
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 23 févr. 2005 à 11:30
ben vi, 3Mo c'est gros pr mon pov 56k
goutbouyo, dans l'historique tu dis:
"J'ai rajouté un moteur de particules(qui n'est pas de moi bien sûr !!! trop compliqué)."
quel est l'intéret alors , s'il n'est pas de toi ? OK, ca rajoute de l'intéret au jeu en lui meme, mais trouver une source de moteur ded particules tout le monde peut le faire. L'intéret est de reprogrammer le tou, histoire d'avoir un truc :
perso
compréhensible (par toi du moins)
correspondant a tes besoins
pas rippé
et je t'assure que c'est pas si dur que ca.
cs_Sumiko
Messages postés19Date d'inscriptionmercredi 19 janvier 2005StatutMembreDernière intervention27 mai 2007 23 févr. 2005 à 09:32
Ne serait ti pas intéresants, de mettre une capture ?!
Cela permet d'avoir un aperçut, et de savoir ce que l'on télécharge,
nan ?!
Attention je ne dis pas que ta source est nul, au contraire....
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 21 févr. 2005 à 22:46
Je viens de faire une petite mise à jour :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 10 janv. 2005 à 08:32
pour les constructeurs de copie on utilise toujours des références constantes, c'est ce qu'il y a de plus logique.
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 4 janv. 2005 à 13:02
ah ouai bonne idée pour le type const !
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 2 janv. 2005 à 22:17
oui dans ce sens la OK, mais ton Vector m'a embrouillé: j'imaginais un Vecteur3d, et passer 4*3*8 bits ca doit pas etre vraiement beaucoup plus lent que de passer 4*8 bits.
d'ailleurs, ton truc est utilisé par glm (le loader de .obj de nate robins) ainsi que par plein d'autres fonctions...
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 2 janv. 2005 à 21:49
Arnaud >> l'intérêt de passer par référence, c'est d'avoir une exécution plus rapide.
Quand tu appelles une fonction, les arguments sont posés sur ce qu'on appelle la "pile", et même si le processus est très rapide, ça prend du temps.
Si l'on utilise une fonction du type :
void fonction(MaGrosseStructure la_grosse_Berte)
{
}
, si par exemple sizeof(MaGrosseStructure) == 50 ça va être long.
Si par contre tu fais :
void fonction(MaGrosseStructure& ref)
{
}
à ce moment-là seule l'adresse de l'objet passé en paramètre sera posée sur la pile, ce qui représente 4 octets -> ce n'est pas négligeable et ça coûte rien de le faire :)
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 2 janv. 2005 à 21:08
c'est où l'intérêt?
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 2 janv. 2005 à 21:08
C'est bien compliqué pour moi tout ça :)
Vais jeter un coup d'oeil à mon livre de programmation.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 2 janv. 2005 à 19:58
Hmm remarque d'un autre côté, ce ne serait pas possible de passer des références "constantes" ? (je veux dire :
void ma_fonction(const Vector& v)
{
// Ici v n'est pas modifiable
}
)
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 2 janv. 2005 à 17:50
c'est sur que pour la perf le passage par valeur c'est pas ce qui se fait de mieux , par contre si tu passes par reference ça peut se retourner contre toi ( sécurité des données)
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 2 janv. 2005 à 12:41
En désactivant le Z-buffer l'arme passe plus à travers les murs mais elle est moche ...
En fait je vais pas mettre d'effet de transparence aux particules, avec le fond gris ça marche pas top.
Je poste la mise à jour.
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 2 janv. 2005 à 11:59
Même en désactivant le Z-buffer ça passerait à travers les murs je pense ...
De toute façon c'est pas bien grave vu que dans des jeux comme CS ça arrive souvent :)
Je vais suivre ton conseil, merci !
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 janv. 2005 à 21:28
Tient autrement :)
Aller ca te prend 45 sec, tu devrais mettre des références dans tes fonctions mathématiques, genre:
CVector3 Cross(CVector3 vVector1, CVector3 vVector2)
mais
CVector3 Cross(CVector3 & vVector1, CVector3 & vVector2)
Avec un gestionnaire d'allocation (merci au tut de Loulou), on constate la perte de temps énorme que l'appel par valeur cause.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 janv. 2005 à 21:21
Quand tu traces l'arme, faudrait désactiver le Z-buffer non ?
pour éviter qu'elle ne passe a travers le mur :)
albert0
Messages postés249Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 9 août 2008 1 janv. 2005 à 19:56
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 janv. 2005 à 19:48
Bon comme d'habitude, impossible de compiler, il y a une petite cinquentaine d'erreur. DOnc ce serait possible d'avoir l'exécutable dans le zip ?
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 1 janv. 2005 à 16:48
Bravo pour ton moteur de particules Kirua !!!
Ca m'a donné l'idée de diminuer la taille de particules au cours du temps et maintenat je vais voir pour l'opacité.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 1 janv. 2005 à 14:30
ah ouais, c'est vraiment élémentaire! tu as fait du billboarding, ça c'est très bien, mais il faut que tu ajoutes la notion de Vie (plus une particule est vieille, moins elle est opaque, et quand sa vie atteint 0, après un temps que tu définis et qui varie dans un intervalle pour chaque particule séparément, elle est complètement invisible: elle meurt, tu la delete et tu en récrées une dans le lieu de départ). tu peux voir un exemple de particle engine pas mal configurable à cette adresse mais en 2D, tu pourrais t'en inspirer (et faire bcp mieux ^^) pour rendre le tien plus souble, mais en 3D:
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 1 janv. 2005 à 14:06
Si vous avez téléchargé le zip contenant seulement les sources c'est normal car je l'avais pas mis à jour :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 1 janv. 2005 à 13:27
je ne vois pas non plus l'effet du particle engine
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 31 déc. 2004 à 19:32
mais bon sang il est ou ce particle engine ? ( j'ai pas executé l'exe ( oups pleonasme) ) mais je cherche le code uniquement !!!!!
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 31 déc. 2004 à 19:27
Je crois qu'il y a un fichier "tga.c" en trop non?
Joli le moteur de particules sinon :) Ça ferait bien pr indiquer la fin du niveau ;)
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 31 déc. 2004 à 17:48
je vois le moteur à particules dans le projet ? ou alors tu l'as jeté dans un des .cpp ?
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 31 déc. 2004 à 17:34
je viens de faire une mise à jour :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 31 déc. 2004 à 12:47
màj de temps en temps stp, qu'on ait la dernière version :)
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 30 déc. 2004 à 23:40
T'as raison et je viens de m'en rendre compte !!!
J'ai donc décidé de continuer mon petit jeu et je viens de mettre un moteur de particules !
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 29 déc. 2004 à 19:02
ben si tu veux mon avis c'est pas la peine de perdre ton temps à apprendre directX vu que tu connais OpenGL ... en plus directX c'est trop barbant
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 29 déc. 2004 à 17:23
salut,
Pour l'instant je vais laisser mon jeu comme ça parce que j'essaye de m'initier à directx (histoire de voir ce que ça donne).
Mais je pense que je reviendrai dessus plus tard ...
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 29 déc. 2004 à 12:40
Je t'en prie Kirua arrête de dire que tes sources ne serviront pas à personne , c'est faux ! et puis même si c'est crade ( comme tu le dis ) ça servira à bcp de membres ici !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 29 déc. 2004 à 01:03
au risque de poster pour rien ajouter d'intéressant (je réponds, je ferai pas long), le premier est trop crade et pas assez indépendant pour être posté en tant que code, ça n'aiderait personne. le second je verrai bien si il me satisfait. vous avez le temps -_-.
quoi qu'il en soit, tu as décidé quoi par rapport au script engine pour ton fps, goutbouyo ?
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 28 déc. 2004 à 23:35
hum... tu pourrais pas poster tonpremier alors????
allez quoi !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 28 déc. 2004 à 23:22
ben quand tu actives peut-être pas, mais qd tu rentres en contact avec de la lave par exemple, ou quand tu tombes dans dedans etc... fin bon, tu m'as compris quoi: des événements qu'il serait sale de hard-coder, et je vois pas pq les gars de Q3 se seraient privés d'un script engine, et mce serait super instructif que goutbouyo tente le sien [suis sur mon second en ce moment d'ailleurs, et c'est super à coder].
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 28 déc. 2004 à 23:06
"dans quake3 arena,aucun script"
bon a va peut etre changer ca par:
"en fouillant dans pk3, je n'ai trouvé aucun fichier qui ressemblât a un script"
ya une difference ;)
"mangent la vie quand on les active" -> lesquels???
par contrte en effet ya une map dans laquelle ya une piece (jusque la rien d'anormal...) et qd tu rentres dans cette piece ya des grenades qui giclent de partout et qui rebondissent dans tous les coins... ca ca ne doit pas etre intégré au code je pense... ?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 28 déc. 2004 à 20:59
"dans quake3 arena,aucun script"
Je ne suis pas trop au courant, mais si tu dis vrai, je suis très très très étonné. Comment ils gèrent tous les événements d'interaction avec le monde? Chaque level a ses particularités, il y a des objets qui régénèrent / mangent la vie quand on les active / touche / casse etc... Je veux bien que ça peut se hard-coder, ou bien qu'on peut remplir une "fiche descriptive" pour chaque objet, du style: Action: [contact] / Effet sur la Vie: [-5] etc... mais c'est pas digne de Q3 ...
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 27 déc. 2004 à 22:49
N'empêche que les scripts sont utilisés dans les Unreal Tournaments (Unreal Script) et si tu décompresses les données de Doom 3 (du moins la démo) (faut renommer le fichier .pk4 en .zip) tu verras qu'il y a une bonne dose de scripts (dans un langage qui ressemble bcp bcp au C++, je ne sais pas ce que c'est, si jamais qq1 le sait, qu'il le dise :)).
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 27 déc. 2004 à 16:27
ohoh!
j'avais pas vu que tu avais posté ton jeu!
suis en train de dl.
j'ai lu ta remarque sur le RADIUS.
c'est un ENORME probleme du systeme de detection de collision de digiben.
en fait, une frame t'es en face du mur sans le toucher, la suivante t'es derriere le mur, sans le toucher. du coup sa routine n'a aucune raison de ne pas te laisser passer a trravers le mur.
j'ai pendant des jours entiers essayé de remédier a ce probleme, ce qui m'a amené a la solution de repli suivante: coldet.dll.
voila dl fini.
dis voir il est horrible le modele du gars! celui d'avant il était mieux... plus gros peut-etre?
deplacements trop lents (pas dur a modifier...)
balles mieux faites qu'avant (c'est tjs des cubes?)
l'arme a des déplacements zarbis.
texte pas transparents
pour moi ca vaut pas tout a fait 10 (disons 8-9) mais je vais pas te casser ton jouli 10/10
nota a tout le monde: perso je trouve que vous allez un peu loin. ce jeu n'en est pas a devoir implémenter un langage de script. perso j'ai déja un fichier dans lequel j'ai enregistrré 5 missions différentes les unes des autres, et c'est loin d'etre un script. de toute facon pourun fps, a quoi sert un script? les ennemis font tjs la meme chose: ils te tirent dessus
dans quake3 arena,aucun script (par contre des fichiers séparés contenant les phrses que les ennemis peuvent dire, et d'autres truc comme ca.
bref, ya moyen de faire bcp sans se lancer dans les scripts.
dsl kirua, je sais que t'aimes bien ca..
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 25 déc. 2004 à 10:21
clair pardon
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 25 déc. 2004 à 10:21
c'est clir qu'il faut être critique
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 24 déc. 2004 à 01:26
Broumf, alors j'ai lu l'article entier, enfin, survolé le code rapidemment mais lu tout le texte, et franchement, même si ça marche, c'est très limité. C'est une approche intéressante (assez élégante), mais... on n'y présente pas de manière intelligente d'intéragir entre mémoire du programme et variables scripts (on a souvent besoin de données du jeu en cours dans le script, et on doit aussi pouvoir les modifier!), on n'a qu'un seul type de variables, la syntaxe est ... moche :D
(exemple, pour faire l'équivalent de int a = 5; il faut écrire:
var a;
exp a~5;
)
... sauf erreur ^^.
Hmmmm, m'enfin, il y a qd même des conditionnelles et des boucles, ça se défend quoi, vaille que vaille... ça mérite d'être lu à tout le moins, mais ne te lance pas dans un clone de ça, c'est pas assez relevé, tu aurais pu pondre pareil sans cet article.
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 23 déc. 2004 à 16:39
pas mal le fps ,peut être qu'il faudrait modifier tout ce qui touche aux maths à ta sauce ( gestion de la caméra par exemple )..
sinon j'ai trouvé une doc sur le scripting ici c'est en anglais ça devrait pas poser problème ^^ :
http://www.pixelate.co.za/issues/14/articles/script/asmcomp.html bon courage pour la suite !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 22 déc. 2004 à 21:49
Pour le langage en lui-même, c'est juste une syntaxe à apprendre, je dis pas. Ça a en tout cas l'air très puissant.
Mais pour l'intégrer dans ton projet, j'ai le pressentiment que ça va vraiment être le bordel :-/ J'ai pas testé Lua précisément à cause de ça.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 déc. 2004 à 15:35
pk tu dis ça Kirua? T'as déjà testé Lua? C'est si chaud à apprendre et utiliser?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 22 déc. 2004 à 14:39
tu en trouveras plein, mais honnêtement, ça risque d'être plus long d'apprendre à utiliser Lua que de coder ton propre engine... enfin, si d'aventure tu avais le courage d'aller jusqu'au bout de la compréhension, poste-nous ça ;)
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 22 déc. 2004 à 14:02
J'ai du mal à trouver des exemples pour les scripts et comme je n'en ai jamais utilisé ...
Je vais voir si je trouve des codes de Lua.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 21 déc. 2004 à 02:00
PS : si tu préfères repiquer qqch d'existant, la référence dans le domaine est Lua, qui est fait pour ça ;)
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 21 déc. 2004 à 02:00
Tu comptes créer ton langage tout seul ou repiquer qqch d'existant?
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 20 déc. 2004 à 15:15
Merci pour ton aide Kirua !!!
Je vais tenter de trouver un programme utilisant des scripts pour voir à quoi ça ressemble.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 20 déc. 2004 à 15:04
Si je peux te conseiller, pour m'être frotté quelque peu à la question, je te conseille de rester dans le champ des scripts interprétés. N'essaye pas tout de suite de faire un langage compilé ou semi-compilé, c'est compliqué.
Basiquement, voilà comment tu vas devoir t'y prendre:
- lire le script et en isoler chaque "lexème", càd chaque élément (mot clef, opérateur, valeur numérique, chaîne de caractère)
- sauvegarder la liste des éléments constitutifs du script une fois pour toutes (càd jusqu'au prochain lancement du jeu, évidemment faut tout reloader à chaque lancement) dans un gestionnaire de scripts
- quand le script est appelé, lire les lexèmes 1 à 1, et te baser sur le lexème pour interpréter la suite. Exemple:
int VarInt = 5;
if VarInt <= 10 then
Display "Bonjour";
else
Display "Au revoir";
endif
Là, tu vas d'abord lire "int", et donc tu sais que tu vas avoir une déclaration de variable. Tu lis donc dans l'ordre "nom de la variable", "opérateur d'assignation", "valeur", "fin d'instruction". Si tu ne trouves pas ça, tu déclenches une erreur de parsage (syntax error).
Après, tu liras "if", tu sais que tu dois avoir "expression", "opérateur de comparaison", "valeur". Tu évalues l'expression (il te faut une classe de gestion d'expression arithmétiques et logiques) et selon le cas tu sautes à "then" ou à "else", et là ben l'interprétation continue. Display serait le nom d'une fonction qui affiche un message à l'écran ou dans la console par exemple.
Note: je te conseille de ne pas permettre à l'utilisateur de créer de fonctions ("sub" en basic) et de ne pas donner de valeur de retour aux fonctions, mais de faire qq ch comme ceci:
int NbEnnemis = 0;
GetNombreEnnemis NbEnnemis;
//maintenant la vairable NbEnnemis contient le nombre d'ennemis
C'est 10 000 fois plus simple, et pour un premier langage de script ça suffira.
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 20 déc. 2004 à 14:54
LOL !!! Oui ça vient sûrement de là.
Non il n'y a pas de temps limite mais c'est un bug, ça me l'a fait une ou deux fois.
Je sais pas d'où ça veint par contre...
Ton idée de script m'intéresse beaucoup, mais je n'y connais rien en script...
Je vais me renseigner.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 20 déc. 2004 à 14:51
"En fait c'est pas une erreur mais un warning, donc ça compile quand même."
sauf que moi qd je lance l'exe ça plante, mais ça maintenant que j'y pense, mdr, ça vient peut-être du fait qu'il n'y avait pas les textures, mdr, suis un peu bêbête ^^.
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 20 déc. 2004 à 14:47
A luhtor => en fait plus tes FPS sont bas et plus tu auras de chance de passer àa travers les murs.
Moi à 130 FPS je passe pas, et j'ai essayé sur un autre PC à 50 FPS et là c'était un vrai fantôme !!!
Tu peux régler ça en augmentant le RADIUS(rayon de la sphère du perso).
Merci pour tes conseils pour la caméra, je vais essayer.
A albert0 => merci beaucoup !!!
Bien sûr que tu peux t'en inspirer !
A kirua => moi aussi ça me met le même message !
En fait c'est pas une erreur mais un warning, donc ça compile quand même.
Je me suis jamais penché sur ce warning ...
A funto66 => c'est vrai qu'une grand parti du code ne vient pas de moi ... mais bon, j'allais pas galérer à pondre un code pour charger les MD2 quand même ...
Par contre, je vais revoir mes anciennes versions de mon jeu, car au début j'utilisais mon propre code pour le déplacement du perso, et ça marcahit pas mal !
Faudrait que je fasse le "ménage" dans mon code ...
Pour ton "bug", en fait c'est la fin du niveau donc c'est pas vraiment un bug.
Quand je ferais un 2nd niveau j'empêcherait ce "bug" et je mettrai un écran de transition à la place.
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 20 déc. 2004 à 14:47
A luhtor => en fait plus tes FPS sont bas et plus tu auras de chance de passer àa travers les murs.
Moi à 130 FPS je passe pas, et j'ai essayé sur un autre PC à 50 FPS et là c'était un vrai fantôme !!!
Tu peux régler ça en augmentant le RADIUS(rayon de la sphère du perso).
Merci pour tes conseils pour la caméra, je vais essayer.
A albert0 => merci beaucoup !!!
Bien sûr que tu peux t'en inspirer !
A kirua => moi aussi ça me met le même message !
En fait c'est pas une erreur mais un warning, donc ça compile quand même.
Je me suis jamais penché sur ce warning ...
A funto66 => c'est vrai qu'une grand parti du code ne vient pas de moi ... mais bon, j'allais pas galérer à pondre un code pour charger les MD2 quand même ...
Par contre, je vais revoir mes anciennes versions de mon jeu, car au début j'utilisais mon propre code pour le déplacement du perso, et ça marcahit pas mal !
Faudrait que je fasse le "ménage" dans mon code ...
Pour ton "bug", en fait c'est la fin du niveau donc c'est pas vraiment un bug.
Quand je ferais un 2nd niveau j'empêcherait ce "bug" et je mettrai un écran de transition à la place.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 20 déc. 2004 à 14:45
chouette, oui.
par contre je comprends pas: je tue les deux persos, puis après un certain temps, je meurs O_o. Il y a un temps limite?
Enfin, ce qui ferait très bien maintenant, c'est d'ajouter un script engine pour rendre ton univers dynamique (par exemple, tu pourrais attacher des scripts à des événements tels que la mort d'un certain ennemi, ou bien le passage par une certaine case etc)
albert0
Messages postés249Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 9 août 2008 20 déc. 2004 à 14:20
a mon avi c'est la fin de la map
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 20 déc. 2004 à 14:17
Kirua >> tu peux le dl sur son site, c'est écrit en haut de la page.
Je viens de tester le jeu, et ça reste plutôt pas mal :) Ceci dit c'est clair qu'une bonne grosse partie du code n'est pas de toi mais vient de NeHe ou GameTutorials chais plus...
'fin bref c'est quand même bien :)
Par ailleurs, j'ai eu un bug, (si on peut dire), un des chemins conduit vers le vide, donc j'ai volé...
A part ça, j'ai pas trop regardé le code, mais je ne pense pas que tu aies optimisé l'affichage de la map via des arbres BSP ou des octrees non?
Ah autre chose : je pense que l'usage de plusieurs formats d'images est inutile; à ta place j'en resterais au format TGA. L'utilisation de libs comme la jpeglib peut encore compliquer la phase de compilation, encore que dans tno cas c'est pas vraiment gênant puisque tu la fournis...
Juste une dernière question : c'est compilable avec Dev-C++?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 20 déc. 2004 à 13:47
Erreur au liage:
LIBCD.lib(crt0init.obj) : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
:( je voudrais vrmnt tester ton jeu, mais je ne suis pas un familier de VC, tu sais me dire ce que je dois faire? J'ai mis /NODEFAULTLIB:"libc.lib" dans les options du lieur, mais ça n'a rien changé :(
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 19 déc. 2004 à 21:33
Et bien, j'ai 85 - 90 de fps. En fait, des que j'insiste contre un mur j'arrive a passer a travers plus ou moins difficilement.
Autrement j'ai remarqué un truc:
- Je sais pas du tout pourquoi mais il m'arrive que je n'arrive plus a baisser le viseur: il s'arrete a environ 10° au dessus de l'horizontal.
Pour ta caméra, j'avais mis ca dans mon prgm de physique:
Les coordonnées du vecteur vertical:
x = -sin(alpha)*sin(beta)
y = cos(beta)
z = -cos(alpha)*sin(beta)
avec alpha, l'angle de rotation horizontale (en radian bien sur) et beta l'angle de rotation verticale.
aller ++
albert0
Messages postés249Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 9 août 2008 19 déc. 2004 à 21:19
c'est bien :)
meme tres bien :)
je vais m'inspirer dessus, pour coder un truc du meme genre :)
si tu me le permet
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 19 déc. 2004 à 20:43
Merci !!!
Comment t'as fait pour passer à trvers le mur ??? T'as combien de FPS ?
Merci pour tes remarques et conseils, je vais voir ça ...
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 19 déc. 2004 à 19:44
Franchement deja, c'est un beau travail.
Mais à mon gout, il y a quelques trucs que tu pourrais corriger :)
1 - la première fois que je viens me coller contre un mur, je suis passé à travers ^^
2 - je trouve frustrant de pas pouvoir viser a 90° vers le haut et vers le bas: j'ai regardé un peu ton programme et j'ai vu ca dans ta fonction camera:
//Init a standard up vVector (Rarely ever changes)
Je suis pas d'accord, dans mes programmes il change sans arret lorsque je fais bouger la camera verticalement. Ca permet d'obtenir une camera "parfaite".
3 - C'est pas très grave, mais je trouve que tes fonctions créent beaucoup d'objet pour pas grand chose, puisqu'ils sont détruits quelques lignes plus tard, donc ca fait beaucoup d'appel de constructeurs et destructeurs pour pas grand chose. Mais ca reste de l'optimisation, et ca ne doit pas etre ton objectif pour le moment. Ceci dit, optimiser un minimum 3Dmath.cpp ne coute pas grand chose :)
Mais bon, je garde ton code précieusement, car il y a plein de truc qui m'intéresse (notamment les models), et puis, c'est toujours que le début. En bref, ca rox quand meme.
20 oct. 2008 à 12:10
28 juil. 2007 à 14:40
24 févr. 2005 à 00:28
Je suis content je viens de finir mon premier "vrai" MD2 : une arme de CS(reste plus qu'à mettre des textures ...)
J'essaierai de la mettre dans mon jeu.
*Pour le HUD, comme je l'ai dit précédemment, c'est pas le plus important dans un jeu mais plutôt des finitions (selon mon avis) donc je verrai plus tard ...
*Je vais jeter un oeil sur ta source sur les particules.
23 févr. 2005 à 22:46
avec quoi? merci...
oublie ca pour EndWorld... c'est un super jeu déposé y auun bail sur cs.
perso je trouve ca assez important le HUD ( Head-Up Display, affichage 'par dessus' ) , ca a un role tres important pour l' "accrochage", des caractères sur fond noir ca révule un peu (j'éxagere beaucoup)
et Kirua, pas besoin de demander a la prof de maths ( bêêê! quelle idée... lol ), cs est la pour ca... va voir ma source de particules, tu verras, ya qu'a trouver la matricec de la caméra, de faire quelques menues opérations pour trouver les vecteurs haut et droit, et c'est parti ! apres, tu fais:
glBegin(GL_QUADS);
glVertex3f( posX- taille*Vecteurhaut.x,posY- taille*Vecteurhaut.y,posZ- taille*Vecteurhaut.z);
//ca pour les 3autres points
glEnd();
et hopla boum, c'est fini!
bon évidement si tu veux de la transparence, il faudra d'abord classer tes particules par distance, pour ca, un tour chez Nehe, source sur le picking (sisi )
23 févr. 2005 à 16:01
C'est tout ce qui constitue les menus et en fait tout ce qui propose une information à l'utilisateur / lui demande d'en fournir. En fait, j'aurais dû dire les HUD, puisque je parlais de l'affichage des scores, mais comme tu dis, c'est secondaire; et si tu abandonnes le projet, tu auras perdu plein de temps avec des bricolages, c'est pas drôle.
23 févr. 2005 à 15:52
*Le modèle du flambeau je l'ai trouvé sur le net avec un pack de modèle md2.
Sinon je prends des modèles sur polycount.
J'ai fait moi-même un modèle md2 mais il est pas super : c'est une une table :)
*C'est quoi EndWorld ???
*Les scores sont pas très beau, je l'avoue, mais ça c'est des détails que tu règles à la fin(donc dans longtemps...)
*Le fog sert pour le level 1 (sinon on a un fond noir et c'est pas très beau) mais j'ai oublié de le désactiver pour le level2.
*Le plafond est bas dans le level2 mais en fait c'est fait exprès : je voulais une impresion d'enfermement pour ce level.
Et puis c'est pas marrant si tous les levels se ressemblent...
*Tu demandes si les textures bougent ??? Si tu parles des flambeaux : oui
A Kirua:
*C'est quoi le GUI ??? ....
*Merci pour les précisiosn sur le particule engine.
Mais je pense pas le faire de suite ... c'est bientôt la rentrée :(
23 févr. 2005 à 14:11
Pour le particle engine, c'est vraiment simple. Il y a une subtilité, toutefois, quand tu le fais en 3D, et ça porte le nom barbare de Billboarding. C'est la même chose que dans Doom premier du nom: tu dois t'arranger pour que les carrés texturés qe sont les particules fassent tjs face à la caméra, et pour cela tu dois faire un peu de géométrie analytique dans l'espace (une sombre histoire de vecteurs ;)), mais si t'as 16-17 ans, ça doit être à ton programme scolaire. Sinon, demande à ton prof de math, il doit savoir ça (càd: trouver comment et où dessiner les particules, si tu connais le vecteur caméra (le vecteur qui est perpendiculaire à l'écran et qui rentre dedans si tu préfères) de façon à ce que toutes les particules soient perpendiculaires à ce vecteur ... ce qui veut dire parallèles à l'écran = font face au joueur)
23 févr. 2005 à 13:35
(bon OK avec tous les binaires debug & release, mais bon qd meme)
je dl ca dans une semaine, au lycée.
d'apres la capture:
c'est toi qui a fait le modele du flambeau?
toi t'as trouvé EndWorld, non?
les scores sont tjs aussi horribles....
j'aime pas trop le fog mais ca c'est perso...
c'est un peu bas de plafond...
elles bougent, les textures?
voilavoila...
++
23 févr. 2005 à 12:58
C'était juste pour voir ce que ça donne.
Le jour où je me déciderai à l'utiliser vraiment, je le reprogrammerai moi même pour qu'il s'adapte à mon jeu.
Désolé pour la taille du zip mais avec toutes les textures et tout ... ça fait gros.
Je vais mettre une capture.
23 févr. 2005 à 11:52
23 févr. 2005 à 11:30
goutbouyo, dans l'historique tu dis:
"J'ai rajouté un moteur de particules(qui n'est pas de moi bien sûr !!! trop compliqué)."
quel est l'intéret alors , s'il n'est pas de toi ? OK, ca rajoute de l'intéret au jeu en lui meme, mais trouver une source de moteur ded particules tout le monde peut le faire. L'intéret est de reprogrammer le tou, histoire d'avoir un truc :
perso
compréhensible (par toi du moins)
correspondant a tes besoins
pas rippé
et je t'assure que c'est pas si dur que ca.
23 févr. 2005 à 09:32
Cela permet d'avoir un aperçut, et de savoir ce que l'on télécharge,
nan ?!
Attention je ne dis pas que ta source est nul, au contraire....
21 févr. 2005 à 22:46
10 janv. 2005 à 08:32
4 janv. 2005 à 13:02
2 janv. 2005 à 22:17
d'ailleurs, ton truc est utilisé par glm (le loader de .obj de nate robins) ainsi que par plein d'autres fonctions...
2 janv. 2005 à 21:49
Quand tu appelles une fonction, les arguments sont posés sur ce qu'on appelle la "pile", et même si le processus est très rapide, ça prend du temps.
Si l'on utilise une fonction du type :
void fonction(MaGrosseStructure la_grosse_Berte)
{
}
, si par exemple sizeof(MaGrosseStructure) == 50 ça va être long.
Si par contre tu fais :
void fonction(MaGrosseStructure& ref)
{
}
à ce moment-là seule l'adresse de l'objet passé en paramètre sera posée sur la pile, ce qui représente 4 octets -> ce n'est pas négligeable et ça coûte rien de le faire :)
2 janv. 2005 à 21:08
2 janv. 2005 à 21:08
Vais jeter un coup d'oeil à mon livre de programmation.
2 janv. 2005 à 19:58
void ma_fonction(const Vector& v)
{
// Ici v n'est pas modifiable
}
)
2 janv. 2005 à 17:50
2 janv. 2005 à 12:41
En fait je vais pas mettre d'effet de transparence aux particules, avec le fond gris ça marche pas top.
Je poste la mise à jour.
2 janv. 2005 à 11:59
De toute façon c'est pas bien grave vu que dans des jeux comme CS ça arrive souvent :)
Je vais suivre ton conseil, merci !
1 janv. 2005 à 21:28
Aller ca te prend 45 sec, tu devrais mettre des références dans tes fonctions mathématiques, genre:
CVector3 Cross(CVector3 vVector1, CVector3 vVector2)
mais
CVector3 Cross(CVector3 & vVector1, CVector3 & vVector2)
Avec un gestionnaire d'allocation (merci au tut de Loulou), on constate la perte de temps énorme que l'appel par valeur cause.
1 janv. 2005 à 21:21
pour éviter qu'elle ne passe a travers le mur :)
1 janv. 2005 à 19:56
http://ps2-world.site.voila.fr/jeu_opengl.zip
1 janv. 2005 à 19:48
1 janv. 2005 à 16:48
Ca m'a donné l'idée de diminuer la taille de particules au cours du temps et maintenat je vais voir pour l'opacité.
1 janv. 2005 à 14:30
http://www.cppfrance.com/code.aspx?ID=23693
1 janv. 2005 à 14:06
1 janv. 2005 à 13:27
31 déc. 2004 à 19:32
31 déc. 2004 à 19:27
Joli le moteur de particules sinon :) Ça ferait bien pr indiquer la fin du niveau ;)
31 déc. 2004 à 17:48
31 déc. 2004 à 17:34
31 déc. 2004 à 12:47
30 déc. 2004 à 23:40
J'ai donc décidé de continuer mon petit jeu et je viens de mettre un moteur de particules !
29 déc. 2004 à 19:02
29 déc. 2004 à 17:23
Pour l'instant je vais laisser mon jeu comme ça parce que j'essaye de m'initier à directx (histoire de voir ce que ça donne).
Mais je pense que je reviendrai dessus plus tard ...
29 déc. 2004 à 12:40
29 déc. 2004 à 01:03
quoi qu'il en soit, tu as décidé quoi par rapport au script engine pour ton fps, goutbouyo ?
28 déc. 2004 à 23:35
allez quoi !
28 déc. 2004 à 23:22
28 déc. 2004 à 23:06
bon a va peut etre changer ca par:
"en fouillant dans pk3, je n'ai trouvé aucun fichier qui ressemblât a un script"
ya une difference ;)
"mangent la vie quand on les active" -> lesquels???
par contrte en effet ya une map dans laquelle ya une piece (jusque la rien d'anormal...) et qd tu rentres dans cette piece ya des grenades qui giclent de partout et qui rebondissent dans tous les coins... ca ca ne doit pas etre intégré au code je pense... ?
28 déc. 2004 à 20:59
Je ne suis pas trop au courant, mais si tu dis vrai, je suis très très très étonné. Comment ils gèrent tous les événements d'interaction avec le monde? Chaque level a ses particularités, il y a des objets qui régénèrent / mangent la vie quand on les active / touche / casse etc... Je veux bien que ça peut se hard-coder, ou bien qu'on peut remplir une "fiche descriptive" pour chaque objet, du style: Action: [contact] / Effet sur la Vie: [-5] etc... mais c'est pas digne de Q3 ...
27 déc. 2004 à 22:49
27 déc. 2004 à 16:27
j'avais pas vu que tu avais posté ton jeu!
suis en train de dl.
j'ai lu ta remarque sur le RADIUS.
c'est un ENORME probleme du systeme de detection de collision de digiben.
en fait, une frame t'es en face du mur sans le toucher, la suivante t'es derriere le mur, sans le toucher. du coup sa routine n'a aucune raison de ne pas te laisser passer a trravers le mur.
j'ai pendant des jours entiers essayé de remédier a ce probleme, ce qui m'a amené a la solution de repli suivante: coldet.dll.
voila dl fini.
dis voir il est horrible le modele du gars! celui d'avant il était mieux... plus gros peut-etre?
deplacements trop lents (pas dur a modifier...)
balles mieux faites qu'avant (c'est tjs des cubes?)
l'arme a des déplacements zarbis.
texte pas transparents
pour moi ca vaut pas tout a fait 10 (disons 8-9) mais je vais pas te casser ton jouli 10/10
nota a tout le monde: perso je trouve que vous allez un peu loin. ce jeu n'en est pas a devoir implémenter un langage de script. perso j'ai déja un fichier dans lequel j'ai enregistrré 5 missions différentes les unes des autres, et c'est loin d'etre un script. de toute facon pourun fps, a quoi sert un script? les ennemis font tjs la meme chose: ils te tirent dessus
dans quake3 arena,aucun script (par contre des fichiers séparés contenant les phrses que les ennemis peuvent dire, et d'autres truc comme ca.
bref, ya moyen de faire bcp sans se lancer dans les scripts.
dsl kirua, je sais que t'aimes bien ca..
25 déc. 2004 à 10:21
25 déc. 2004 à 10:21
24 déc. 2004 à 01:26
(exemple, pour faire l'équivalent de int a = 5; il faut écrire:
var a;
exp a~5;
)
... sauf erreur ^^.
Hmmmm, m'enfin, il y a qd même des conditionnelles et des boucles, ça se défend quoi, vaille que vaille... ça mérite d'être lu à tout le moins, mais ne te lance pas dans un clone de ça, c'est pas assez relevé, tu aurais pu pondre pareil sans cet article.
23 déc. 2004 à 16:39
sinon j'ai trouvé une doc sur le scripting ici c'est en anglais ça devrait pas poser problème ^^ :
http://www.pixelate.co.za/issues/14/articles/script/asmcomp.html
bon courage pour la suite !
22 déc. 2004 à 21:49
Mais pour l'intégrer dans ton projet, j'ai le pressentiment que ça va vraiment être le bordel :-/ J'ai pas testé Lua précisément à cause de ça.
22 déc. 2004 à 15:35
22 déc. 2004 à 14:39
22 déc. 2004 à 14:02
Je vais voir si je trouve des codes de Lua.
21 déc. 2004 à 02:00
21 déc. 2004 à 02:00
20 déc. 2004 à 15:15
Je vais tenter de trouver un programme utilisant des scripts pour voir à quoi ça ressemble.
20 déc. 2004 à 15:04
Basiquement, voilà comment tu vas devoir t'y prendre:
- lire le script et en isoler chaque "lexème", càd chaque élément (mot clef, opérateur, valeur numérique, chaîne de caractère)
- sauvegarder la liste des éléments constitutifs du script une fois pour toutes (càd jusqu'au prochain lancement du jeu, évidemment faut tout reloader à chaque lancement) dans un gestionnaire de scripts
- quand le script est appelé, lire les lexèmes 1 à 1, et te baser sur le lexème pour interpréter la suite. Exemple:
int VarInt = 5;
if VarInt <= 10 then
Display "Bonjour";
else
Display "Au revoir";
endif
Là, tu vas d'abord lire "int", et donc tu sais que tu vas avoir une déclaration de variable. Tu lis donc dans l'ordre "nom de la variable", "opérateur d'assignation", "valeur", "fin d'instruction". Si tu ne trouves pas ça, tu déclenches une erreur de parsage (syntax error).
Après, tu liras "if", tu sais que tu dois avoir "expression", "opérateur de comparaison", "valeur". Tu évalues l'expression (il te faut une classe de gestion d'expression arithmétiques et logiques) et selon le cas tu sautes à "then" ou à "else", et là ben l'interprétation continue. Display serait le nom d'une fonction qui affiche un message à l'écran ou dans la console par exemple.
Note: je te conseille de ne pas permettre à l'utilisateur de créer de fonctions ("sub" en basic) et de ne pas donner de valeur de retour aux fonctions, mais de faire qq ch comme ceci:
int NbEnnemis = 0;
GetNombreEnnemis NbEnnemis;
//maintenant la vairable NbEnnemis contient le nombre d'ennemis
C'est 10 000 fois plus simple, et pour un premier langage de script ça suffira.
20 déc. 2004 à 14:54
Non il n'y a pas de temps limite mais c'est un bug, ça me l'a fait une ou deux fois.
Je sais pas d'où ça veint par contre...
Ton idée de script m'intéresse beaucoup, mais je n'y connais rien en script...
Je vais me renseigner.
20 déc. 2004 à 14:51
sauf que moi qd je lance l'exe ça plante, mais ça maintenant que j'y pense, mdr, ça vient peut-être du fait qu'il n'y avait pas les textures, mdr, suis un peu bêbête ^^.
20 déc. 2004 à 14:47
Moi à 130 FPS je passe pas, et j'ai essayé sur un autre PC à 50 FPS et là c'était un vrai fantôme !!!
Tu peux régler ça en augmentant le RADIUS(rayon de la sphère du perso).
Merci pour tes conseils pour la caméra, je vais essayer.
A albert0 => merci beaucoup !!!
Bien sûr que tu peux t'en inspirer !
A kirua => moi aussi ça me met le même message !
En fait c'est pas une erreur mais un warning, donc ça compile quand même.
Je me suis jamais penché sur ce warning ...
A funto66 => c'est vrai qu'une grand parti du code ne vient pas de moi ... mais bon, j'allais pas galérer à pondre un code pour charger les MD2 quand même ...
Par contre, je vais revoir mes anciennes versions de mon jeu, car au début j'utilisais mon propre code pour le déplacement du perso, et ça marcahit pas mal !
Faudrait que je fasse le "ménage" dans mon code ...
Pour ton "bug", en fait c'est la fin du niveau donc c'est pas vraiment un bug.
Quand je ferais un 2nd niveau j'empêcherait ce "bug" et je mettrai un écran de transition à la place.
20 déc. 2004 à 14:47
Moi à 130 FPS je passe pas, et j'ai essayé sur un autre PC à 50 FPS et là c'était un vrai fantôme !!!
Tu peux régler ça en augmentant le RADIUS(rayon de la sphère du perso).
Merci pour tes conseils pour la caméra, je vais essayer.
A albert0 => merci beaucoup !!!
Bien sûr que tu peux t'en inspirer !
A kirua => moi aussi ça me met le même message !
En fait c'est pas une erreur mais un warning, donc ça compile quand même.
Je me suis jamais penché sur ce warning ...
A funto66 => c'est vrai qu'une grand parti du code ne vient pas de moi ... mais bon, j'allais pas galérer à pondre un code pour charger les MD2 quand même ...
Par contre, je vais revoir mes anciennes versions de mon jeu, car au début j'utilisais mon propre code pour le déplacement du perso, et ça marcahit pas mal !
Faudrait que je fasse le "ménage" dans mon code ...
Pour ton "bug", en fait c'est la fin du niveau donc c'est pas vraiment un bug.
Quand je ferais un 2nd niveau j'empêcherait ce "bug" et je mettrai un écran de transition à la place.
20 déc. 2004 à 14:45
par contre je comprends pas: je tue les deux persos, puis après un certain temps, je meurs O_o. Il y a un temps limite?
Enfin, ce qui ferait très bien maintenant, c'est d'ajouter un script engine pour rendre ton univers dynamique (par exemple, tu pourrais attacher des scripts à des événements tels que la mort d'un certain ennemi, ou bien le passage par une certaine case etc)
20 déc. 2004 à 14:20
20 déc. 2004 à 14:17
Je viens de tester le jeu, et ça reste plutôt pas mal :) Ceci dit c'est clair qu'une bonne grosse partie du code n'est pas de toi mais vient de NeHe ou GameTutorials chais plus...
'fin bref c'est quand même bien :)
Par ailleurs, j'ai eu un bug, (si on peut dire), un des chemins conduit vers le vide, donc j'ai volé...
A part ça, j'ai pas trop regardé le code, mais je ne pense pas que tu aies optimisé l'affichage de la map via des arbres BSP ou des octrees non?
Ah autre chose : je pense que l'usage de plusieurs formats d'images est inutile; à ta place j'en resterais au format TGA. L'utilisation de libs comme la jpeglib peut encore compliquer la phase de compilation, encore que dans tno cas c'est pas vraiment gênant puisque tu la fournis...
Juste une dernière question : c'est compilable avec Dev-C++?
20 déc. 2004 à 13:47
LIBCD.lib(crt0init.obj) : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
:( je voudrais vrmnt tester ton jeu, mais je ne suis pas un familier de VC, tu sais me dire ce que je dois faire? J'ai mis /NODEFAULTLIB:"libc.lib" dans les options du lieur, mais ça n'a rien changé :(
19 déc. 2004 à 21:33
Autrement j'ai remarqué un truc:
- Je sais pas du tout pourquoi mais il m'arrive que je n'arrive plus a baisser le viseur: il s'arrete a environ 10° au dessus de l'horizontal.
Pour ta caméra, j'avais mis ca dans mon prgm de physique:
Les coordonnées du vecteur vertical:
x = -sin(alpha)*sin(beta)
y = cos(beta)
z = -cos(alpha)*sin(beta)
cad:
gluLookAt(...,-sin(alpha)*sin(beta),cos(beta),-cos(alpha)*sin(beta))
avec alpha, l'angle de rotation horizontale (en radian bien sur) et beta l'angle de rotation verticale.
aller ++
19 déc. 2004 à 21:19
meme tres bien :)
je vais m'inspirer dessus, pour coder un truc du meme genre :)
si tu me le permet
19 déc. 2004 à 20:43
Comment t'as fait pour passer à trvers le mur ??? T'as combien de FPS ?
Merci pour tes remarques et conseils, je vais voir ça ...
19 déc. 2004 à 19:44
Mais à mon gout, il y a quelques trucs que tu pourrais corriger :)
1 - la première fois que je viens me coller contre un mur, je suis passé à travers ^^
2 - je trouve frustrant de pas pouvoir viser a 90° vers le haut et vers le bas: j'ai regardé un peu ton programme et j'ai vu ca dans ta fonction camera:
//Init a standard up vVector (Rarely ever changes)
Je suis pas d'accord, dans mes programmes il change sans arret lorsque je fais bouger la camera verticalement. Ca permet d'obtenir une camera "parfaite".
3 - C'est pas très grave, mais je trouve que tes fonctions créent beaucoup d'objet pour pas grand chose, puisqu'ils sont détruits quelques lignes plus tard, donc ca fait beaucoup d'appel de constructeurs et destructeurs pour pas grand chose. Mais ca reste de l'optimisation, et ca ne doit pas etre ton objectif pour le moment. Ceci dit, optimiser un minimum 3Dmath.cpp ne coute pas grand chose :)
Mais bon, je garde ton code précieusement, car il y a plein de truc qui m'intéresse (notamment les models), et puis, c'est toujours que le début. En bref, ca rox quand meme.