RubyDung (aka MC Preclassic) rewritten as God intended.
This is me being insane enough to rewrite the very first public Minecraft versions
rd-132211, rd-132328, rd-20090515, rd-160052, rd-161348 released 2009, in plain C.
Why? Because I can.
And because the original was Java, and I wanted to see how far I could push a C port.
I kept file names and code organization close to the original repos:
GitHub: thecodeofnotch
- Break and place tiles
- White flashing overlay on the block you’re aiming at
- Save the level by pressing Enter
- Respawn/reset position by pressing R
- Player movement/collision factored into a common
Entitybase (player now “inherits” physics). - Minimal immediate-mode box builder used for characters.
- A simple biped (“zombie/human”) that wanders the world with basic hopping/striding animation.
- General
- Game tick is now 20 ticks per second
- Fullscreen mode
- Custom textures for each face of a tile
- Added stone, dirt and wood tile
- Entity
- Reduced zombie spawn amount to 10
- Zombies who fall below y level -100 are now removed from the world
- Modified physics of entities
- Zombies now appear darker in the shadow
- World
- Implemented perlin noise world generation
- Grass can grow on dirt tiles in sunlight
- Controls
- Added hotkey "G" to spawn zombies
- Block picking using the number keys 1-4
- HUD
- Crosshair
- Picked tile in the top right corner
- Add tile destroy particles
- Added bush tile
- Changed HUD scale
- Flipped tile preview
- Rotate particles to the y camera position
Download and install from msys2.org.
Launch “MSYS2 MinGW x64” (the icon says MINGW64).
pacman -Syu # if it asks, close the window and reopen MINGW64, then run again
pacman -S --needed \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-glfw \
mingw-w64-x86_64-glew \
mingw-w64-x86_64-zlib \
makegit clone https://github.com/degradka/mc-preclassic-c.git
cd mc-preclassic-c/rd-[version]/src/
makeTo run the game, make sure these DLLs are in the same folder as the exe:
zlib1.dlllibwinpthread-1.dllglew32.dllglfw3.dll
Don't forget that resources/ folder should also be in the same folder.
Tested on Arch Linux — other distros may need different package names.
sudo pacman -S glew glfwgit clone https://github.com/degradka/mc-preclassic-c.git
cd mc-preclassic-c/rd-[version]/src/
makeDon't forget that resources/ folder should also be in the same folder.
- Wiki: Java Edition pre-Classic rd-132211
- Wiki: Java Edition pre-Classic rd-132328
- Wiki: Java Edition pre-Classic rd-20090515
- Wiki: Java Edition pre-Classic rd-160052
- Wiki: Java Edition pre-Classic rd-161348
- GitHub: The Code of Notch rd-132211
- GitHub: The Code of Notch rd-132328
- GitHub: The Code of Notch rd-20090515
- GitHub: The Code of Notch rd-160052
- GitHub: The Code of Notch rd-161348
If you think this is a dumb project, you’re right. But it runs.




