
Craft
A small Minecraft-style voxel game written in C with modern OpenGL, with optional Python-based multiplayer.
- Stars
- 11.1k
- Forks
- 1.5k
- Licence
- MIT
- Language
- C
- Last update
- 2.6 years ago
- Type
- App
No commits in over a year — check for forks or alternatives before adopting.
What it is
Craft is a simple open-source game that imitates the block-building style of Minecraft. It is written in a few thousand lines of C and uses modern OpenGL shaders for graphics. It saves world changes to a SQLite database and includes a Python server for online play.
- Build and break blocks in a procedurally generated world that is saved between sessions
- Study how chunk-based terrain generation and exposed-face rendering are implemented
- Host your own multiplayer server using the included Python server
- Experiment with adding new block types, which the README says can be done easily
Great for
- Developers who want to read a compact, real example of a voxel game in C
- Students learning OpenGL, shaders, or how game worlds are chunked and saved
- People who want to run a small Minecraft-like sandbox on their own machine
- Hobbyists interested in self-hosting a simple multiplayer game server
Not ideal for
- Players looking for the full Minecraft experience, since it is a simplified clone with a limited feature set
- People who want a ready-to-run download, since the README points to binaries only on the website and otherwise asks you to build from source
- Anyone who needs a maintained, actively developed project, since the last push was in April 2024 and the README notes the original public server was taken down
How to get it
- 1
Clone and build from source
You'll need: CMake · A C compiler such as GCC or MinGW on Windows · GLEW, GLFW build dependencies, and libcurl (Linux) · Python for the optional multiplayer server
Clone the repository
git clone https://github.com/fogleman/Craft.gitEnter the project folder
cd CraftGenerate build files with CMake
cmake .Compile the game
make - 2
Run it
- Install the dependencies listed for your operating system in the README
- Clone the repository and run cmake . followed by make
- Start the game with ./craft
- Use WASD to move, Space to jump, and left or right click to break or place blocks
- 3
Get the most out of it
- Use the /online HOST [PORT] command or launch with ./craft [HOST [PORT]] to join a server
- Run your own server with the included Python server.py after building the terrain DLL as described in the README
- Use the Tab key to switch between walking and flying, and F for orthographic view
- Use the P key for a picture-in-picture view of other players, and O to observe them in the main view
- Read the Implementation Details section to see how chunks, rendering, and the database work before modifying the code
Downloads
Strengths
- Compact codebase that is easier to read than a full commercial game engine
- Uses modern OpenGL with shaders and no deprecated fixed-function calls, as described in the README
- Documented implementation details covering rendering, database, and multiplayer protocol
Trade-offs
- The README says the public multiplayer server has been taken down, so you must self-host to play online
- Official binaries are only described for Mac and Windows on the website, and the latest release has no binaries attached
- Building from source requires installing several dependencies and a compiler toolchain
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| Craft (this) | 11.1k | App | intermediate | 2.6 years ago | Developers who want to read a compact, real example of a voxel game in C |
| pixijs | 48.6k | Library | intermediate | 6 days ago | Web developers building interactive 2D graphics or animations |
| osu | 19.4k | App | intermediate | 4 days ago | Rhythm game fans who want a free, open-source client |
| 2048 | 13.5k | App | beginner | 2.0 years ago | People who want to play 2048 without installing anything, via the hosted site |
| renderdoc | 11.3k | App | intermediate | 5 days ago | Graphics programmers debugging their own Vulkan, D3D11, D3D12, or OpenGL applications |
| awesome-cpp | 74.2k | Curated list | beginner | 6 days ago | C++ developers looking for a library for a specific task |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.