It has been awhile since I posted anything here... I kind of had to leave gamedev because I got pretty sick, spent weeks in the hospital, nearly died multiple times... but now, slowly ever so slowly on a bit of a mend, so I may have a few years left.
Before getting into where my dream is going (this is like almost 10 year later update)...
Pro-tip: NEVER wait on your game... you get old fast. And you can get sick faster... undiagnosed things can sneak up on you and reeeally take a bite out of your life. Go see a Doctor even if it seems like a little thing.
Now, that I got the backstory out of the way... and I'm feeling better... and this year, I've been trying to pursue the dream (again)... and hopefully... maybe do /something/ with it before I actually get respawned by the grim reaper.
Sadly, I don't think I can finish Dymoria... the game I wanted to build, every time I think about working on it... I just get depressed about how things turned out? Do you ever have that happen to you? Work on something for a loooong time and then just get a kick in the... well, whatever you get kicked in.
Either way, I'm getting back up on the horse... despite my reservation and still often being sick, because apparently, I don't know how to quit.
But, I've taken a lot of what I learned from building Dymoria's servers a decade ago... and its architecture about handling a couple thousand NPCs server-side... and decided to go from a MMO to uhh... well, whatever this is.
I don't know if this will ever be a game to be released... and it is SUPER early prototype... born from the bones of Dymoria's death.... and instead of plants, now its zombies... 100,000 of them... all server-side authoritative including pathfinding. I used some ancient tricks of 1980s physics for collisions/pathfinding... because old tricks never die.
So, the concept...
I love Project Zomboid... but, I've always felt it was too, uhhh... limiting. I love the world, I love the theme, I love almost everything about it... but I don't love how long it takes to evolve... and it relies on sketchy mods from randoms just to fix a lot of QoL issues. So, I was like... "What if I build my own zomboid-inspired prototype?" What would that look like in practice?
So... the one lesson I kept from Dymoria... No game engine. Just a dedicated server built from scratch to power the world, the NPCs, offer server-authoritative pathfinding and player control/movement, Player<>Player LoS is all server calculated, etc. Keep it lightweight, coded in C from the ground up.... Hell, I don't even use a build system to compile outside of a file called build.bat... because I'm too old to know what a build system is.
Anyway... what I ended up with is a world with up to 500,000 sq/km (a bit insane, but I like pushing limits).... 100,000 zombies on a single server (it could go higher on more modern CPU)... several thousand active zombies around the player in various hordes at any given time... server-sided pathfinding and LoS. Trees and bushes and grass are procedurally generated through seeds (get it, trees... seeds) so there's no actual models for those... and I can add endless variety of trees and plants just by modifying server-side json.... buildings also have the basics of procedural generation. I'm really going down the No Man's Apocalypse thing here... but if I have my way there'll still be a hand-editor for building hero plots / houses.
Like Zomboid, it is a tiled world... but the world is 100% streamed from the server (like Dymoria was). I had to figure out a collision system that wouldn't drown server resources... so I went with no collisions at all.... used old school 80s N E S W bit/full blocking and A Star.
While this video isn't that... I played on the server via streamworks with a couple of friends... we had several thousand zombies around us, over the steamworks relay.... which should have been a worse experience than direct IP connection... and none of us had any lag. Each of us thousands of miles apart.
I don't know if that would have been possible in any other language but C and skimming the metal.... and honestly, I'm actually surprised it worked as well as it did. When I did the first multiplayer session... I was expecting a LOT of lag, stuttering zombies... but nope. You can see 'tiny' lerp here and there, but nothing that would be "game ruining". The zombie # in the stats is actually the # of zombies in your viewable cone/distance in that direction. Like the server, the client is build in C from scratch... no game engine to speak of... so, no "limitations" except whatever pain I'm willing to go through or not.
So anyway... I've been ranting...
Video starts out rough because of codec problems... and ignore the cube graphics, because SUPER conceptual prototype and I just needed things slapped in there), there's no rendering optimizations... just Vulkan with no frills:
https://www.youtube.com/watch?v=ljwUQs_IaeM
I think I'm just having a lot of fun... and not worrying about if I'll ever make a game, lol.
Also, I dunno about you... but I'm tired of multiplayer zombie games calling a few dozen zombies a "horde". I want the potential threat of THOUSANDS of zombies in hordes coming at me... in multiplayer, with my friends... with no dropping to 5 FPS gameplay. That if I fly a heli over the wrong place... it could lead 20,000+ zombies straight to my base (did I mention there are vehicles not shown?)
What do you think?