Je développe depuis quelques semaines et selon mes disponibilités un moteur de jeu 3D à l’aide d’OpenGL. Il a la particularité d’être un moteur de voxels (~ des pixels 3D), le jeu le plus connu utilisant les voxels est Minecraft.
Ce moteur est développé en collaboration avec Valentin Manceaux-Panot. Il développe notamment le moteur du gameplay, pendant que je m’occupe principalement du moteur 3D.
À l’heure actuelle, le moteur est en développement, voici les points d’implémentation réalisés :
– Configuration d’un serveur SVN pour versionner le projet.
– Découpe en class et namespace du projet :
- namespace Engine
- Voxel
 - Shape
 - Cube
 - Sphere
 - World
 - Window
 - OpenGL
 - Command
 - Keyboard
 - Terrain
 
 - namespace Tools
- Point3D
 - Speed3D
 - Defines
 
 - namespace Actors
- Actor
 - IdleState
 - Pawn
 - PawnState
 - WeaponItem
 
 - namespace VObject
- Experience
 - Hero
 
 
– Création de cube et de sphère composé de Voxel avec point source et rayon (ou dimension).

– Ajout de la couleur d’une Shape (class mère abstraite de Cube et Sphere).

– Début de scene graph : on attach les Shape à un World pour les afficher.
– Amélioration des performances OpenGL, environ 60 FPS. (Perte de FPS quand il y a trop de Voxels à l’écran)
Bientôt plus :
– Génération de terrain à l’aide de Voronoi + seed (pour l’aléatoire).
– opération de translation/rotation/scale en tant que noeud dans le scene graph
– ajout de shaders / réduction du CPU au profit du GPGPU, …



