/OpenMiner

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

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

OpenMiner

Build Status Documentation Status Documentation License Discord Donate

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 non exhaustive.

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)

Missing features

  • Fluid propagation (#62)
  • Day/night cycle with sun/moon display (#73)
  • Seed-based worldgen (#116)
  • Cave tunnels (#118)
  • Clouds (#52)
  • Particle system

Screenshots

Credits

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