Advertisement

Simultaneous turn-based MMO, and it's design challenges

Started by November 17, 2006 09:24 PM
5 comments, last by TechnoGoth 18 years, 3 months ago
So yeah, at this point it's just an idea I'm working on, and we all know what they say about ideas. I will surely make some obvious mistakes in this post due to my lack of technical expertise. Please bear with me. I'm planning on freeing up a significant amount of my time to devote to this project, and I'd like a bit of discussion on it. I am also planning on making this a low-tech niche game, so save the necessary MMO newb flames, for now, please. I'm not sure exactly what challenges ping/lag are going to produce, but the idea behind a Simultaneous Turn Based MMO is that the player has a certain small amount of time to designate his action(s) in the world, and then the server will compute the actions of all players and give results. I'm going to use X-Com as an example. Imagine you are playing X-com, but you have command of a single soldier or alien. You have 3 seconds to make your move, and in 2 seconds the server resolves your move compared with the moves of all other participants and displays the carnage. Now imagine the X-Com battlefeild is about the size of a county, with (I hope) skirmishes and operations taking place throughout. Now, the first point I need to make in anticipation of criticism, is that this world will not be as "persistent" as other MMO's are. The game will have numerous short-lived persistent worlds, from the small battle map loaded for 20 players in the lobby, to the 8-hour Saturday games for weekenders, and beyond, possibly. There will be character growth, but your characters will grow over numerous short-lived games. (Although I'm also planning on a "soft" permadeath) My largest problem areas in this design are the chain of command, defense of zones, and troop transport. All of this essentially adds up to players waiting around. If there is an outpost established by the blue team, my plan is to allow higher ranking blue team players to promise exp bonuses to newbs if they defend the site. Higher ranking combat specialists will probably do most of the search and destroy heavy lifting, but the newbs might still be waiting around. Of course, they might also be engaged in building/crafting activities (camp->outpost->base, or something), but the problem is waiting around. The chain of command would include something like high ranking players giving an order to mid ranking players to patrol an area, or take out a certain strategic resource of the enemy. I'm wondering how to handle commitment and numbers. Giving a player the chance to opt out of an assignment might lead to chaos in the chain of command (although a simple "do you accept? Y/N" might help), but I believe something is necessary to ensure that orders are followed, for those who wish to take a command path through the game. Now, if every turn takes 5 seconds, a player who finds himself defending a non-crucial area (assuming he has agreed to defend it), or a crafter who is making non-used goods in an area far from the front lines (in other words, players who are superfluous to the current game), will have to wait for the game to be over (or possibly some kind of secure logout system would be in place?) or be transfered to the front lines. 5 seconds a turn is probably more than most players would bear, even in a high speed troop transport. I guess teleportation might be a solution, but I'd rather avoid it. I was thinking that a player could log in with a second avatar at .5 exp (this is soft permadeath talking) in an area closer to the action, if he/she desired action, but this might break immersion. Related to this, it's hard to understand how to place units in an ongoing game. I had the idea that stronger zones of influence could generate more players (ie, a "camp" can draw 15 players/hour, an "outpost" can draw 30 players/hour), but having a last hour crunch of players could make or break a game. Well, I don't know, I thought I'd think on my keyboard for a bit and ask for input. Thanks.
all around the world today, a kilo is a measure;a kilo is 1000 grams, easy to remember
You might be able to get some idea of how to make a turn-based MMO fun for everybody by checking out the game Bang! Howdy. Not necessarily massive, but it does manage to get turn based gameplay to work out (and be pretty damn fun) in a multiplayer online setting.

Check out my new game Smash and Dash at:

http://www.smashanddashgame.com/

Advertisement
I think this game would work infinitely better if you removed the first "M" in the genre descriptor acronym. Just make it "Multiplayer Online" instead of "Massively Multiplayer..." Because you cut a lot of the problems that you forsee out of the system.

Make it more like running a Counter-Strike server or something. Many small-scale games taking places instead of one huge one that cycles every so many hours.

One of the reasons I see the "massive" part of this breaking the game is the humongous influx of players jumping in and out of the fight. That's madenning. The other problem I see is the utter ineffectuality of killing people off when players can just join the fight a-new.

