Turn Ordering Complete
This feature is an example of one of the advantages to rewriting a game.
In the Game Maker version, I hardly knew what I was doing when I started writing the turn controller. By the time I had realized what I SHOULD have done, it was too late to actually DO it.
But now it’s so much easier to work with.
I will list the ways.
-The player actor is now no longer treated as a special interrupt case by the turn controller. Which cleans up the code quite nicely.
-Any actor is now capable of pausing the simulation for its turn if it needs to. Turns must be explicitly ended by the actor itself, not the turn controller.
-There is now the feasibility of controlling multiple characters (or multiplayer?!) by simply adding another player actor on the scene. There’s no need for any other setup conditions.
-A pointer to the actor who’s turn it is is now available.
-The “simulations-per-frame” (game speed) variable is more optimized. Dealing ONLY in game turns, and not any other frame-by-frame logic events, like lighting updates and key presses.
-And to top it all off, turn delays/cooldowns for various actions and default game simulation speed are both increased in order to make the timing more precise.