The Tic Sequence
In The Schemaverse, a Tic is considered as one unit of time. All players have a chance to perform one action per ship, per tic and then the game moves on to the next tic. The Tic script running in the background handles all ship movement progression, executes actions based on a ships state, manages ship health, damage and mining and runs all fleet scripts on your behalf.
A player can always check to see which tic the system is currently on by using a SELECT query to take a look at the tic_seq Sequence.
SELECT last_value FROM tic_seq;
While you may not fully understand each of the steps when you are just a new player, the following is the exact steps that the Schemaverse takes during a full tic.
- Round Control Check - Make sure the game isn't over
- Ship Movement Progression - Move any ship that is currently in motion to their new my_ships.location
- Update location caches - Used by ships_in_range and planets_in_range views to know where enemies and planets are in relation to your ships
- Run Fleet Scripts - Each player created Fleet Script is run on their behalf to progress their fleet
- Run Ship State - Any ship with values in their action ('MINE','ATTACK' or 'REPAIR') and action_target_id columns will execute that action
- Perform Mining - All ships who have run MINE() will compete per planet. Resources are rewarded for all successful prospecting
- Planets Regenerate Fuel - A planet can run out of fuel available during the mining action. This randomly increases the fuel of several planets.
- Commit Ship Health Changes - All damage and repair actions are applied to a ships current_health column
- Destroy Ships - Any ship that has had zero health for 60 tics will explode and is rendered useless to the player
- Next Tic - The tic_seq value is increased by one
- Sleep Mode - The tic script sleeps for one minute, giving players a chance to manually execute queries before it begins again