You start with a typical Starcraft match with the following differences:
instead of 8 players per match, you have 1000+ players per match
instead of 1 player per base, there can be 50+ players per base with team melee (shared unit and resource control)
instead of a match lasting 20-40mins, a match lasts many days or months.
instead of a normal sized map, you have a 1000x larger giant map.
instead of having all the players join in the beginning and leave in the end, any player can leave and join any time they want during the match, (much like in an online FPS game)
instead of resource locations disappearing when mined out, resource locations replenish after a while if no player is nearby.
A new player can spawn his own base or he might join an existing base with team melee. If a base has no players online at the moment, the AI controls it.
What technology or game engine would be most suitable for this game?
Is this Starcraft style MMORTS possible?
The big problem with a MMORTS is that you cannot use lockstep networking like traditional RTS games do (as lockstep requires the game to pause if a player is lagging and thus it will make the game unplayable for large playercounts) so your design must take this into account.
AFAIK there is no current gameengine that actually can handle a starcraft style RTS with thousands of players (due to the lockstep problem) so your best bet is to use a fairly standard game engine(any engine that lets you rewrite the network code will work) for the client and then write your own backend.
You could also look at for example HeroEngine, it might be able to get the job done if you keep the unitcount per player low. (but then it wouldn't really be alot like starcraft)
AFAIK there is no current gameengine that actually can handle a starcraft style RTS with thousands of players (due to the lockstep problem) so your best bet is to use a fairly standard game engine(any engine that lets you rewrite the network code will work) for the client and then write your own backend.
You could also look at for example HeroEngine, it might be able to get the job done if you keep the unitcount per player low. (but then it wouldn't really be alot like starcraft)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
The voices in my head may not be real, but they have some good ideas!
If this is specifically about what kind of technology to use, it might be better suited in a different forum than Game Design. Maybe For Beginners?
On the topic of game design, I can see problems with sharing all of the resources and such. It would be easy for players to grief by wasting resources on useless buildings, ordering workers to stop working constantly, and so on. Also, typical players would most likely have a lot of trouble properly communicating in a group of "50+ players per base", and there would probably be a lot of disagreements on which buildings to build and units to train.
For the technology, I can see having thousands of players in a single match as a huge burden on servers. If any player can start a match whenever they please and each match has the potential of lasting days, then eventually there would be a huge amount of matches, each one with buildings and units and so on.
Also, a huge map, "1000x larger" than a typical map in an RTS, would probably call for terribly long loading times.
To combat this, you could consider attempting something more along the lines of an MMORPG system for the map. Instead of having one huge area that you can travel through freely with your units and such, you could split it into many different zones that are individually loaded, like in an instance-based MMORPG such as Guild Wars. This way, rather than loading a huge map when the player joins, they can join and then choose a specific part of the map that they want to go to and load it.
This is just one suggestion out of many possibilities for making a large map work. My point is, just putting the huge map mesh in the game will probably be a bad way of going about it, since the player will have to load the entire thing at once. It's like asking a player to wait while they load the entire world in World of Warcraft before they can start playing.
On the topic of game design, I can see problems with sharing all of the resources and such. It would be easy for players to grief by wasting resources on useless buildings, ordering workers to stop working constantly, and so on. Also, typical players would most likely have a lot of trouble properly communicating in a group of "50+ players per base", and there would probably be a lot of disagreements on which buildings to build and units to train.
For the technology, I can see having thousands of players in a single match as a huge burden on servers. If any player can start a match whenever they please and each match has the potential of lasting days, then eventually there would be a huge amount of matches, each one with buildings and units and so on.
Also, a huge map, "1000x larger" than a typical map in an RTS, would probably call for terribly long loading times.
To combat this, you could consider attempting something more along the lines of an MMORPG system for the map. Instead of having one huge area that you can travel through freely with your units and such, you could split it into many different zones that are individually loaded, like in an instance-based MMORPG such as Guild Wars. This way, rather than loading a huge map when the player joins, they can join and then choose a specific part of the map that they want to go to and load it.
This is just one suggestion out of many possibilities for making a large map work. My point is, just putting the huge map mesh in the game will probably be a bad way of going about it, since the player will have to load the entire thing at once. It's like asking a player to wait while they load the entire world in World of Warcraft before they can start playing.
[twitter]Casey_Hardman[/twitter]
Anything is possible. The question of what engine to use is a technology question, not a game design question, so I'm moving this to For Beginners, where "what engine" is a frequent topic of discussion.
-- Tom Sloper -- sloperama.com
The zone type loading would work great. As for the disagreement between players about what to build, the bases or in other words, factions, could be either private or open. If open, players that are abusive could be kicked out by majority voting. Other than that, it's really up to the faction to come up with a viable strategy, so if they cannot agree, they will lose the game to a faction that works well as a team . I mean team work is essential in many games nowadays.
Perhaps the maximum concurrent online players per faction could be cut down to 8 so that communication works better within the faction. Also, players would not start a match any time they want, but rather join or leave a single persistent match, much like it is done in WoW where you join the Realm or leave the Realm any time you please. A Realm = a Match. This persistent match lasts for many months. Each time you connect, you can join to a different open faction or create a new faction of your own in which case your starting base spawns somewhere on the map, similar to the way in an FPS game you can spawn at many places or join the opposing team if you want to. Alliances between factions would be also possible
As for the lockstep problem, how does WoW solve this in PvP?
Perhaps the maximum concurrent online players per faction could be cut down to 8 so that communication works better within the faction. Also, players would not start a match any time they want, but rather join or leave a single persistent match, much like it is done in WoW where you join the Realm or leave the Realm any time you please. A Realm = a Match. This persistent match lasts for many months. Each time you connect, you can join to a different open faction or create a new faction of your own in which case your starting base spawns somewhere on the map, similar to the way in an FPS game you can spawn at many places or join the opposing team if you want to. Alliances between factions would be also possible
As for the lockstep problem, how does WoW solve this in PvP?
Siamii, apparently your question is about game design (and not technology) after all, so I'm moving this back to Game Design.
-- Tom Sloper -- sloperama.com
As for the lockstep problem, how does WoW solve this in PvP?
WoW is not an RTS so it doesn't use lockstep, Lockstep is primarily used when you have hundreds or even thousands of units per player as it removes the need to send state updates for each unit all the time and a 4 player lockstep RTS with 200 units per player will use pretty much the same amount of bandwidth as one with 200.000 units per player. (the only thing that affects bandwidth usage with a lockstep model is the number of players you have and possibly their APM which is why pretty much all RTS games use such a model).
in WoW each player controls a single character and that character only needs to be sent state updates for things that happen close to it (it doesn't need to know about players on the other side of the map. WoW also cheats quite madly with its PvP and PvE by creating battleground and raid instances which really aren't MMO scale (This design choice avoids one of the harder technical challenges of MMO scale networking (Note the abscence of truly large scale world pvp or pve events in world of warcraft) and makes hosting alot cheaper, (4000 players spread across 100x 40 player instances will use significantly less bandwidth than 4000 players spread across 4x 1000 player instances), it also allows them to do more action heavy combat without lag becoming too much of an issue.
For an MMO "RTS" i would probably go squad based so that each player controls a squad of ~5 units with a JA2 style grid map, the player would only be able to control units in one zone at the time and if he splits the squad (by retreating out of the zone) the AI would take control of the units left behind and try to get them to re-join the player. (This would cut down the amount of state updates the server has to send to each player and even in the worst case where a player has his 5 units spread out within a zone it would be managable bandwidth wise), load balancing then gets easier aswell (The only hard part would be migrating zones at runtime without the players suffering too much but its not an extremely hard problem to solve)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
The voices in my head may not be real, but they have some good ideas!
Regarding the communication of huge amounts of players within the battle: I think at the highest level it should be grafical. IMHO purpose of communication on the battlefield is to act as a one body and to keep informed about the progress.
So there should something like an operational tactical plans segregated in the time steps. Something like a chess board with planed actions for the units. Player should be able to read the position of the units and planned action to it, additinal supports (units supply, special forces, nukes, resources). Based on the rank the player would have visibility of it (ie. special forces only higher ranks), and also amout of time steps forwarding would depend on that (lower rank would feel more to be draged by the situation). I think it is needed due to spying by swaping the faction etc.
Funny thing should be that each player should be able to contribute on the operational plan. Again based on the rank or assigned role the player would have power to set up the action. Proposal on action would not be limited by rank. Lower rank players would have rather power for microing the planned actions (something like second layer under action tiles), or set the actions for the weaker units. Get back to the communication - by right cliking on the set or planned action you can be connected to its "designer" on intercomm.
Just a rough sketch ;-)
So there should something like an operational tactical plans segregated in the time steps. Something like a chess board with planed actions for the units. Player should be able to read the position of the units and planned action to it, additinal supports (units supply, special forces, nukes, resources). Based on the rank the player would have visibility of it (ie. special forces only higher ranks), and also amout of time steps forwarding would depend on that (lower rank would feel more to be draged by the situation). I think it is needed due to spying by swaping the faction etc.
Funny thing should be that each player should be able to contribute on the operational plan. Again based on the rank or assigned role the player would have power to set up the action. Proposal on action would not be limited by rank. Lower rank players would have rather power for microing the planned actions (something like second layer under action tiles), or set the actions for the weaker units. Get back to the communication - by right cliking on the set or planned action you can be connected to its "designer" on intercomm.
Just a rough sketch ;-)
instead of a match lasting 20-40mins, a match lasts many days or months.[/quote]I don't get that part. If it is to be like Starcraft how can you expect someone to sit in front of computer a whole month without sleep or taking break to go to the toliet (going to a toilet during Starcraft match is a veeery bad idea)
Or, if you meant something that can be joined anytime for a while and then you can logout and then can go back, that's a typical MMORPG guild wars system.
In short, do you want a big starcraft or MMORPG but focused more on tactical battle?
Stellar Monarch (4X, turn based, released): GDN forum topic - Twitter - Facebook - YouTube
In short, do you want a big starcraft or MMORPG but focused more on tactical battle?
@Acharis You control units and collect resources just like in starcraft or AoE. The match is persistent just like WoW. Each time you connect, you can choose to create a new base, or join an existing base in team melee mode. I call a base a faction. The point is there is always a few people online for each faction, so the units and resources are managed continuously by some person. So it's not like you play it for one month continuously, although you can lol. You know how in an FPS server there is always some people online, who are the RED team? Well the RED team never has 0 players, unless the server has no players which is very rare if it is a popular server. Think of the RED team as a faction. If there's no players online for a faction, the AI takes over in easy mode until someone joins again.
@Osidlus Perhaps, there could some penalty imposed for switching between factions too fast, aka spying. For example, a time limit. The tactical map would be a great idea, something along the line Company of Heroes has? What do you mean connected to its designer via intercomm? Do you mean voice chat? Also by time steps do you mean turn based RTS where there is a time step every 30 sec or so, and this would be visible to the rank of the player? Also how would players gain rank?
@SimonForsman well you could control only a little squad but then you lose all the other aspect of RTS games, such as resource collection, base planning, macro, which is great fun. Also people could choose do whatever they feel like, so if they want to focus on managing expansions while some other player focuses on harassment, that's a big plus. Managing battles is actually only one part of RTS. Another player could focus on unit production, while another player focuses on micro? I'll look into the way WoW manages player instances as you described. Ideally a player should only know about what is happening to his faction and what is visible on his map that is not covered by the fog of war.
The point is this should still be a fast paced RTS. Bases can be quite extensive with 100+ of expansions and great income, so if one player decides to troll, that still wouldn't have that big of an effect. They could be banned as well. Another thought about unit upgrades, the cost of upgrades could increase exponential and the benefit only logarithmic, so that factions that have been in the game for longer do not have a huge advantage over new factions, but still some.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement