https://github.com/jsoulier/blocks
Tiny Minecraft clone in C and GLSL using the new SDL3 GPU API
https://github.com/jsoulier/blocks
c glsl minecraft sdl sdl2 sdl3 shaders
Last synced: 3 months ago
JSON representation
Tiny Minecraft clone in C and GLSL using the new SDL3 GPU API
- Host: GitHub
- URL: https://github.com/jsoulier/blocks
- Owner: jsoulier
- License: unlicense
- Created: 2024-10-19T16:07:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-11T17:03:39.000Z (3 months ago)
- Last Synced: 2025-02-11T17:45:52.142Z (3 months ago)
- Topics: c, glsl, minecraft, sdl, sdl2, sdl3, shaders
- Language: C
- Homepage:
- Size: 11 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Blocks

Tiny Minecraft clone in C and GLSL using the new SDL3 GPU API
### Features
- Procedural world generation
- Blocks and plants
- Transparent blocks
- Directional shadows
- SSAO approximation
- Persistent worlds### Building
#### Windows
Install the [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) for glslc
```bash
git clone https://github.com/jsoulier/blocks --recurse-submodules
cd blocks
mkdir build
cd build
cmake ..
cmake --build . --parallel 8 --config Release
cd bin
./blocks.exe
```#### Linux
```bash
sudo apt install glslc
``````bash
git clone https://github.com/jsoulier/blocks --recurse-submodules
cd blocks
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --parallel 8
cd bin
./blocks
```### Controls
- `WASDEQ` to move
- `Escape` to unfocus
- `LClick` to break a block
- `RClick` to place a block
- `B` to toggle blocks
- `F11` to toggle fullscreen
- `LControl` to move quickly
- `LShift` to move slowly