60

Ouais je suis d'accord avec geogeo.
Se rapprocher des modeles physique est beaucoup plus couteux en temps que les tables.
Beaucoup de jeux utilise les tables precalculé.
Ktl utilise de même des tables precalcule pour les sauts et animation et c'est beaucoup plus pratique et flexible quand on sait s'en servir correctement.
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

61

Je ne suis pas convaincu, tu peux expliciter ?
Je suis content que quelqu'un reprenne ce débat smile
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

62

Sasume:
geogeo> Imbécile, on essaie de vous montrer que notre méthode est plus efficace...


Oups désolé!
Maintenant je suis content de voir une autre personne ne portant pas le pseudo geogeo être entendue par toi!
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

63

comme dis precedemment un modele comme celui ci:
y(t) = g/2*t² + v0*t + y0
demande pas mal de calcul il ya pas mal de multiplication et pas mal d'addition.
Si tu code ta parabole de saut de facon vectoriel c'est a dire les position en x et y par rapport au point precedent tu n'a qu'une seule addition par composante.
Evidemment certain pourrait dire que c'est pas aussi proche du reel c FAUX.
tout les parametres sont connu pour jeux de plateforme.
On pourra toujours precalcule les mouvements.
Pour ce qui est des tables d'animation rien d'aussi simple aussi.
il suffit de piocher a un index l'image que l'ont veut afficher.
Je pense que le concept "objet" convient parfaitement au probleme des jeux de plateforme, reste apres avoir les connaissance suffisante pour l'appliquer dans le domaine des ti ce qui est n'est pas a la porté des debutants.
Je vais publier les sources de ktl demain ainsi que l'editeur si ca peut aider certaine personne.
C'est pas exempt de tout reproche mais c pas mal commenté.
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

64

Pour ce qui est de la complexité de calcul, deux additions par image suffisent pour obtenir un saut physiquement correct...
Tout ce que tu dis après n'a pas grand chose à voir...
tout les parametres sont connu pour jeux de plateforme.
Ce qui signifie concrêtement ?

geogeo> Désolé de quoi ?
Ton comportement est pathétique...

Le but dans l'histoire c'est pas de faire passer l'autre pour un con, mais de le rendre moins con jsutement...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

65

