Need HELP with my "Server-side Physics Simulation Based Single Procedurally Generated World Single Server Multiplayer Game".

Abid Hasnine Mahi
Fri, 20 Dec 2024 04:37:58 +0000
World Creation

Hi there!

Hope you’re all having a wonderful day. My exams are over and I have a lot of free time; I wanna learn something and maybe implement it in my life. So, I thought to myself, “let’s make my time valuable and useful.” I am very new to Game Dev and Unreal Engine. I have been watching livestreams and videos on Unreal Engine since the launch of 5.0; because I found those things very informative to quite satisfying to watch. Starting as a solo and starting a new game project. As I am new, I need helps, and I mean a TON of helps. And I think that you OG experienced legendary guys can help me make my dream a reality. Anyway, enough talks; let’s get our hands dirty, shall we?

The game will be a peaceful farming simulator containing horror and scary aspects at the night, and players need to survive the whole night, they can’t skip the night like Minecraft whatsoever. Horror aspects will only contain ghosts, scary stuffs and jumpscare events; not zombies. Staying outside at the night is very dangerous but also staying inside their house for a long time is also dangerous. Players around the world will play this game helping & talking to each other and having some fun time to spend with. There will be weekly disaster events which players’ houses need to survive based on their structural design, weight, materials and rigidity. This is where the Physics Simulation comes in. The physics simulation will happen on the server(s) rather than on a player’s device to improve performance.

It will be a single procedurally generated world on a single server or, it’ll be the same single procedurally generated world on multiple servers on the same Earth location for performance balancing with a large playerbase generating terrains at the same time on different sides of the world. As the world will be procedurally generated, it will get bigger and bigger in size as time goes on. So, I want the world to stay on the server along with it’s generation & streaming to be happened on the server as well. So, players can download the game in significantly smaller size containing the assets and, not the entire world. It is like Minecraft. The project file is on the latest version of Unreal Engine and, will be updated as new updates come for Unreal Engine in future.

Questions that you might have:

Q: Why a single server or, multiple servers at the same real world location? Won’t the players face latency issues?
A: It will not be a battle royale fighting type of game. Rather, it’ll be a peaceful slowly paced game. The server(s) will be on the most centered location of the Earth (depending on network latency). So that every player can have a fluid experience. According to my research, the max latency a player living farthest from the server(s) might have is 150 ms.

And if you have a doubt, let me tell you from my experience. I was a Warzone player (left before Season 2 in Black Ops 6) and, I have a 90.02% winrate (no matter I am going for the highest kill challenge or, on a 0 kill challenge), played from Asia on American and Canadian servers on 250-275 ms latency, and it felt almost fluid.

Q: Why a single world for the entire playerbase?
A: I want the players around the Earth play and spend time and have fun together, talking with each other, be humble and helpful to each other.

Questions that I have:

Q: How am I gonna implement world streaming from the server to a client? How can clients have only the assets and not the world?

Q: How am I gonna implement multiple servers for the same single world sync with each other if the playerbase gets larger?

Q: How am I gonna implement Physics Simulation to be happened on the server rather than on a client?

Q: Which Physics Engine should I implement? PhysX or Chaos? What are the differences between them? Is Chaos built on-top of PhysX?

Q: Is my game something that can be possible to implement on Epic or Steam or other online services?

Thank you very much for your patience and valuable time reading this giant thing. You’re welcome for suggestions and ideas for the game.

1 post - 1 participant