Thursday, July 14, 2011

Relativisitic Physics In Games

Lately I have been active on again, and I was going through my old posts and I came across these, from 2005, that deal with relativistic physics in games. On the subject of the passing of time, I find this window in my 22 year old self rather interesting. Maybe one day I will expand these posts into a complete paper or maybe even a game.

Applied Time Dilation and Hyper Realistic Space Simulation Part 1:

Each body (planets and ships) in motion would have a dilated sense of time relative to the velocity of the body in motion. Time dilation should be calculated relative to a zero velocity clock for simplicities sake.

RT ... time indicated by the spaceship clock
t ... time already elapsed on the 0 Velocity clock
v ... Speed of the body in motion relative to 0 velocity
c ... speed of light = 1 (we are working in units of light years)

RT = t * (1- (v^2 / c^2)) ^ .5

Game Application of Time Dilation

A light year is the distance that light travels over a period of a single earth year. Production and resource gathering would be most effective at locations with little or no velocity because in these locations time would elapse substantially faster relative to locations where velocity is greater such as in a very fast low orbit like the core of the galaxy or around a massive black hole or even traveling at incredible speeds (IE don’t conduct time sensitive activities in locations traveling at high speeds unless of course you want them to occur slowly.)

As a spaceship increases it velocity it also increases the dilation of time. For example a spaceship traveling near the speed of light would take millions of years relative to earth time to travel to another galaxy, yet for the crew aboard the spaceship the trip would be nearly instantaneous.

What kind of unique situations would removing a time constant impose on a game? For the sake of playability a year will be compressed to a minute.

1. Instant communication could be made impossible. Instead, a chat message being sent to a player must travel at the speed of light. For example a player located 20 light years away would not receive the message for 20 minutes. Or your spaceship crews would not receive orders for 20 minutes assuming they are not moving, and if they are moving away from you the messages may take much longer.

2. The characters and equipment in the game ages relative to its time dilation. Say a spaceship and crew has an effective life span of 40 years (40 minutes at 0 velocity). That spaceship moving at 75% the speed of light would be viable for 160 years relative to the 0 velocity environment. So that space ship would in effect have an effective range of 160 light years (various game modifiers and ship upgrades could substantially increase the viability window, such as crew hibernation facilities and ship preservation methods).

For example, say an Enemy fleet is coming to attack earth; the fleet departs Alpha Centari (4 light years distance from earth) the fleet is traveling at 75% the speed of light, the fleet will arrive in 5 years (5 minutes) your long range passive sensors (telescopes) detect the fleet leaving Alpha Centari 4 minutes after they have already left, they will arrive in 1 minute. The attackers will have only aged 1 year.

3. Combat in a realistic space combat environment would be vary alien and vary dry in comparison to an arcade space shooter. Because time has been compressed from 1 year to 1 minute for playabilities sake an hour in a 0 velocity state would be only 0.00684 seconds long. There for combat must be automated, as it would be in a real space war. Because of CPU limitations we must fake the combat with some sort of combat simulator algorithm. The weapons of space combat would most likely be Energy weapons such as lasers and nuclear weapons which can be used at incredible range. Things like bullets and conventional explosives are uneconomical.

4. An argument for faster then light speeds can be made. There are a number of conflicting issues with the speed of light. Say our above mentioned spaceship shoots a laser beam at a spaceship that is on an interception course, both spaceships will measure the speed of the laser beam to be traveling at light speed. Instead of vA + vB + C = velocity. Logically it would appear that space is warping to compensate the speed at which light travels.

5. War would nearly always be fought with obsolete equipment. Military operations must also be conducted under a total commitment policy. Enemy ships traveling at less then the speed of light can be detected long before there arrival especially at if they are moving great distances, entire fleets of ships may be constructed after detection and before arrival to combat the invasion force. Nuclear weapons appear to be the only viable weapon.

Any Feedback would be greatly appreciated.

and the second part,

Applied Time Dilation and Hyper Realistic Space Simulation Part 2:

The application of time dilation could not be applied as time would be applied to games normally. A relativistic game could never be an action game. For the application of the game to work the player must “transcend time”, or in other words not be bound to a clock. Only the players ships and in game characters would be affected by time dilation but the player can only be notified of occurrences through notification by his employed personnel (ship captains, planetary outposts, space stations…) but the player must be at an in game location otherwise there would be no way to calculate out how the player receives information.

An attacking force must travel as close to the speed of light as possible. As described in my above post the attack force on rout from Alpha Centari to earth will be detected an earth year before the force arrives, giving the earthlings an entire year to construct a comparable military force. Assuming the Earthlings and the residents of alpha Centari have mirrored rate of technological development and are on par with one another, an attacking force from either star system will be obsolete by the time of its arrival. At greater distances the situation will only get worse for the attacking force. The player who dispatched the attacking force from Alpha Centari will not even know of the results of the battle for 9 years after dispatching his task force. Assuming that the attack force wins the battle for earth, they must wait for 8 years after the battle before receiving instructions from Alpha Centari. 14 years have now elapsed before that task force receives new orders or 14 minutes as applied in my above post, we must also not forget that the task force is also 14 years obsolete and that in most instances the ships if damaged could not come home for repair nor would we want to repair 14 year old ships that by the time they could get home they would be 21 years old.

As for defensive operations it would be uneconomical to maintain a defensive fleet or any sort of defensive systems at all. It could be hundreds if not thousands of years between fleet engagements at a particular location, what is a thousand year old battle cruiser good for, even if maintained, maintenance is expensive and the cruiser remains obsolete. A player must instead hope that an enemy fleet is detected prior to its arrival. This makes attack trajectories from deep space or remote locations very appealing, players only have limited observation capabilities.

