Hasten said:
It’s meh I don’t expect anyone to actually assist me. ?
OK fair enough. BTW I'm in the same boat as you. Most people who want to do MMORPGs are kind of hard core and have particular ideas so it's hard to find teams. Beyond that, they are also a huge project. If you go to Reddit and post in INAT , there is even an MMORPG bot that will tell you it's a bad idea, LOL!.
So just to start things off, my main goal is a game with a completely open world on a single “server”. That of course requires a lot of terrain so I'm mainly concentrating on procedural generation. To make that a bit easier, I'm making it a SciFi space opera kind of thing to break things up into natural zones with some travel time required. The plan is for there to be a single galaxy to play in. Systems will be pseudo random but with some control. For instance, you will give it a set of equations to generate a planet and some seeds. You will be able to tell it for instance to give me a forest world with some temperature range and factors for mountains and water percentage. It will do the rest. This way I only have to store a small amount of data for each planet. So even a million systems is not unreasonable. Since I'm using smooth voxels, I will be able to support caves and the like, and not just height mapped terrain.
Even storing the fully realized terrain data for a single planet is impossible, however the system I use is a generate and refine as you go system. Each player only has to see what's around him in detail. The rest can be at much lower LOD and much will be over the horizon anyway. As you go into space you will see farther over the horizon of course, but to compensate the LOD of everything will quickly drop. In practice viewing from space takes far lower resources. The backs of planets will be culled. Even the physics terrain (which is separate) is only generated within the players reach, so I can generate it quickly and throw it out as needed. Voxels actually come it handy for this since I can find terrain I need to generate very quickly with a single ray trance every frame. Everything is built in a sparce octree, and cached until a player moves away. Deconstruction is does in the background in a separate thread in order to keep the frame rate up.
Pathing has a similar issue, mainly you can't have the entire pathing mesh of a planet server side, because of space constraints. However, in that case at least you have control over the hardware. So to compensate you can again, similar to physics meshes, generate the paths in front of a mob on a terrain sever only where you need it.
I mainly want this to be a ground-based game with ships primarily focused on travel, so this brings up the issue of how you meet other players. My idea was for players to have spaceships with transponders, so you can see other players, communicate with them and meet up on a planet's surface, after jumping into a system.
As for game play, I'm going for sandbox. There will be specific lore (my current working idea is based on the Silurian hypothesis), races and an overarching story, but I don't want specific quests. I also don't want to make every race/class good at everything. I find that discourages grouping, and basically turns it into a single player game. I want players to need other players. For quests I want players to be able to give other players tasks. These would typically be for something that gets the player something they need, but that they are not suited to getting themselves. Players could also trade tasks.
At this point though, I'm really trying to get the technology down before I go into many game play details. I'm currently working in DirectX 12 and C++. I'm really trying to optimize terrain generation, and sending data down the to GPU. It uses a LOT of threading, but I've gotten it pretty fast. I can go about 100km/h and the LOD will keep up on the surface and there are still some hacks I can do. I'm not going after top end graphics, just reasonably good. I'd rather use the CPU and GPU to handle the scale without a lot of lag.