JeuWeb - Crée ton jeu par navigateur
Créer l'univers - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Univers, background (https://jeuweb.org/forumdisplay.php?fid=47)
+--- Sujet : Créer l'univers (/showthread.php?tid=3140)

Pages : 1 2


Créer l'univers - Ekilio - 10-10-2008

Bonjour à tous,

Dans ma série "Je m'ennuye et j'en ai marre de coder Aluren", je vous présente aujourd'hui... Le big-bang et vous !

Le principe est très simple : remplir de manière réaliste un univers assez grand est à mon sens très complexe puisqu'il faut respecter les proportions de présence des différents éléments, l'évolution des étoiles, les types d'étoiles, etc...

Donc j'ai créé un petit script qui le fait pour vous. Je ne met pas de démonstration car le script est très lourd pour le serveur (particulièrement sur des grandes cartes), mais voici le lien où vous pouvez le télécharger : http://www.aluren.fr/perso/univers.zip

Pour l'installation, c'est très simple : dé-zippez simplement tous les fichiers dans un répertoire ; si vous êtes sous *nix, donnez à ce repertoire un chmod 0777 (le script créé des fichiers). Et voila, c'est installé (je ne me sers pas de base de données).

Comment ça marche, maintenant ? C'est assez simple. Il y a deux modes de fonctionnement : le mode "étoile" et le mode "univers". Vous pouvez choisir entre les deux sur la page d'accueil. Attention, remettre à zéro l'un remet à zéro l'autre !

En mode étoile, vous devez indiquer combien d'hydrogène possède l'étoile à sa création. Ce mode ne permet pas de nuancer (c'est à dire de créer des étoiles de seconde génération, possédant déjà des éléments plus lourds).
L'unité de l'hydrogène est arbitraire et fixée de telle manière que :
- Le soleil possède à l'origine 100.000 unités d'hydrogène
- Les objets astronomiques les plus petits qu'on considère encore comme des pseudo-étoiles (les naines brunes, ce ne sont même pas des étoiles au sens strict) possèdent à l'origine au moins 1261 unités d'hydrogène
- Les étoiles les plus grosses et stables possèdent à l'origine 12.000.000 unités d'hydrogène
Le mode étoile utilise uniquement la session pour sauvegarder ses données. Il sert principalement à régler les paramètres utilisés par la classe étoile ; vous avez plusieurs "vitesses" d'évolution ; en pratique, utiliser la plus basse est toujours le meilleur choix, à moins de ne savoir exactement ce que vous voulez voir, car à de plus hautes vitesses, l'étoile n'évoluera pas normalement (pour être exact, elle ne passera pas normalement d'un stade à l'autre).

Le mode univers est un peu différent. A l'origine, vous choisissez la taille de votre univers et le nombre initial d'étoiles. J'ai testé avec des cartes de 100x100, ca marche (mais c'est lent) : la sauvegarde fait alors un peu plus de 1Mo.
Le nombre initial d'étoile est très important. La taille des étoiles est défini par le biais d'un hasard guidé pour se rapprocher des conditions régnants dans notre univers. Si vous ne mettez pas assez d'étoile, les étoiles de seconde et troisième génération (particulièrement de troisième génération) ne pourront jamais se développer, et vous aurez un univers vide. Si vous en mettez trop, le nombre de trous noirs sera trop élevé et votre univers ne pourra pas se développer. Testez pour obtenir un juste milieu !
En mode univers, cliquer sur une case vous détaille la composition de cette case. Vous noterez qu'il y a beaucoup de planètes pour les étoiles de seconde (et plus) génération ; en fait, en-dessous de 8x10^-5 masses de la terre, on parle de "petit corps" (les astéroides, quoi) et au-dessus, de planète ou planète naine (pluton est une planète naine, pas une planète).
Vous ne pouvez avancer que par million d'années en mode univers. Ce mode sauvegarde ses données sous forme d'un tableau d'objets sérialisé dans un fichier qui dépends de votre session ; pensez d'ailleurs à le vider régulièrement.

