As you mentioned in
An Interesting Discovery About Speed in the General Discussion section
A couple other things I noticed (not 100% sure):
The waiting action appears to wait until the beginning of the next turn and not wait for 100 time units. I'm not sure if this is intended or not, but it is unclear in controls/documentation.
Enemy robots appear to only perform actions at the beginning of turns and not during turns, like the player can. (might be linked to the movement time issue above)
Yeah, this must be an illusory side-effect of the newly discovered one-turn movement issue, since most non-movement actions are intended to take exactly one turn. Robots follow the exact same rules as the player regarding time--the time system just puts everyone in a queue and pushes them back by X time every action they take. There is in fact no relation to the game turns counter at all--the "turn counter" itself is shifted around within that same queue as necessary, always being pushed back by 100 units every time its own "turn" comes around .
Waiting simply pushes the player back in the queue by 100 units, behaving as an action that costs 100 time, so in game turns it could theoretically put you at the beginning, or the end, of the next "turn," but no matter what it will be somewhere in the next turn where you end up.
As you can see, turns are really just a convenient way to talk about the passage of time, but not super strict (with regards to robots) except when talking about effects and events that are intended to happen on a per-turn basis.
When meeting some robots we do often duck back into a better position and wait for them here. One or several turns = 100 time units. It means for instance I hid myself at time 1090, and waited let's say until 1390 (3 full turns), until I notice a walking robot on the threshold. But maybe he's arrived at time 1300, and "lost" 90 unit times "for no reason" before I could play. I will shoot a volley, and he will play at 1400.
My suggestion here would be to implement an overwatch stance (not sure of the english term in the tactical games, I think it is understandable). Instead of the "wait" action, it would be "fire a volley as soon as you see an enemy".
Of course I see it would not be that easy. For instance, what if a robot comes in through a secret door I did not notice ? Or if it is not the robot I was waiting for ? Maybe then it would need to ask the player for a confirmation when the situation occurs (see a new robot). Well that would lengthen the game inappropriately. Or to simplify, the rule could be :
- if the player waits when no enemy robot is visible, then wait 100 time units OR until an enemy shows up before 100 time units (and maybe display a message in the log to emphasize Cogmind waited shorter than 100 because he noticed [Robot Name]
- if the player waits when an enemy is visible, then wait 100 time units OR until other enemies show up before 100 time units (with the same kind of message)
Well since your roguelike turns out to be quite tactical, to say the less, did you think about that kind of gameplay mechanic ?
Thanks