Jeu de la vie en 3D OpenGL, version 2

3dlifegame

Fin décembre / début janvier derniers je réalisais un petit programme en c++ / openGL, un jeu de la vie en 3D (voir le post de janvier sur le blog de mental orb). J’étais tombé sur un vieux TP d’université en fouinant dans mes vieux codes, un jeu de la vie, et ca m’avait donné envie d’en faire un mais en 3 dimensions. C’était aussi une bonne excuse pour me mettre vraiment à la 3D openGL en c++.

Le programme était très rudimentaire mais fonctionnait très bien. J’avais annoncé que je l’améliorerai, c’est chose faite. Ces derniers jours je me suis amusé à refactoriser tout le code, (j’ai, entre autre, tout passé en objet… voui c’était codé à l’arrache), j’ai amélioré un peu le visuel des cubes, on peut désormais utiliser la souris pour tourner autour du cube (et la molette pour zoomer/dézoomer), mettre le jeu de la vie en pause, réinitialiser le jeu de la vie et augmenter/réduire la fréquence de reproduction des cellules.

Je suis plutôt satisfait du résultat…

Jeu de la vie en 3d openGL

 

 

3D Cpp OpenGL game of life

Vous pouvez télécharger le programme ici : fichier rar 214Ko (garanti sans virus ni autres saloperies du genre).

Contrôles :

- ESPACE : mise en pause du jeu de la vie
- ENTREE : réinitialise le jeu de la vie (par exemple s’il est devenu trop saturé ou si toutes les cellules sont mortes)
- Fleches HAUT/BAS : augmente/diminue la vitesse de reproduction des cellules
- Souris : Tourner autour du cube
- Molette : Zoom

Dans une version 3 je rajouterai sûrement des vrais paramètres de simulations pour faire un dérivé du jeu de la vie, simulations de populations / extinction / chasseur-chassé etc.

En attendant : Have fun :)

SHARE THIS POST

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati
Author: MySelf View all posts by

2 Comments on "Jeu de la vie en 3D OpenGL, version 2"

  1. Pilou 15 janvier 2012 à 17 h 01 min -

    Cool programme! Bravo mais…
    Quelle est la règle de reproduction?
    en 2D la règle classique est Born 3 / Survive 23
    mais en 3D ?

  2. MySelf 26 janvier 2012 à 15 h 45 min -

    J’ai dû faire pas mal de tests pour trouver un bon équilibre, pour éviter que ca ne se remplisse trop vite ou que tout ne disparaisse pas trop vite.

    Au début, 5-6 générations suffisaient à remplir tout l’espace, comme 2 générations suffisaient à faire mourrir tout le monde…

    En l’occurrence ici j’ai mis :
    Born : 4
    Survive : 3-4

    C’est le meilleur « équilibre » que j’ai trouvé…