Vous noterez dans les composition (dans les deux modes) un champs "Autre". Ce champs représente tous les autres atomes ; ceux-ci sont créés uniquement à des moments très précis de la vie des étoiles, et des molécules sont créés en même temps. Comme il est hors de ma portée de détailler tout ça, j'ai simplement réuni le tout dans "Autres". Oui, donc ca concerne aussi l'or et le platine, mais regardez un tableau periodique des éléments, divisez, et vous obtiendrez une idée du nombre.

Enfin, pour régler l'évolution des étoiles comme vous le souhaitez, vous pouvez changer les différents facteurs chiffrés de la classe etoile. D'une manière générale, ce sont les puissance (pow($this->taille, 1.5)) qui influent sur la génèse des éléments et la taille de l'étoile.

Alors, maintenant passons aux questions-réponses :

- C'est moche !
- Je sais. Et ça le restera : cela n'a pas but d'être un truc distribué aux joueurs, c'est juste pour vous aider à remplir vos bases de données.

- C'est faux !
- Je sais aussi. Mon modèle n'est pas tout à fait réaliste ; les étoiles y ont une durée de vie différente de la réalité (12 millions d'années contre 7 en théorie pour une étoile de classe O, 13 milliards d'année contre 15 en théorie pour une étoile de classe G). Mais le but de l'outil n'est pas d'arriver à une simulation parfaite, utilisable dans les laboratoires de physique ; simplement de pouvoir donner un univers réaliste aux joueurs.

- D'où sortent toutes ces valeures ?
- Principalement de vraies valeures, mais arrondies et approchées. Les réactions de fusion que je met en oeuvre dans ma simulation sont celles qui se produisent réellement, à ceci près que je néglige l'isotope alors que dans la réalité, il est important. Certaines valeures (particulièrement lors de la fusion du noyeau de fer et de la fusion du silicium) sont des valeures prises arbitrairement, même si elles sont probablement un minimum proche de la réalité ; mais de ce que j'ai pu trouver sur internet, nous ne connaissons pas les valeures réelles, la fin de la vie d'une étoile étant assez mouvementée (pour info, la fusion du silicium se fait en quelques heures, et la fusion du fer en quelques secondes).

- C'est quoi ces températures ?
- Ce sont des degrés Kelvin. Pour obtenir la temperature en celsius, retirez 273,15 ; pour l'obtenir en fahrenheit, démerdez-vous.

- C'est quoi l'unité de masse ?
- Je l'ai indiquée arbitraire ; en fait, ce n'est pas tout à fait vrai. Plus exactement, c'est vrai mais on peut établir une correspondance avec les kilogrammes ; si vous voulez vous y amuser, c'est votre droit le plus strict ^^

Voila, si vous avez d'autres questions ou remarques, dites-les, et sinon, ben utilisez ça comme vous voulez ; je vous demande juste de pas re-distribuer le script sans indiquer que j'en suis l'auteur. Ah, et bien sûr, je suis susceptible de l'utiliser moi aussi pour remplir un futur jeu.

Voila voila...

Ekilio, qui s'ennuyait hier.


RE: Créer l'univers - Nodark - 10-10-2008

Joli post en tout cas,mais si tu t'emmerdais XD

Merci pour la contrib' Wink


RE: Créer l'univers - Sephi-Chan - 10-10-2008

Même si je ne pense pas m'en servir, je te remercie pour ta contribution. Smile
Je regarde quand même la source par curiosité.


Sephi-Chan, cela dit, c'est toi la naine brune… Confusediffle:


RE: Créer l'univers - Melimelo - 10-10-2008

J'ai cru ne pas comprendre a quoi ca servait et j'ai lu 3 fois ^^


RE: Créer l'univers - Sephi-Chan - 10-10-2008

Melimelo a écrit :J'aiu cru pas ne comprendre a quoi ca servait et j'ai lu 3 fois ^^
Ça non plus c'est pas très compréhensible. Confusediffle:


Sephi-Chan