Other than that, it seems like a perfectly reasonable concept. . . though the details would definitely make or break this design.

-----------------"Building a game is the fine art of crafting an elegant, sophisticated machine and then carefully calculating exactly how to throw explosive, tar-covered wrenches into the machine to botch-up the works."http://www.ishpeck.net/

One way to turn a turn based game into having the appearance of real time, is to fake it.

By this I mean that each 5 seconds (or whatever you designates as the time of a turn) the server has accumulated all the inputs of the players, does the calculations, and then transmits the results to the players. The client software then "interpolates" these results and animates it on the screen. During this time the players are selecting their actions for the next turn and then transmitting them off to the server.

So this would be the procedure:
1) The player selects their action

2) This action data is transmitted to the server

3) The server stores this data until the turn time is expired

4) The server calculates the result of all the player's actions

5) The server sends this data out to all the clients

6) The client performs the animations and displays the results to the player

7) While the results are being animated on the player's computer, the player is selecting their next action.

This is essentially what occurs in a "Real Time" server, except that each time step is much smaller than your 5 second limit.

Now, if every turn takes 5 seconds, a player who finds himself defending a non-crucial area (assuming he has agreed to defend it), or a crafter who is making non-used goods in an area far from the front lines (in other words, players who are superfluous to the current game), will have to wait for the game to be over (or possibly some kind of secure logout system would be in place?) or be transfered to the front lines.

Using the system above, the player would not necessarily perceive the "5 second" turn limit as their character would be animated for the full 5 seconds. In the Neverwinter Night 1 and Baldur's Gate D&D games, this is what occurs. The player can only act (and change their actions) every 6 seconds and there is no real problem that confronts the player.

This means that a player will not see their character just sitting around for 5 seconds, but will see them acting for that full 5 seconds. If the player directs their character to walk the full distance, then they will see them walk for that full 5 seconds. If they board a transport, then that transport can be animated for the full turn and the player would see it as their character moving on the transport as if it was real time.
I'm basing this reply off the system used in the MMORTS Shattered Galaxy.

It sounds to me like you want players to sit around in territories where no one is attacking, just in case they get attacked. I don't think there is any way to make sitting around fun. You said that you would give an exp bonus to new players if they defend a site. If by that you mean "actively repel invaders" then that's cool. If you mean "sit around and wait for someone to attack" then that is not cool. There are a subset of players who would rather play a game than watch their experience get higher.

Shattered galaxy split a world map up into provinces. Each province was a single battle map. Provinces were captured by teams, and became that teams colour on the world map.

Instead of having to sit in a province waiting for it to come under attack, why not use this system:
Team Red desides to attack Team Blue's province on the world map. A countdown then starts. The players on Blue are informed that the province is under attack, and given 30 seconds to click on the province to teleport there if they want to defend it.
All MMORPGS are essentially turn-based. You have discrete time slices that are the basis for a "tic". That being said, something slow is easier.
Advertisement
What about taking an approach of stragtic planning, missions, factions, and ritualized combat?

All player join a faction when they start. The high ranked players in a faction can set stratgic goals, mid ranked player can lead missions, and any player can join a mission. Its during a mission where your turn based xcom style battles take place.

So a general might set a stategic goal of seize control of the junk yard. And divided into series of phases and objectives. Phase one distract as many enemy troops as possible. Phase two destroy the bridge into over city, capture the refinery, and seize control of the generator, phase three capture the junkyard command hub.

Mid ranked players can see the differenet phases and objectives and then create missions to accomplish them. So one player might create a distraction mission at the south gate that is a 12 on 12 battle to take place at 6pm. That mission then appears on the map and both factions have until 6pm to get up to 12 players each to sign up for the mission player not logged, inactive, or engaged in the last 5 mins before battle are automatically booted to give way to last minute player who want to join.

This way you don't have defenders sitting around waiting for someone to possibly attack a spot instead everyone knows where the battles are going to be and when. Defenders wouldn't know the attackers objectives though.

This topic is closed to new replies.

Advertisement