Un moteur de jeu voxel 3D développé en Java avec OpenGL, créé dans un objectif d'apprentissage du développement de jeux vidéo.
"It's not Minecraft... but it's almost there!"
Projet éducatif pour comprendre les mécanismes d'un moteur de jeu voxel (type Minecraft) : génération procédurale de terrain, rendu 3D optimisé, physique et systèmes de chunks.
- Configuration du projet avec Gradle
- Rendu OpenGL avec LWJGL
- Système de caméra FPS
- Génération procédurale de terrain
- Gestion des chunks (16×16×256)
- Greedy meshing et suppression des faces cachées
- Textures, shaders, frustum culling et occlusion culling
- Système de collision et physique joueur
- Placement et destruction de blocs
- Système d'éclairage (skylight + block light)
- Langage : Java 23
- Build : Gradle (Kotlin DSL)
- Graphique : LWJGL 3 (OpenGL)
- Mathématiques : JOML
git clone https://github.com/lpreaux/almostcraft.git
cd almostcraft
./gradlew run- WASD (ZQSD sur un clavier AZERTY) : déplacement horizontal
- Souris : Regarder autour
- Espace / Maj gauche : monter / descendre en caméra libre
- F1 : capturer ou libérer le curseur
- F3 : afficher ou masquer les statistiques mémoire
- Échap : Menu/Quitter
Le raycasting et les interactions de placement/destruction figurent encore dans la feuille de route ; aucun contrôle souris n'est annoncé avant leur implémentation.
Ce projet suit les concepts de :
- LWJGL Game Development
- Minecraft Wiki (techniques voxel)
- Articles sur le greedy meshing et l'optimisation
Projet personnel d'apprentissage, mais les suggestions et retours sont bienvenus !
MIT License - Projet éducatif libre d'utilisation
Développé par Lucas Préaux (@lpreaux).