As you know, speed/distance in Transcendence is reasonably accurate. A laser beam travels at lightspeed, which in the game is about 48 pixels per frame (30 frames per second). Everything else is proportional to that: ships move at ~20% of lightspeed, so about 10 pixels per frame; missiles travel at ~50% of lightspeed, so about 24 pixels per frame.
The problem is that the speed difference between beams and missiles/bullets is too small. If beams were much much faster (say, 10 times faster) we would get more interesting mechanics. Bullets/missiles could be dodged and would be harder to aim, but beams would be faster and more accurate, and would presumably have trade-offs (weaker, etc.).
A larger speed difference would be good for the game, which is why people like creating hit-scan weapons.
There are two obvious problems: (1) all beam weapons would have to be re-balanced; (2) we'd have to abandon the "realism" of speeds in Transcendence.
PROBLEM 1: RE-BALANCING
If we like the idea of faster beam weapons, I think re-balancing will be worth it. It won't happen for the end-of-the-year timeframe, but that's OK. I'm thinking of changing a subset of current beam weapons to the new system. All laser weapons, obviously. But not all particle weapons need to change, nor all ion or positron weapons. Those can have a diversity of speeds (with appropriate trade-offs).
We'll have to test out the new system to get a feel for the proper balance, so it will take time, but I think it will be worth it in the end. I'd love to hear opinions one way or the other.
PROBLEM 2: REALISM
This problem is minor--game mechanics trump realism--but in this case I think we can have both. The trick is to ADD more realism.
Imagine that you're on a ship 1 light-second away from a station. The station fires a laser beam at you at time 0. The beam reaches your ship at time 1 (one second later). Here's the question: When do you (on the ship) first see the station fire the beam? Since it takes 1 second for light to reach your ship from the station, you won't see the beam being fired UNTIL IT HITS YOU. From your perspective, the beam has traveled at INFINITE SPEED (i.e., you had 0 warning time).
You get the same effect for all speeds. For example, imagine the station fires a missile at you at 50% of light-speed. The station fires at time 0. The light from the missile launch reaches your ship 1 second later at time 1. But by this time, the missile is in reality half-way to you. The missile hits you at time 2 (2 seconds after launch). But because you didn't see the missile until 1 second ago, it seems to you that the missile flew AT LIGHTSPEED.
We can derive an equation for how much faster an object appears to be:
Code: Select all
Speed-Factor = (1 / [(1 / S) - 1]) + 1
where S is the speed as a fraction of lightspeed (0.5 = 1/2 lightspeed).
Obviously this equation won't work at lightspeed, but we can cap Speed-Factor at some high-value (e.g., 10) and get the effect we want. Thus implementing this formula means that when you specify that a beam is speed="50" (50% lightspeed) we run it through the formula and get an apparent speed of 100% of lightspeed. Higher speeds give us apparently superluminal speeds.
IMPLEMENTATION DETAILS
From a practical perspective I plan on implementing this by introducing a new weapon type. Most weapons are either type="missile" or type="beam". I'm going to introduce type="continuousBeam". This kind of weapon will be able to draw a solid beam across multiple repeat frames (for example, for the mining laser would end up as a single solid beam instead of four separate line segments).
In addition, I would add the above speed adjustment so that light-speed actually ends up being about 10 times faster.
This would only work on continuousBeam weapons, but I can imagine in the future adding flags to control that behavior separately on all weapon types.
continuousBeam weapons will show up in the next beta so we can try it out. Let me know what you think!