https://github.com/mindstorm38/proc-gen
Procedural Generation voxel game. A Minecraft Clone. Discontinued, check my other projects, you can still ask questions in issues.
https://github.com/mindstorm38/proc-gen
asynchronous clone game lwjgl lwjgl3 minecraft minecraft-clone opengl procedural-generation voxel-game
Last synced: about 1 year ago
JSON representation
Procedural Generation voxel game. A Minecraft Clone. Discontinued, check my other projects, you can still ask questions in issues.
- Host: GitHub
- URL: https://github.com/mindstorm38/proc-gen
- Owner: mindstorm38
- Created: 2020-01-02T11:17:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-03T23:04:42.000Z (almost 6 years ago)
- Last Synced: 2025-04-23T13:19:30.602Z (about 1 year ago)
- Topics: asynchronous, clone, game, lwjgl, lwjgl3, minecraft, minecraft-clone, opengl, procedural-generation, voxel-game
- Language: Java
- Homepage:
- Size: 36.4 MB
- Stars: 16
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ProcGen


This project is a Minecraft clone, I originally created this project
in order to understand procedural generation and I thought creating
a MC clone was the best easy way to visualize this type of
generation.
## Play (version 0.1.1)
- Escape to switch pause mode
- Use mouse to move the camera
- Press `L` to generate terrain around the camera
- Press `I` to instantiate a **PIG**
- Use `ZQSD` (or WASD) to move
- Space and Shift to move verticaly
- Press `F11` to toggle fullscreen
- Use arrows keys to rotate the first PIG's head
- Press `K` to randomly move the first PIG
- Press `P` to send debug message for the first PIG (dev)
> If you want to customize controls, you can edit the `options.json` (after the first start) next to downloaded jar file.
> You can use the [GLFW page about keys ids](https://www.glfw.org/docs/latest/group__keys.html) to know numbers to put in the configuration file to change control keys.
> This config file will be supported in future version.
> Do not forget to save your custom settings before launching a new version of the game, because I add lot of debug keys to the game each release.
## TODO & Done List
- [x] Motion entities
- [x] Pigs
- [x] Model
- [x] Animations ***(New in 0.1.1)***
- [ ] AI
- [x] Player
- [x] Model
- [x] Animations
- [ ] Controlable
- [ ] Inventory
- [x] Asynchronous (multi-threaded) chunk generation
- [x] Asynchronous dimension chunk saving on file system
- [ ] Rework of rendering system
- [x] Solve far render issues
- [ ] Rendering optimizations
- [x] Shared `WorldRenderSequentialBuffer` for all chunk renderers **(now working)**
- [x] Use `MemoryUtil` natives for building render data
- [x] ~~Caching of blocks indices, in order to re-render only necessary faces~~ **(non-efficient)**
- [x] Viewing Frustum Culling
- [ ] Occlusion Culling
- [ ] Items
- [x] All-model falling blocks
- [x] TNT ***(WIP)***
- [ ] Modifications (Mods)
- [ ] Put default game blocks/entities/items in a mod, enabled by default
## Contribute
Do not hesitate to contribute through issues, either to report real **issues**, or to make **suggestions** for the game !
This game is currently in development, it is not playable, but it is
already possible to move through the dimension.
For development, I'm using Gradle (use wrapper with `./gradrew` and `./gradlew.bat`) and IntelliJ IDEA as IDE.