For the application of time dilation to the game engine, every observable event must be transmitted to every player. That event must then have a predicted elapse time for ship and planet. If any of the spaceships change their frame of reference (direction or velocity) the prediction must be updated and then the already elapsed time subtracted from the end notification result. We must also not forget that the number of observable star system is very limited in a galaxy of over a million stars; a player may change the systems and stars that he is tracking, the player will only be able to track what he can with available resources. This creates a variable definition of observable; the player must be looking at the star system in question at exactly the time the results of the battle will be received. It may still be a processing and storage nightmare but it very manageable, and in fact the only nightmare could be the resources required by the server if the server wish’s to fight cheaters by managing all notifications. Even then, 2048mb’s of ram is an incredible amount of ram and hard drive space is virtually unlimited.

Application of the simulation could not be an inch for inch simulation it would instead have to be an event driven engine. Once a ship is launched it will go into sleep mode until it has achieved its designated time elapse (relative to the 0 velocity clock) required for it to reach its destination. So that ship would not have any processing until its wake up event was triggered from say a master list of time elapse triggers or unless it was intercepted or received a message from a player, and any of those events would also be listed in the time elapse event trigger. The applied process would be entirely automated and a tad resource hungry, but hard drive speed is more then acceptable for its storage. Events approaching the trigger point could even be moved into ram.

This situation leaves us with one kind of game, a unique strategy game where fleets are designed and constructed for a single battle. The fuel required to accelerate the above fleet to 75% the speed of light is mirrored by the amount of fuel required to slow the fleet down and then the total is doubled if fleet wishes to return home. So a fleet is essentially a fire and forget weapon. So why not just use nuclear projectiles they don’t need to slow down or return home

The Twin Paradox is unfounded.

and the third part,

Applied Time Dilation and Hyper Realistic Space Simulation Part 3:

I completely agree, especially since a player would have to script all foreseen contingencies because after the ships have departed you will no longer be able to control your task force in real time unless you accompany them.

Crew hibernation technologies would allow your crew and characters to sleep when not in use, thus extending their life spans to hundreds of thousands or even millions of years. A million years in a year to minute scale is nearly 12 days. For example say, you checked out the available crew recruits at every planet you visited you could over a series of weeks or months select a premium crew from the virtually unlimited worlds available for you to travel to. A better crew could supply bonuses to the speed and efficiency of the various actives conducted by the ship in question.

I have also been rethinking the issue of obsolesces. There are a number of ways that could be invented (at least for the games sake) so that a ship could be preserved over incredibly long periods. With a ship capable of reaching 75% of the speed of light it would be capable of throwing projectiles through planets, in itself becoming a world destroyer. Planetary defense could also become viable with preservation technology.

The resources required to build ships capable of these extreme speeds would be immense. The facilities and elements required to build a ship of this type immense. A massive technology trade for manufactured equipment could also evolve. The ship building system could require hundreds of different items that your macro controlled crew members would scrounge the galaxy for.

Players would also have the viable option of running. A galaxy containing a million star systems would allow players to disappear.

What would the game play of an MMO of this type be like?

1. Encountering an individual player once and only once.
2. Players chasing each other from star system to star system in an endless cat and mouse game.
3. Empire building.
4. Empire destroying.
5. Stagnant technology for players who reach the peak.
6. Stagnant military tactics
7. Heavy use of the macro system included with the game, creating automated war and automated empire building.
8. Many server operated AI players bent on single activities.
9. Massive fleet engagements being resolved instantly or no fleets at all.
10. Some location where people conduct crew ship and resource trading.
11. Very deliberate and calculated game play, mistakes could take hours to resolve.

and part four,

Interstellar war is pointless, and I doubt any zealotry would be powerful enough hold sway over the people for 1000’s of years. Zealotry can last a life time, and for a crew that is in hibernation between targets, zealotry can last a million years.

Two kinds of people fight interstellar war, the first kind are timeless people who are only awake during ship refits, resource collection and during battle, and these people could either be fleeing other timeless people in and endless war of cat and mouse. The second kind are the kind of people who are playing for glory and mmo rankings.

Resources are not unlimited in a situation where your ship is massive and in a game where the economics system requires incredibly complex equipment to build your ship. If equipment is relatively timeless then trade is all right.

Nano’s can only do so much, I find it difficult to believe nano’s could make atoms. If they could resource market economics would be void and only technology would be traded.

People on planets will have no need for interstellar war, but in time of desperate need such as the detection of an incoming fleet, they will militarize very quickly, they horrible weapons will be built and crews will be trained to control this equipment. The war ends, and you win. Dismantle the fleet and risk having to build another? Keep the fleet orbiting your planet and risk a military coup that could end in the destruction of your planet? Or send your victorious fleet where the enemy came from and make sure you never have to deal with them again.

Remember a military can take whatever it needs from their defeated enemys.

Any civilian society would not want to be tangled with a military project spanning thousands of years, they would make the mission a fire and forget mission. When the warrior aboard awake they will be fighting for the world they left behind not the world of the present.

Your military personnel will remain stable by virtue of remaining frozen during the time between deployment and combat, they will awake in the state the were deployed in.

The subject of errors taking hours to resolve, I am at a lost to resolve the impulsiveness of people. Instead players should attempt to take advantage of the inaccurate deployment.

And why not, I uploaded this video to youtube July 21st 2010, Nearly a Year Ago. I didn't feel like posting it on the website at the time, but considering the circumstances of this post, now seems like as good a time as any.

No comments: