The trigger manager seems to be fully functional at this point. Now, tutorial #1 needs the triggers to be loaded into the manager. The general progression of the tutorial #1 dialog can be found here: http://abanathie.blogspot.com/2012/07/tutorial-1-dialog.html.
There will be some changes to the progression. First, the instruction to stop and use the mouse scroll button will occur while traveling to the first waypoint. The instruction to "glide" will occur between first and second waypoint. In this blog, I will breakdown the progression of the first tutorial into a trigger manager friendly format.
First, let's take a look at the general process.
The tutorial starts off with the instructor giving the pilot the instruction to turn left (audtt1Start). This dialog takes 14 seconds. After the 14 seconds, the manager needs to load two triggers. The trigger, tgrtt1Start, loads two triggers: audtt1Right and tgrtt1Right. The first is an audio instructing the player to turn right. The second is a trigger load for the next sequence of triggers.
audtt1Start
Time (0)
Audio
audtt1Start* (Instructor - true) - 14 seconds long
tgrtt1Start - Trigger Load
Left Turn (14)
Loads
audtt1Right(Instructor - true) - 5 seconds long
Turn Left (0)
Loads
tgrtt1Right
Turn Right (5)
The next trigger, tgrtt1Right, waits for a turn right trigger. Once it receives that trigger it loads two triggers from the trigger load table. The first, audtt1Up, plays an audio file to turn the fighter upwards. The second is another trigger load that waits for a Turn Up trigger.
tgrtt1Right - Trigger Load
Turn Right (5)
Loads
audtt1Up(Instrutor - true) - 6 seconds long
Turn Right (0)
Loads
tgrtt1Up
Turn Up (6)
The next sequence loads another set of triggers; however, I think I got the process down at this point. It requires me to make a slight adjustment to the trigger load routine. Instead of restricting the trigger load, the trigger load trigger needs to be able to create multiple triggers. Instead of a one to one exchange, a single trigger load can point to multiple triggers. This just makes it a one to many relationship in database terms...
Got it work, briefly. Once I got it to work, I decided to create another trigger that occured once an audio file finished. I incorporated this trigger into the manager and quickly broke the manager again. So...
ReplyDeleteI'll have to figure out how to incorporate it into the flow...
Here's the my train of thought...
Audio to turn left
Wait for completion of audio file
Load a turn left trigger
Play turn right audio
Wait for the audio to complete
Load a turn right trigger
Play turn up audio
Wait for the audio to complete playing
Load a turn up trigger
...
So, the general format is Wait, Load and Play. Let's see if that helps me get this done...
Actually, it was a simple...
ReplyDeleteLoad two triggers
Play audio
Wait for audio to complete
Load two triggers...
The trigger system seems to be working... That makes me happy.