Space is Big
Yes it is. Even a single solar system is quite large. Human memory needs some kind of landmark to remember the position of objects in space, and in big empty tracts of space you can't lock onto anything and get lost.
I've looked at 3 solutions to this problem.
- Bookmarks - Allow players to create, edit, manage, and delete custom bookmarks. I decided that to implement this would be very time consuming and require a lot of GDI enhancements.
- Quick-Nav Keys, like the ones I use in testing, where F1 is your home planet, F2 is planet 2, and so on. It really breaks the whole "explore and conquer" thing.
- A Surveyed Planets list - When you encounter a new planet, it is added to a list of known planets, and the camera can be jumped there by clicking the planet in the list.
And I chose 3
The navigation window shows 3 important pieces of information. (If you can't clearly see the information, click the image to see the full sized version).
- Planets you have discovered.
- Whether or not the planet is your home world.
- The current owner of the planet, updated in real time.
And if you click a planet in the list, the camera jumps to it. This solved so many navigation woes. It's simple and intuitive and requires exploration.
My other big task was tracking down why combat slowed down the game so much. A 600% slowdown in an RTS during combat is unacceptable. I went through all the methods and objects involved in maneuvering and firing weapons.
My original suspicion that the for loops themselves were taking longer to execute proved incorrect when I did some profiling.
Remember you can click that to enlarge as well. Notice the ltrim() function was taking an extremely large amount of time to execute. This function is involved in removing leading spaces in module information and was being called every time a weapon was fired.
So, I followed that route and discovered I had been re-initializing thousands of modules per second in a typical 50v50 fight. I modified the code so that it could create the module object for each slot and reuse it. The fights are now nearly fluid! They happened so fast that I actually had to half the clock speed to make them commandable!
Ships also now have energy pools like in EVE Online or SINS where they have to draw energy to activate certain modules. The recharge rate is 10% of the total reservoir size every second. Ship modification slots will be useful for increasing either the recharge rate or reservoir size.