MHeasell / rwe

Robot War Engine - Real-time strategy game engine compatible with Total Annihilation
https://www.robotwarengine.com/
GNU General Public License v3.0
115 stars 16 forks source link

Implement + and - game speed controls #175

Open KevinHake opened 4 months ago

KevinHake commented 4 months ago

OTA supports integer game speed settings between -10 and +10. According to Axle1975 in the TAU discord, the TA replayer (by Yankspankers) used: simulation frames per second = 30 * 10 ^ (speed_setting/10), and OTA might have been rate = 1 + n/10 so n=10 is x2 and n=-10 is x0. (Need to compare with the original)

0 is the default speed, representing "normal" game speed of 30 simulation frames per second.

Interesting side note - people have modded the exe before to increase the speed range. We'll stick with -10 to +10.

OTA also displays the game speed setting when the + or - button is pressed, in the on-screen text area (which also needs implementing), where messages between players appear.

OTA also has some de-sync issues that can happen where game speed/pause commands sometimes are missed by some players. We should probably have a mechanism to prevent that.