RE: Créer l'univers - Ekilio - 10-10-2008

En gros, ça sert à te génerer une grille d'une taille que tu choisis, remplie avec des étoiles et des planètes réalistes, c'est à dire dont la composition et la place est logique par rapport à notre univers.
J'ai mis à jour le zip, suite à une erreur dont je me suis aperçu dans la génération de nouveaux systèmes. Le principe devrait maintenant être encore plus réaliste.


RE: Créer l'univers - Hakushi - 10-10-2008

Il y a une parse error en ligne 130, il manque une ) au bout de la ligne precedente.

Sinon c'est assez impressionnant. En tant qu'amateur "avance" d'astrophysique et de cosmologie, ya du boulot derriere ca, mais de mon point de vu on est quand meme loin d'un processus comme il a pu s'en passer dans notre univers.

Tu devrais jeter un rapide coup d'oeil a la physique quantique, ca permet d'avoir une bonne vue de l'etat de l'univers dans les premiers instants apres le big bang, et se sont dans ces premiers instants de l'univers que "grace" au principe incertain de la physique quantique (grossierement il dit que deux particules ne peuvent pas se trouver au meme endroit au meme moment) qui a permis d'infime variation dans la repartition des premieres particules, et qui par la suite a rapidement donne des regions du jeune univers ou la force de gravitation genere par ce surplus de particule/matiere a cree des premiers puits d'effondrements qui seront assez puissant pour lutter contre l'expension de l'univers et former les premieres galaxies ou les trous noir primordiaux.

Mais bon je pense pas que ca soit ton but comme tu le dis, et le resultat est quand meme bon.


RE: Créer l'univers - Ekilio - 10-10-2008

La parenthèse, c'est corrigé, effectivement, merci :-)

Sinon, effectivement on est assez loin d'un processus tel que celui de notre univers, parce que je pars du postulat que (1) les étoiles ne bougent pas (ce qui est faux), (2) la répartition initiale des étoiles est aléatoire (alors qu'elle est liée au big bang)

Le problème, c'est que si le principe que tu cite permet effectivement de localiser les premières galaxies, en revanche il ne permet pas d'expliquer la formation des premières étoiles et galaxies de manière certaines. Donc si je voulais faire un modèle réaliste des premiers instants de l'univers, je devrais prendre en compte son expansion (ce qui impliquerais de pouvoir modéliser l'extension de l'univers, et donc de pouvoir la concevoir, ce qui est un peu hors de ma portée, même si je pense pouvoir y arriver), mais surtout la mathématiser d'une manière précise.

Et ça, à priori c'est impossible... Alors qu'avec les règles qui sont là, je peux partir d'un univers irréel mais plausible (sauf dans sa répartition) et évoluer au fil du temps vers un univers de plus en plus réaliste... si on admet que le big bang se passe un peu différemment. Pour des choses plus précise (il y a beaucoup de choses à améliorer comme je l'ai dit, notamment le fait que le pas idéal est de 1 seconde, et que les déplacements se font en fait en 3d, et que les isotopes sont différents [principalement les différents isotopes de Carbone et d'Hélium qui entre dans des réactions de fusion différentes]), il faudrait je pense utiliser des outils théorique que je n'ai pas, n'étant qu'un amateur m'interessant de loin à l'astrophysique et à la nucléosynthèse stellaire, et surtout un autre langage.

Mon but était simplement, en m'approchant de la réalité autant que possible sans que la complexité ne soit trop grande, de créer un modèle permettant de remplir une grille de jeu :-)


RE: Créer l'univers - Hakushi - 10-10-2008

Wink C'etait juste une paranthese de ma part si tu voulais affiner ton script.

Si j'ai le temps je me tenterais bien a un truc du genre en me basant sur l'etat actuel des theories de l'expansion de l'univers, ca pourrait etre marrant (et bien casse tete tellement ya de parametres)

En tout cas ton script marche vraiment bien Wink


RE: Créer l'univers - Sephi-Chan - 11-10-2008

Bon anniversaire Ekilio. Smile