genre: sandbox 2d top-down survival multiplayer
inspiration: Mindustry Terraria Minecraft Rust
hook: nested tilemaps still idea phase, gdd coming soon hopefully
looking for: people who think this has potential and have spent thousands of hours in games from this genre, but also anyone else who likes this, not just programmers, anyone. helping would be nice, but discussion is fine too!
the initial idea is impossible to achieve richt away, i will create different games on the way there, currently looking into replayability in terms of game content interactions in context of ECS. that means different kinds of events like: "onhit", "onkill", "onattack" and so on.
rules
❌stable
❌memory safe
❌predictable
❌writing tests
❌error handling
✅if its not broken, dont fix it
✅memory leaks
✅undefined behavior
✅works on my machine
✅printf, the only debugger and profiler
✅improvisation
✅"fatal error: too many errors emitted, stopping now"
✅stolen laptop
✅neighbours wifi
✅never paid for it
some of it is sarcasm, some of it is true!
the only thing that really matters is time, motivation and consistency
failures and reality checks are expected
tech
🌕 already went through it
🌗 working on it
🌑 planning to look into it
engine/framework/graphics-library
🌕 Unity, HTML/JS (2d rendering context), Unreal, Godot, Monogame, Raylib, Bevy, SDL, OpenGL (OpenGL-ES, WebGL), Roblox Studio
🌗 SDL2, WebGPU
🌑 Vulkan, DirectX, SFML, Love2D, the Forge, bgfx
tooling
🌕 Git - Github
🌕 Cmake
🌕 Emscripten - WASM
🌗 custom codegen (in python)
🌑 Tracy profiler
networking
🌕 UDP, then TCP
🌕 basic client/server project
🌕 sent spatially partitioned entity component data
🌕 better dirty ecs component tracking to send only changes
🌗 WebTransport - QUIC, imquic
🌗 message types (reliable, unreliable), payloads, serverless mode
🌗 grid based server-side fog of war
🌑 VPS?
🌑 UDP again?
ecs
🌕 entt
🌕 serializable ECS components for networking/saving
🌕 spatially partitioned collision detection with swept box cast
🌕 linear and angular velocity
🌗 flecs (with codegen)
🌑 more types of colliders, tilemap collider, SDF colliders?
procgen
🌕 rectangular structures with pathways
🌕 noise (perlin, simplex...)
🌕 cellular rooms
🌗 layered subdivison / erosion
🌗 deterministic scaling structure layers
🌗 realtime simulated generation with branching - "biome brush" entities
🌑 cave carving
editor
live preview simulated editor for: graphics audio entity code
🌕 shaders
🌕 ecs
🌗 dsp
🌗 basic export
🌗 seamless noise texture generation
🌑 font file to font SDF texture converter
🌑 whole native editor: view all assets simultaneously, while being separate files, also while being able to change them from the editor. edit shaders, write custom hierarchies to show assets combined into live entity, export with custom values such as points. in general similar direction to Aseprite, but more custom game framework focused
gpu
🌕 OpenGL/GLEW within SDL
🌕 compute shaders
🌕 using textures to store everything (very wrong)
🌕 single shader for everything (also wrong)
🌕 no separate thread (TPS = FPS, also wrong)
🌕 custom text rendering, with font SDF texture
🌕 update/render thread separation + sub-tick interpolation
🌕 frame buffer, start of graphics editor
🌕 tiny C-like language into wasm
🌕 bloom (hate it)
🌗 VFX editor
🌗 WebGPU
🌑 multi-shader pipelines
🌑 geometry shader, tesselation shader and native 3D GPU programming in general
audio
🌕 audio callback
🌕 spectrogram
🌕 spectral synthesis
🌕 digital signal processing
🌗 spatial audio (stereo)
🌗 DSP editor
language
🌕 C, C#, JS, Rust, HLSL, Lua
🌗 C++, GLSL, WGSL, custom DSL for use with ECS
🌑 Java, Jai, Odin, Rust (again)
llm coding
🌕 gpt (browser), gemini (browser), gemini cli (decent amount of time until nerfed), cursor (barely tried), claude (barely tried)
🌕 local models: qwen coder, gemma. using: ollama, aider, LM studio, roocode - not enough VRAM and RAM for it to be smart enough
🌗 codex plus
secret AI opinion: i believe its extremely powerful, but using it correctly is difficult, using it incorrectly can cause serious issues, so basically the same as C++ and GPU programming :) like taming a dragon
ai is what made me realize the importance of technical debt
personal
from: Czechia
age: 22m
career: CEO @ unemployed
job experience: 0 in total less than a year
education: graduation worthless nowadays
first touched C: 3 years ago thats when i believe a software developer is born :)
personal info: sold
friends: only you DM me the word "frog" :)
discord: pyroxdd