|
fayt nagashimas
|
Posté le 13 Sep 2008 à 16:52
|
|

Messages : 369
GCPoints : 59439
|
Voilà, je commence mon petit "moteur physique" (full en events pour faire plaisir aux makers, et possédant des fonctions basiques).
Pourquoi créer un moteur physique plutôt que de reprendre l'extension physique utilisant chipmunk engine de Danny ? D'une pour acquérir des notions physiques (cf. suite), de deux à titre d'entrainement sous le logiciel et de trois... pour en faire profiter la communauté. Chaque étape sera expliquée de telle sorte à ce que le processus soit adaptable à tout langage/logiciel.
Bien évidemment, comme je ne me trompe jamais, les critiques seront vivement repoussées . n'hésitez pas à poser des questions sur ce qui est incompréhensible.
Les ajouts se feront dans le premier post.
Merci à Harmonyk pour l'espace qu'il m'a alloué sur son ftp (même si vous le connaissez pas) !
Attaquons.
Premièrement, il faut une scène de la taille de votre choix avec deux assets (objets graphiques) : un masque de collision (c'est à dire un bitmap avec lequel votre personnage sera en collision) et un personnage (dans mon cas représenté par un losange).
Scène de base.
Dès lors, nous devons trouver les caractéristiques du moteur, et je vous conseille de les écrire, dans le but d'éviter des oublis.
Voici donc les éléments composant Th3_K|LL3r_ENGINE :
- gravité.
- mouvement des objets (basiques).
- Possibilité de sauter/planer pour le personnage.
Le tout se basant sur de vraies formules, afin de conserver un certain réalisme.
A partir de ce point, il est possible de noter l'ordre des opérations, mais ici bon...
D'autres fonctions pourront évidemment être ajoutées par la suite.
Lecteur (sûrement Daru13, c'est celui qui lit le plus mes post) :c'est marrant d'utiliser de vraies formules, mais l'écran est en pixels, pas en mètres (ah nan, une réflexion comme ça, c'est pas Daru13).
Une variable. Un float ou un integer, le nombre par lequel il faut multiplier la valeur en mètres pour obtenir celle en pixel, ou vice-versa. Comment l'obtenir ? Fonction de votre programme.
Si le personnage mesure un mètre 80 et que le sprite fait 100 pixels de haut... il suffit de faire un petit calcul, pour obtenir le facteur par lequel il faut multiplier la valeur en pixels pour obtenir des mètres.
Lecteur : Pourquoi des mètres (ah je vous prend vraiment pour des crétins).
C'est l'unité internationale pour la distance en physique, ce qui nous permettra d'utiliser les formules sans trop faire de conversions.
Suite à venir.
Dernière édition le 13 Sep 2008 à 16:55
|
|
Darktib
|
Posté le 13 Sep 2008 à 18:27
|
|

Messages : 4017
GCPoints : 347288
|
Pas mal...
Ca commence bien en tout cas.
Par contre je te conseille d'implémenter d'ja deux types de calculs : le pixel-perfect (tu oublie les metres) et la performance (que des metres^^)
|
|
Daru13
|
Posté le 14 Sep 2008 à 18:17
|
|

Messages : 2884
GCPoints : 108090
|
Sympa le topic ^^.
Ça m'aidera pt'et pour mon P&C en plus !
( bon, je connais déjà des trucs sur ce qe tu va raconter, m'enfin... ).
Ça pourrait être sympa de convertir ce topic en tuto quand il sera fini ^^ !
|