Advertisement

timescale in realtime multiplayer strategy (10sec=1 month?)

Started by May 07, 2012 06:15 AM
14 comments, last by Platinum_Dragon 12 years, 8 months ago
Find a copy of Lords of the Realm III. They dealt with a similar issue.

From what I read, it didn't work well.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
If you say 10 seconds = 1 day

That's reasonable for both, because then if a building takes a month that's roughly five minutes, most strategy games require you to wait a while for a building to be complete and I would say five minutes is a reasonable wait.
Advertisement
Most people just go for "as long/fast as the story demands". Babylon 5 writers coined it so they didn't need to answer questions.
If combat is the major problem then combat events could be encapsulated to essentially allow them to take place outside of time. (Kind of like the US Govt. has items that are "off-budget. I should try that. But I digress.)

The way I see it working is the player decides to allow each combat encounter to run on "auto" or actively participate. All combat encounters take the same amount of time (a week, month, whatever is appropriate. For the active encounters everything outside of that encounter is paused, allowing the player however much time as needed for that particular encounter.
Check out my game design blog!

If combat is the major problem then combat events could be encapsulated to essentially allow them to take place outside of time. (Kind of like the US Govt. has items that are "off-budget. I should try that. But I digress.)

The way I see it working is the player decides to allow each combat encounter to run on "auto" or actively participate. All combat encounters take the same amount of time (a week, month, whatever is appropriate. For the active encounters everything outside of that encounter is paused, allowing the player however much time as needed for that particular encounter.


That's how battles run in the Mount and Blade games. While you're in the battle the outside world is paused. I tried doing a simple space combat game where the outside world ran while the player was still in a battle. The result was pretty frustrating, enemy fleets that weren't even in the same star system when the battle started would show up and totally overwhelm you before you could finish off the fleet you attacked.


[quote name='ShawnCowles']
[quote name='davekuyk']
....If combat is the major problem then combat events could be encapsulated to essentially allow them to take place outside of time....For the active encounters everything outside of that encounter is paused, allowing the player however much time as needed for that particular encounter....

....While you're in the battle the outside world is paused....
[/quote]

Your answer did exactly what the Original Poster did not want to do. Hey, the dilemma is always there. If you want to synchronize time, then either pause the overworld or slow it down. Better to just slow down the overall game speed and have a constant game speed regardless if players are in battle or not. Why do people like time skipping so much?

[quote name='lithos']
"as long/fast as the story demands"
[/quote]
Games are not stories because of time synchornization. It's always the problem with multiplayer games. Either the overworld pause or slow down the the time scale of the battle. Hey, at least slowing down the the time scale of battle is better than pausing the game right? NO! because the "story" is too slow for the players that are not in battle, and thus plot is never as fast as the story demands for the players that are not participating in battle. This is the difficulty in having a shared story. Everybody wants to timeskip over the parts that they are not involved in.

I give three solutions: When a player is in battle, everyone must suffer by having the (1) game slow down or (2) paused. OR (3) constant time scale (you could make sure the game is slow in the first place so that it does not matter whether the player is in battle or not.)

  1. slow down the overworld for all other players
  2. [s]pause the game for all other players <- what you don't want to do[/s]
  3. constant time scale, this requires the game time to be slow enough

But then, it's really only 2 solution since you don't want to pause the game as a valid solution.

Real life siege battles could last more than two years, so whatever solution you will make will need to accomodate these type of situations as well. That's the problem with "Siao's" solution of "instantiated." It cannot accomodate siege battles.

My choice would be constant time. However, any solution to a multiplayer game will get rid of any players that want to have the plot as fast as the story demand.

This (timescale issue) is also one of the reason why single player games are better than multiplayer games.
I use QueryPerformanceFrequency(), and the result averages to 8 nanoseconds or about 13 cpu cycles (1.66GHz CPU). Is that reasonable?
I though that the assembly equivalent to accessing unaligned data would be something similar to this order:

  • move
  • mask
  • shift
  • move
  • mask
  • shift
  • or

    So it seems reasonable to say that it takes 14 cycles for unaligned data since we'll have to do the series of instructions once to access and once to assign?

This topic is closed to new replies.

Advertisement