Ben pourquoi ça ne serait pas proche du réel ? on sait que vy = dy/dt ≈ Δy/Δt (de même ay = dvy/dt ≈ Δvy/Δt) cette approximation est largement suffisante si utilisée correctement. Il faudrait vérifier, mais je pense que dans un jeu tu vois peu de différences (si ce n'est aucune) entre la fonction y(t)=... et l'approximation par dérivées.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

66

mastergb>
Mais qu'est-ce que tu essayes de nous montrer, là ?

* on te parle pas des animations neutral
* on a dit plus haut que la calcul de la parabole lors d'un saut ne nécessite que deux additions, ce qui est largement inférieur à un lookup dans une table
* qd bien même on voudrait faire un truc plus compliqué qui nécessiterait des calculs de l'ordre de grandeur de ce que tu as donné (3 multiplications et qques additions), c'est vraiment complètement négligeable : ça fait moins de 200 cycles, c'est-à-dire moins de 10% d'un seul sprite 16x16 ! et on ne fait ça qu'une seule fois par frame roll (pour que ça prenne 1% du tps de calcul du jeu, il faudrait que ton jeu tourne à 500 fps gol)
* et enfin c bien moins flexible, parce que dans une table, le résultat ne dépend que d'une seule coordonnée de départ

Donc bon, je ne critique pas du tout KTL, je dis juste que ta position sur ce point est difficilement défendable et que tu ne l'as pas défendue...

[EDIT : mega cross]

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

67

C'est pas de ma faute si on emploi pas le même vocabulaire
ben dans ue equation quand on dis qu'on connait tous le parametres c'est pour cet exemple:
v0 g/2 et t tu a quasiment tout.
Tout ce que tu dis après n'a pas grand chose à voir...

Ouais je sais grin je savais même que t'allais dire ca. Je v etre "joueur" et ne pas repondre ^_^ sinon je v perdre mon sang froid.
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

68

Mais je ne comprends toujours pas l'intérêt d'une look-up table par rapport à calculer à la volée la position ?
Inutile de parler de performances, elles sont complètement négligeables (cf le post de Pollux)...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

69

geogeo> Désolé de quoi ?
Ton comportement est pathétique...
Le but dans l'histoire c'est pas de faire passer l'autre pour un con, mais de le rendre moins con jsutement...


D'ailleur tu va me dire comment tu fais avancer une discussion avec les insultes du genre "imbécile"?? Essaye d'accepter ce que les autres disent. Sympa les smileys aussi wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

70

et toi tu la fais avancer comment la conversation geogeo ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

71

Lol l'ambiance n'a pas changé.....
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

72

Essaye d'accepter ce que les autres disent.

Personnellement, je suis ouvert à toute discussion, et j'ai donné des arguments dans ./66. Si vous voulez me contredire ou si vous avez d'autres arguments contre, exprimez-vous, mais sinon ne vous étonnez pas qu'on pense que vous avez tort embarrassed

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

73

geogeo tu m'énerves : je t'ai traité d'imbécile parce que tu ne nous écoutais pas justement, et tu me reproches de ne pas accepter ce que les autres disent... Tu ne crois pas que tu inverses un peu les rôles, là ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

74

Non j'inverse les rôles, tu as raison désolé wink. Je n'aurais jamais dû poster dans ce topic puisque en tant que simple *****, je ne devrais même pas discuter de ça!
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

75

Bon, plutôt que de nous prendre pour des cons, pourquoi tu ne nous expliquerais aps clairement en quoi le saut avec des tables est meilleur ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

76

pencil

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

77

geogeo>
neutral Que faire ?
Je te dis justement que je t'écoute pour connaître les avantages d'utiliser une table précalculée, après t'avoir communiqué ceux que je voyais en calculant les trajectoires à la volée.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

78

79

Bon, OK, je retire mes "insultes".
Je m'excuse de m'être laissé aller.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

80

... geogeo, s'il te plaît ...

j'avais envoyé un mmsg à Sasume juste après son post pour qu'il enlève le mot "con" de son message parce que tu en profiterais pour esquiver nos questions, mais il ne l'a pas encore lu...

alors moi je ne t'insulte pas, Sasume ne va pas t'insulter non plus, il s'était juste un peu énervé, maintenant on se calme et on va pouvoir discuter gentiment de pourquoi les tables c'est mieux que le calcul en tps réel, OK ? j'attends ta réponse à ./66...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

81

c cui ki di kilé !
avatar

82

geogeo > Pfff, écoute, de ce que tu dis, on peut voir ça.
Tu ne veux pas parler dans "ces conditions". Or, si tu pouvais nous éclairer sur pourquoi le saut en utilisant des tables serait meilleur, plus personne ne te prendrait pour un con dans ce topic. Tu ne le fais pas, c'est donc que tu ne le peux pas, alors admet-le. On te demande pas d'avoir raison, juste de ne pas être malhonnête en nous fesant croire que tu sais ce que tu ne sais pas.
Alors maintenant, ou bien tu me montres que j'ai tort dans ce post, ou alors, c'est que j'ai raison, ça me parraît simple, non ?
EDIT: corrigé qq trucs
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

83

Peio> tg, évite de mettre de l'huile sur le feu sinon on va pas s'en sortir neutral

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

84

Dernière tentative:

Prenons un exemple simple, un seul et unique sprite devant effectuer un saut de hauteur variable, à savoir que lors de ce saut, ce sprite ce déplace suivant x aussi. On peut biensûr utiliser votre formule pour ce type de saut, simple à réaliser mais on peut aussi bien utiliser une table précalculée de ce type:

char jump_x[]={1,1,1,1,1,1};
char jump_y[]={0,1,2,2,1,0};

Voilà le saut de base, sous forme de parabole, pour augmenter la distance du saut il suffit tout simplement de modifier les composantes x en les multipliants par exemple ou même en employant des Fixed Points pour une précision extrême. Idem modifier la composante y augmente la hauteur du saut. Ainsi il est très faicle de modifier les paramètres du saut en fonctions des actions du joueur. Vous allez me dire mais comment faire pour gérer les masses, le vent et j'en passe, bah tout simplement en ajoutant des constantes...

Là c'est un saut très simple, mais maintenant nous voulons un saut presque toujours identique mais plus compliqué demandant une suite de sprites bien définie, on utilisera une autre table renvoyant des index de sprites.

char jump_spr[]={0,1,2,2,1,0};

Pour effectuer le saut il suffira de parcourir les tables les unes à la suite des autres, modifier les coordonnées x et y ainsi que le sprite.

Maintenant perso je préfère les tables car bien plus larges niveau possibilités et malgrés leurs formes très flexibles et peu couteuses en mémoire.

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

85

Oué, ben, tu as bien une idée, et je te remercie de l'avoir exprimée clairement, mais on voit que tu ne t'es jamais beaucoup penché sur la réalisation d'un jeu de platteformes.
char jump_x[]={1,1,1,1,1,1};
D'après ce que je sais, cela ne sert strictement à rien, car tu fais en principe avancer ton personnage de la même façon que lorsqu'il ne saute pas
Voilà le saut de base, sous forme de parabole, pour augmenter la distance du saut il suffit tout simplement de modifier les composantes x en les multipliants par exemple ou même en employant des Fixed Points pour une précision extrême.
Pour x, voir plus haut et pour y:
char jump_y[]={0,1,2,2,1,0};
Mais cette parabole est plate et peu parabolique (le saut va ressembler à un caré)... Oui, je sais que c'est un exemple, mais de ça, je vois que pour avoir une parabole plus précise, il te faut plus de valeurs. Soit, ça ne pose pas de problèmes, mais à ce moment là, tu devras effectuer des multiplications/divisions pour trouver l'index qui correspond à la position du joueur selon la vitesse.... De plus, cela m'a fait réaliser l'imprecision extrême des tables. Si tu déformes ta parabole pour un saut, elle est étirée vers le haut, sachant que la hauteur du saut dépend peu de la vitesse (généralement un peu plus haut au délà d'un certaine vitesse), ta parabole ne va donc plus respecter les lois physiques qui disent que l'accélération verticale est égale à -g (en négligeant les autres forces), sauf si tu la déformes aussi en x, mais à ce moment là, la hauteur et la distance du saut seront liées, ce qui est incorrect (surtout que l'on a le droit de sauter verticalement sans vitesse horizontale)
Les tables nécéssitent donc énormément de calculs pour obtenir la même précision que le calcul en temps réel (c'est toujours une approximation, mais normalement très bonne si l'on n'utilise que des entiers). Autre désavantage, tu stockes tout cela par rapport à la position initiale (ah, tiens, incohérence là... pkoi jump_x est tjrs à 1 alors que jump_y est relatif à la position de départ ?), donc tu te compliques la vie lorsque tu dois gérer les collisions entre deux points de la parabole.
De tout celà, je t'explique comment on en vient au calcul en temps réel. Tout d'abord, on pense à stocker yn + 1 - yn, mais on s'apperçoit que c'est la dérivée (c'est strictement exact avec des entiers si je ne me trompe... les autres confirmeront ou infirmeront). Bon, mais de toute façon, tu ne peux pas calculer la dérive car tu ne sais aps comment. Puis en réfléchissant bien, tu t'apperçois que la hauteur augmente rapidement au début, lentement au milieu, puis diminue lentement au milieu, et rapidement à la fin. Donc en principe, si tu affectes une grande valeur à la vitesse verticale, que tu ajoutes au saut à chaque image, et à laquelle tu retranches une constante que tu auras choisie en conséquence, tu obtiendrais le même comportement. Je ne sais pas si c'est pareil pour beaucoup de monde, mais c'est ce que j'avais pensé il y a quelques temps, avant de voir ça en sc. physiques et de voir que c'était exact (à quelques détails prêts, à savoir les frottements, mais ça se gère aussi smile)

(je pense que ce n'est plus nécéssaire de répondre à la fin du message après ces explications)

Ce #roman# vous a été offet par GoldenCrystal ^^
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

86

Je trouve que ça n'apporte rien par rapport à utiliser les formules physiques (et ça prend de la place en plus) : on peut également changer la gravité en calculant à la volée la trajectoire, il suffit de modifier la valeur d'une variable (sans multiplication), pour ce qui est des valeurs de x, je ne comprends pas pourquoi tu t'embêtes avec ça dans ton saut, ça empêche modifier la position du perso pendant un saut (c'est impossible physiquement, mais ça peut rendre des jeux très jouables).
Pour ce qui est du saut demandant une suite de sprites particuliers, je trouve ça pire, puisqu'on ne peut pas changer le temps de saut (que se passe-t-il si ton personnage saute d'une plate-forme à une autre plus bas ?).
Bref, je ne suis vraiment pas convaincu.

Surtout que multiplier tous les éléments de la table pour changer la hauteur du saut, en plus d'être moyennement efficace en termes de performances, ne respecte pas les lois physiques, donc donne une trajectoire moins belle qu'en calculant à la volée.

Non, franchement, je ne vois aucun avantage à utiliser des tables, mais plutôt des désavantages...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

87

88

Et dans le cas comme dans sonic ou le bond dépend de l'accélération du personnage ? comment peut-on se débrouiller avec une table ?!
avatar

89

Tiens, c vrai, j'ai oublié de mentionner "sonic" ds mon post neutral
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

90

hey Pollux, la tienne avant la mienne trilove
avatar