Repository navigation
Changes to Ship Movement
The movement system in The Schemaverse has recently undergone a fairly major change which will hopefully improve the playability of the game overall. The main difference is that the original MOVE() command has been replaced by two new functions: MOVE_SHIPS() and SHIP_COURSE_CONTROL().
SHIP_COURSE_CONTROL(moving_ship_id integer, new_speed integer, new_direction integer, new_destination_x integer, new_destination_y integer)
This will replace the MOVE() calls you once made either manually or within your Fleet Scripts. You can call this command as many times as you would like. It simply sets the parameters that MOVE_SHIPS() will be checking during it's execution.
Like MOVE() this function can be used in a number of ways which include:
SHIP_COURSE_CONTROL(ship_id, speed, NULL, destination_x, desintation_y)
SHIP_COURSE_CONTROL(ship_id, speed, direction, NULL, NULL)
SHIP_COURSE_CONTROL(ship_id, speed, direction, destination_x, destination_y)
In the original system for movement, MOVE() handled all aspects regarding the goal of getting from point a to point b. Unfortunately, this made it difficult to actually give new movement commands to your ships without some manual intervention because the tic.pl script would call MOVE() on all ships before calling all the Fleet Scripts.
Instead of calling MOVE() for all ships, the MOVE_SHIP() function is now called by tic.pl to move all ships once per tic (unless, of course, they are stationary at the moment). You shouldn't need to care about this function at all, you can't even call it as a player. I just thought you would like to know.
A quick summary of improvements
- You can run SHIP_COURSE_CONTROL() as many times as you like
- You will now actually get within range of the destination you specify rather than bouncing around