Forum

an idea

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

an idea

Postby r00k » Thu May 19, 2016 5:00 am

On the way home tonight, I was thinking about all these new games with their massive mapping capabilities..
Game studios simply make an open world sandbox mmo; why not?

Yet, I'm thinking, what about a quake-earth. Where everyone connects to the server, at say the north pole, then ventures in a direction of their choice.
Dm, ctf and CA can use teleporters or jump in a lava pool.

But, single-player would be coop pve OR PvP, all on id maps and expansion/custom maps.

If you are on e4m3 and someone walks into the room they could either coop or kill and steal your loot!

Basically turn Quake into a HUGE 1 map interconnected PVP/PVE gameplay.

what do u think?>
r00k
 
Posts: 1108
Joined: Sat Nov 13, 2004 10:39 pm

Re: an idea

Postby Spike » Thu May 19, 2016 6:34 am

if you want the entire quake world loaded on a single seamless server, you're going to NEED some sort of instancing, if only because of QC's float precision and quake's player limits.

fte does actually already have an instancing mechanism, accessed by the 'mapcluster' command. if you use that console command, the server enters a gateway mode. Connecting players are redirected to a subprocess that it starts up as needed. these subprocesses can redirect clients to other subprocesses, which will presumably be running different maps, or they can send each other messages (via the main gateway process).
multiple processes allows you to limit the number of players in any one place without violating the quake protocol too much, however, it still needs some protocol changes, mostly so that the client can more reliably be handed over from one server/instance to another. it also avoids needing to rewrite EVERYTHING to make it thread safe, etc.
ideally you'd extend it to connect additional control nodes together, one per physical host, so that you can spread the instances across multiple machines instead of putting the entire load on a single machine, but I personally never got that far. and so far I've only written any code for it to run in windows, because I'm silly like that.
combine this with worker threads loading the content for the next map in the background, and you should have shorter load times (although tbh if you're not using replacement textures then this is hardly a real concern nowadays).
there's no reason you can't have one subserver running coop and another running deathmatch, of course. however, if you do want coop, one issue is with runes - you'd need to redo the startmap somewhat significantly if you want to be able to visit every map properly.
and yeah, then you start to need to add friends lists (and thus probably logins), and ways to teleport to people, and ways to block trolls.
anyway, I did write the basics for this sort of thing, I just never polished it. here be dragons.
Spike
 
Posts: 2872
Joined: Fri Nov 05, 2004 3:12 am
Location: UK


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest