View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0010650 | Shattered Haven | Bug - Gameplay | Feb 9, 2013 5:05 pm | Feb 9, 2013 6:02 pm | |
Reporter | GameMaker24 | Assigned To | Chris_McElligottPark | ||
Status | resolved | Resolution | fixed | ||
Summary | 0010650: Scripts can process WAIT commands if prerequisite script displays text. | ||||
Description | Today, I've adjusted much of the MOVEFG speeds to make sense again, now that my FPS aren't hindered by the bug that was causing grays to wiggle while pathfinding. While working on this however, I started questioning my own memory as to how much WAIT time I had set to ZombieMom at 001-C versus the timer for Pierce jumping forward from his tree cover. I would tinker with the WAIT and MOVEFG speeds but continue to see unexpected, slightly varied orchestration among all the Grays and the three humans. Eventually, I happened to leave the last text prompt open for a long time; when I dismissed it, all horde members and children wait times were non-existent -- they all played their parts simultaneously! All of the "8-series" scripts (one for each moving FG) depend on the completion of any one of the three "7-series" scripts (gate opens for 1P-M, 1P-F, or 2P) before running. All three of the latter contain a TEXTBOT for Willis' parting message. (TextRunForYourLife) Once that is displayed, there are no other lines in that script, so the "8-series" scripts are free to start evaluating their WAIT delays; hence the problem. While writing this, I have realized that I could solve this specific scenario by giving Willis one more FG movement in that script after his message closes. However, I wonder if you can prevent a script from being finished until its text is closed? | ||||
Tags | No tags attached. | ||||
Internal Weight | Major Problem | ||||
related to | 0010651 | resolved | Chris_McElligottPark | Scripts can process WAIT commands even while the game is paused. |
|
Thanks! New compiled version 694. * Completely reworked how the WAIT command works internally. Previously it was marking the timestamp of when the wait command started, and then in the future would check to see if the current timestamp was more than the requested number of milliseconds into the future. This caused issues with pausing, text popups, and similar. ** Now it instead does an accumulative per-frame delta-t approach, which is more modern and more robust -- and consistent with the rest of this game and our other titles. The upshot is that when the branch of code doesn't get called (due to it being paused or blocked by text or whatever) the game doesn't "keep counting" like it used to. It wasn't actually counting before, it was just looking at the start point and end point, which was the problem. |
|
Sorry about all the confusion this caused, by the way -- that's really annoying, but I'm glad that you discovered it! |
|
It was definitely worth it to me to unravel! Thanks for jumping on that so fast! |
|
You bet! If there is anything else critical, let me know! |
Date Modified | Username | Field | Change |
---|---|---|---|
Feb 9, 2013 5:05 pm | GameMaker24 | New Issue | |
Feb 9, 2013 5:05 pm | GameMaker24 | Status | new => assigned |
Feb 9, 2013 5:05 pm | GameMaker24 | Assigned To | => Chris_McElligottPark |
Feb 9, 2013 5:37 pm | GameMaker24 | Relationship added | related to 0010651 |
Feb 9, 2013 5:47 pm | Chris_McElligottPark | Note Added: 0030628 | |
Feb 9, 2013 5:47 pm | Chris_McElligottPark | Status | assigned => resolved |
Feb 9, 2013 5:47 pm | Chris_McElligottPark | Resolution | open => fixed |
Feb 9, 2013 5:48 pm | Chris_McElligottPark | Note Added: 0030629 | |
Feb 9, 2013 6:00 pm | GameMaker24 | Note Added: 0030630 | |
Feb 9, 2013 6:02 pm | Chris_McElligottPark | Note Added: 0030631 |