/proc-gen

Procedural Generation voxel game. A Minecraft Clone. Discontinued, check my other projects, you can still ask questions in issues.

Primary LanguageJava

ProcGen

GitHub release (latest by date) GitHub Releases

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 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

  • Motion entities
  • Pigs
    • Model
    • Animations (New in 0.1.1)
    • AI
  • Player
    • Model
    • Animations
    • Controlable
    • Inventory
  • Asynchronous (multi-threaded) chunk generation
  • Asynchronous dimension chunk saving on file system
  • Rework of rendering system
    • Solve far render issues
    • Rendering optimizations
      • Shared WorldRenderSequentialBuffer for all chunk renderers (now working)
      • Use MemoryUtil natives for building render data
      • Caching of blocks indices, in order to re-render only necessary faces (non-efficient)
      • Viewing Frustum Culling
      • Occlusion Culling
  • Items
  • All-model falling blocks
  • 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.