This week was dominated by work on a relatively boring but nonetheless important topic: accounting. By that I mean that the game needs to keep track of the assets a player owns and of values that enter or leave their company. This data can be used for all kinds of purposes, like simply showing a player how well they are doing or generating high scores. But maybe the most important reason to have this data is to be able to generate a “player score” that will tell other players something about how reliable a particular player probably is. To do this, a whole range of indicators is compiled from different data sources, including of course the current and historic data from the newly added accounting system. Work on the actual player score algorithm hasn’t started yet, though, as I need to clean up a few things around the accounting system first and I have some unrelated interface work coming up.
This week I started on detailing the slower than light (STL) travel. First I looked into how real rocket motors work and derived a simple system that works with some of the parameters of the real thing. Our ships will now have STL engines that have a certain thrust level and a fuel flow (consumption) measured in units per second. These factors will give the ships a maximum burn rate that is being used to accelerate and decelerate on a coures to another planet. Acceleration will is limited by 10 time the earth’s gravitation (so the crew and passengers won’t get squished ;)). This leads to two interesting effects:
- For a ship with a given mass it makes absolutely no sense to add more STL engines after a certain point, since the acceleration is limited. So there will be no ships that are arbitrarily fast. If players want faster ships, they’ll have to reduce the mass of the ship.
- On very short flights ships with a low acceleration might not reach their maximum speed, since the time to accelerate is too short and deceleration begins halfway to the target planet.
The STL engines and all the mechanics around it will probably keep me busy one or two more weeks.