7 days to die is a long running alpha stage game starting out with devs who had immense passion and ended up at this point of just being stale. They continue to push updates that don’t really address performance bottlenecks that honestly has finally left most the community in a mindset such that we are wanting a remake or spiritual successor of this game at least mechanically, whilst reaching the performance and AI aspirations the devs had long ago but at this point are just unable to fulfill. It’s worth looking up videos of this game and doing some research to gather a solid understanding of what it’s trying to achieve but i’ll go ahead and express the rough design below.
*Destructible voxel based terrain, using a primitive form of marching cube voxels that are more diamond than cubes honestly. Which includes “structural integrity” (should watch a video on the mechanics it’s long winded) which is a complicated but somewhat realistic system enabling players to get punished for building structurally unsound mines/buildings.
*Monsters destroy anything and everything in their path to reach the player to attack them. Potentially collapsing structures along the way.
*Full building system tied to the voxel backend and what used to be entertaining to blow apart with explosives.
*Basic crafting system akin to rust.
*Random gen worlds.
*Honestly very decent mod support.
*Multiplayer support. Here’s the tricky thing. The game’s built originally as a singleplayer game and the devs have no experience making scalable networking backends. And thus. We have immense dysinc, client side determinism, and runtime/bandwidth overhead issues. Servers literally can’t host more than 38 ish players i believe without immense dips.
It’s weird the game used to run tolerably on an apu quad core with no dedicated GPU. But over time the rickety foundation shows as new things continue to break and slow down.
I’d like to spearhead a community opensource project that’s a spiritual successor to this game and would like to hear opinions on unreal’s scalability and if it would perhaps match the project requirements. I’d like to support at least 100 players in any given server with 50 to 100 individual zeds/monsters per player. Supporting even more players or zeds with proper multithreading and something DOD akin to ECS would be the dream. Unsure yet as to if we want low poly meshes or high poly. I’ve tried shiving a custom ECS implementation in UE4 in the past and while it works it’s slightly a headache and doesn’t get around the Actor pattern that seems to cause fair overhead overall.
Would UE5 be ideal? If not what about unigine since that seems to have a low level flexible API that works wonders with a custom ECS lib, could do this in unity with their DOTS framework that 7d2d doesn’t seem to be using sadly. Only other option i can think of is making a custom engine which while i’m experienced in doing this i’m not experienced with 3D gfx programming yet. Networking i’m expecting to find someone or some material that’ll help get things scalable and that’s one of the first things to get done. In other words there’s a lot of backend work that needs to be done and am wondering the exact tradeoffs with these different approaches if anyone here’s done decently runtime heavy projects as of yet.