View Issue Details

IDProjectCategoryLast Update
0010650Shattered HavenBug - GameplayFeb 9, 2013 6:02 pm
ReporterGameMaker24 Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Summary0010650: Scripts can process WAIT commands if prerequisite script displays text.
DescriptionToday, 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?
TagsNo tags attached.
Internal WeightMajor Problem

Relationships

related to 0010651 resolvedChris_McElligottPark Scripts can process WAIT commands even while the game is paused. 

Activities

Chris_McElligottPark

Feb 9, 2013 5:47 pm

administrator   ~0030628

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.

Chris_McElligottPark

Feb 9, 2013 5:48 pm

administrator   ~0030629

Sorry about all the confusion this caused, by the way -- that's really annoying, but I'm glad that you discovered it!

GameMaker24

Feb 9, 2013 6:00 pm

manager   ~0030630

It was definitely worth it to me to unravel! Thanks for jumping on that so fast!

Chris_McElligottPark

Feb 9, 2013 6:02 pm

administrator   ~0030631

You bet! If there is anything else critical, let me know!

Issue History

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