https://github.com/algorythm-dylan/zigblocks
https://github.com/algorythm-dylan/zigblocks
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/algorythm-dylan/zigblocks
- Owner: AlgoRythm-Dylan
- License: mit
- Created: 2024-10-21T18:29:59.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-30T13:47:58.000Z (7 months ago)
- Last Synced: 2025-02-08T04:42:05.319Z (4 months ago)
- Language: Zig
- Size: 316 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ZigBlocks
ZigBlocks is a YAMCC (Yet Another Minecraft Clone).Every once in a while, another YAMCC video series
pops up on YouTube. These YAMCC series generally
follow the same pattern. They get a single block
rendering, then work on the world mesh, world mesh
optimization, then add noise to the terrain and
usually end around the lighting/trees/caves landmark.Unfortunately, while these problems are very hard
to solve, there's two things left to be desired:- It's been done before
- There's TONS of things that haven't been tackledI want to tackle the harder problems. These may
include:- Physics engine
- Game serialization (save/load)
- AI (mainly: pathfinding. Animations are not a focus)
- Actual game ticks and world updates
- Flowing water
- Multiplayer / account system / dedicated server
- Scripting / modding
- Vulkan rendering
- UI / font / 2D renderingI believe multiplayer has been done before, but
I've never seen a dedicated server and certainly never
seen a login system where you get a persistent account.I also want to try Vulkan out just because everyone
always uses OpenGL.## I Don't Know
Just about all of my goals are completely and totally
insane because, to varying degrees, I am a complete and
total beginner at most of them. I've just barely used
any Zig before, never used Vulkan, I have never implemented
any physics at all, and I've never tried to implement
advanced AI with pathfinding and behavior. Nor have I
ever made a game with such complex multiplayer.This project is honestly doomed from the start, but it's
OK if I come out the other end without any product to show
for it. I just want to learn and test my abilities. Maybe
I will come back five years later and see how much farther
I can get. Until then, I guess we can only see what happens.## The Blog
Read about my progress and see what it's like to be me!- [entry1](blog/entry1.md): I create a basic win32 window
- [entry2](blog/entry2.md): Implementing a win32 message loop for the window
- [entry3](blog/entry3.md): Code re-org of previous two entries
- [entry4](blog/entry4.md): Cross-platform code & Vulkan extreme basics
- [entry5](blog/entry5.md): X11 window basics and adding some c code to the codebase
- [entry6](blog/entry6.md): Getting physical device attributes and printing out GPU name