Skip to content

Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding

License

Notifications You must be signed in to change notification settings

CyberFlameGO/OpenMiner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMiner

Build Status Documentation Status License Discord Donate PayPal Donate Patreon

Project goal

The long-term goal of this project is to provide a viable alternative to Minecraft modding.

Wiki

Keys

  • Movement: WASD
  • Inventory: E
  • Creative window: H
  • Chat: T
  • Jump: Space
  • Sprint: Ctrl
  • Jetpack: X
  • Exit: Escape
  • Debug: F3
  • Fullscreen: F11

How to compile

Using Windows

Using Linux

Using MacOS

  • Dependencies:
    • A compiler with C++17 support (GCC >= 7.0 or clang >= 5.0)
    • git and CMake (>= 3.12.4)
    • Optional: ninja (much faster builds)
    • Check Homebrew for packages.
  • Run cmake -B build . && cmake --build build; if you installed ninja above, add -GNinja before -B in the previous command.
  • Run the client with ./build/openminer
  • If you want a multiplayer game, run the server with ./build/openminer_server

Discussion

  • Discord: join server
  • IRC: irc.freenode.net #openminer

Project status

This list is not complete.

See also the roadmap for 1.0.0 here.

Implemented features

  • Menus (title screen, world selection, settings, etc...)
  • Basic worldgen (biomes, lakes, trees, flowers, pseudo-caves)
  • Pseudo-infinite world in X/Y/Z axis (2^32 * 2^32 * 2^32 blocks) (#25)
  • Smooth lighting + ambient occlusion
  • Client/server architecture (#20)
  • Chat with support for commands (for example /tp) (#57)
  • Lua modding API
    • Block/item/recipe/biome/tree/sky/dimension/entity definition
    • Custom GUI creation
  • Blocks can have an inventory and update every server tick (workbench, furnace)
  • Block metadata
  • Player model display (without animation)
  • Dimensions (like the Nether or the Ender in Minecraft) (#80)
  • World loading/saving (see #26)
  • Texture pack system (partially implemented, see #34)
  • Entities (#90)
  • Day/night cycle with sun/moon/stars (#154)

Missing features

  • Fluid propagation (#62)
  • Seed-based worldgen (#116)
  • Cave tunnels (#118)
  • Clouds (#156)
  • Particle system (#155)

Screenshots

Credits

  • xMrVizzy (Faithful 32x texture pack, will completely replace Vanilla textures)
  • ThePhD (sol2)
  • skypjack (EnTT)

About

Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • C++ 90.8%
  • Lua 6.9%
  • Other 2.3%