Hi,
I've been exploring Quest a little lately, and I've been not only enjoying it but am impressed with the programmng design behind it. I've made forays testing a few things, and I ran into two issues, which the attached file shows. It's the crude beginning of a taxi simulation. Perhaps this is pushing some boundaries, but I wanted to ask about them.
You can see both by running the game, hitting "In" to go into the Taxi, and then hit the "up" arrow to begin moving forward. It starts a timer which moves the taxi to the next step in the track every X seconds (depending on speed).
1) I wanted some status items to appear only when the player was actually in the taxi. There is a function called SetTaxiStatus which is called at appropriate times, and to keep it simple, it always removes the status items in question (Location and Speed) and then adds them back in as needed. The way it is coded right now, despite the fact that I'm always adding the status items in the same order, they consistently swap positions in the output every time they're set. I was able to "fix" the problem by reversing the order in which the Location and Speed items were *removed* from the dictionary. (You can try this by simply moving the "Remove from dictionary" for Speed up above the Location remove in the first "Then" in SetTaxiStatus.) I assume this is an artifact of how the dictionary orders its keys.
I mostly wanted to mention this in case anyone else runs into this problem and doesn't know how to work around it.
2) The second item has to do with timers. If you sit and watch the game, it will move along happily from place to place. However, if you enter commands, it seems to reset the timer on each command, even if it's just hitting <l> <enter> over and over to do a look. So the timer never kicks off if input is happening. I assume this is by design, but I wanted to ask if there was any way to work around this, so that timers will kick off no matter what the user does.
Thanks!
- Jay