[Bout de code] 3D Stars Scrolling

Bonjour à tous

J’ai déménagé ce topic ici comme l’article wiki est prêt :slight_smile:

Comme vous le savez je teste Game Develop et j’ai déjà réalisé un petit bout de code avec, il ne s’agit pas d’un jeu mais d’un moteur ou un snippet, que j’ai partagé sur notre Wiki.

Il s’agit d’un scrolling d’étoile en pseudo 3D. Autrement dit, une fausse 3D. Le but est de simuler la perspective avec des formules mathématiques. J’avais écrit ce code en plusieurs langages et j’ai voulu essayer avec Game Develop, faut dire que cela marche bien :slight_smile:

Je ne met pas de screen car vous ne verrez pas bien ce sont des “points” blancs sur du noir c’est pas simple de faire un screen de cela :slight_smile: En dessous je vous permet de tester l’exécutable pour voir le résultat, le temps que je fasse l’article wiki et surtout que je réagence le code.

Je n’ai pas utilisé le moteur de particules, c’est du code fait maison (enfin des évènements) :slight_smile:

Je précise que cet exemple affiche bien des sprites et non pas des points (bien que on dirait juste des points (dot). En fait c’est un sprite que j’ai redimensionné. Dans l’exemple j’en affiche 500 à la fois (j’ai testé jusqu’à 1000 ca passe niquel (suivant votre machine), terrible ce Game Develop).

Toutes les explications et informations essentielles sont disponibles sur le wiki. J’ai également mis à disposition le fichier exemple source et le projet compilé pour windows et pour linux.

Tout cela se trouve sur le wiki ici : Voir l’article sur le wiki

Ce genre de truc peut être pratique pour des shoots en fausse 3D :blush:

Happy Gd !

gg crystal :slight_smile:
j’ai hâtes de voir comment tu as fait cela.
En basic j’utilise des listes chaînées pour faire ce genre d’effet

bonne continuation

Merci :slight_smile:

Non ici pas vraiment de listes, en réalité, ce sont toujours les mêmes étoiles qu’on voit à l’écran :slight_smile: Pour faire l’effet j’utilise tout simplement une partie des règles de la perspective centrale et une formule mathématique générale pour faire la projection. Le code est prêt je vais rédiger le wiki.

Mais vous verrez qu’une fois la formule mathématique en main c’est très simple de le faire :slight_smile:

EDIT : Le premier post de ce topic est à jour avec le lien donnant directement sur l’article du Wiki correspondant :slight_smile:

Happy GD !

C’est très réussi !
J’ai déjà fais des scripts, il s’agit simplement de faire bouger l’étoile selon sa profondeur et sa position X, n’est-ce pas ? (j’ai pas encore regarder ton sujet sur le Wiki, je vais le faire maintenant).

Hello,

Merci, oui il s’agit en fait de faire une projection suivant une formule mathématique pour simuler une coordonnée z qui est ensuite intégrée aux coordonnées 2D x et y. Je vous laisse consulter le wiki pour avoir les détails exacts, et les explications en image :slight_smile:

Sympathique, mais attention, tu déplace tes objets avec des constantes.
C’est dangereux car suivant la vitesse à laquelle l’ordinateur va executer les évènements, les étoiles vont bouger plus ou moins vite. ( Genre sur un PC qui va vite, les évènements seront répétés plus de fois par secondes, donc plus de déplacement ).
La solution est de multiplier tout ce qui touche à des déplacements ou des changements continues par TimeDelta() qui renvoie le temps écoulé en secondes depuis la dernière image.

Par exemple :

Conditions : Aucune Actions : Faire -100*TimeDelta() à la variable Vie

va enlever 100 points de vie à la seconde à la variable Vie.

Plus d’infos : viewtopic.php?f=16&t=1704&p=14994&hilit=timedelta#p14994

Tout à fait,

C’est vrai que je n’ai pas utilisé le TimeDelta bien pratique pour la synchro ^^

Ça a l’aire pas mal par contre les liens sont mort en dessous de ton article. :wink:

Tes liens nous envoie vers ta chaine youtube, SUPER LES FICHIERS CODE ! …

Ah, je suis pas fou quand même! Il est bien foutu son lien!

Foutu ? Il est plus que foutu la xDDD

J’avoue il est carrément hors-sujet :open_mouth:

Bon bon bon, inutile de polluer le sujet.

Dit lui de remettre le lien plutot que de faire de la pub pour sa chaine alors :astonished: :laughing:

Vous deterrez un sujet vieux de 5 mois, il semble que son auteur ne passe plus par ici.