Smile Game Builder Tutorial #50: Special Edition (Part 1) – Revisiting & Updating Previous Tutorials
Tutorial #50 for Smile Game Builder is up! This "Special Edition" revisits some of my previous tutorials and brings them up-to-date, mostly to take advantage of Common Events.
Incidentally, at 17:28, after "In the next part", is someone else’s voice saying "Yes". It definitely wasn’t me and there were no other sounds or external noises. Did I capture an "anomalous voice" or EVP? What do you think?
In Part 2, I expanded on Automatically Start (Synchronize and Run Repeatedly), which I shortened to Auto-Start Sync, and how it operates in Smile Game Builder.
In this, the final part, I’ll continue with the other auto-run triggers: Triggered Automatically (1 Time Only) and Triggered Automatically (Repeated).
Triggered Automatically (1 Time Only)The purpose of the Triggered Automatically (1 Time Only) (referred to from now on as Auto-Run Once) is to run an event or condition once only on each map. In other words, very time the player enters the map, an Auto-Run Once event will trigger and process its Event Details. While the player is on that map, it won’t trigger again until the next time the map is visited.
A good model for using Auto-Run Once can be found in my tutorial #29: Skyrim Styled Book-Reading. Each page of the books is triggered once only when the left and right keys are pressed to flip between the pages.
When you add Event Sheet Conditions, the Auto-Run Once trigger will only activate once those are true. And you can manually reset them in conjunction with an Auto-Start Sync trigger. They’re reset by default when you leave the map and re-activated when you visit the map again.
To truly activate once only, add another blank sheet with the Local Switch turned ON (not forgetting to place the Event Switch command, of course).
This means that any triggers in events, regardless of their own triggers and conditions, player movement and control, and other things running in the background, will halt until it’s cycled through its Event Details.
By that token, I don’t really consider this as a parallel event trigger, unlike Auto-Run Sync and Auto-Run Once, because it doesn’t run in the background. However, I’ve included it in this article because it was probably intended as such.
And that being said, one very handy use for the Auto-Run Repeat trigger is to display something on-screen where you don’t want anything interfering with it.
An example of this is to display an image (such as displaying the map name) for a set amount of time. A variable can be used in conjunction with a Wait command to add to a timer and then a Variable Box Check for when the variable equals a certain value. Within that branch, a switch can be activated to turn the Auto-Run Repeat trigger OFF.
Using Parallel Events
When you use any of these parallel event triggers, each one serves a specific purpose in SGB.
As a general rule:
Auto-Run Sync is used for constantly checking for changes on the map, notably with variables and, when any of its conditions is true, it triggers other conditions and triggers.
Auto-Run Once is primarily for running something once only, either independently or when certain conditions are true. If these are reset, when those conditions become true again they’ll re-trigger.
Auto-Run Repeat is for when you want semi-permanent loops, disabling all other events and background events until specific conditions are met. Once they are, you can break the loop and continue as normal.
In The Next Articles
The next set of articles, I’ll delve further into variables (more specifically Advanced Variables) and what you can do with them. They will also include how to use and re-purpose them, how to achieve specific tasks using variables, and how to manage variables efficiently.
In Part 1 of this series, I discussed what parallel events are and briefly each of their functions. In this second part, I’ll expand on Automatically Start (Synchronize and Run Repeatedly), which I’ll refer to as Auto-Start Sync from now on.
The Auto-Start Sync TriggerAn Auto-Run Sync trigger starts automatically on the map and runs continuously in the background, processing whatever is in the event’s Event Details. And, while it’s running, other events, actions and triggers can take place as normal.
You’d typically use this when you want to synchronize certain things on maps, such as checking variables, graphics or timers, to name a few things.
Another example use is checking certain keys are pressed, as I did in Tutorial #12: Tips & Tricks (Part 1). Here I featured a routine where you cancel an image by pressing a key.
Using Switches with Auto-Start SyncRather than setting the Auto-Start Sync to trigger right away, you can also activate it using Conditions.
This will then run and synchronize in the background when a switch or other conditions is true. And then somewhere else you can toggle the switch OFF or reset the conditions to disable it.
Note that SGB doesn’t have a "common event", so Auto-Run Sync events need to be placed on each map that you want its Event Details to run synchronously and update from previous maps.
This is particularly useful when you’re using variables to store things like player stats from Character Information or Playtime for timers.
Multiple Auto-Start Sync in Events
While you can have multiple Auto-Start Sync triggers in the same event, bear in mind that order is important!
This is because SGB will go through each sheet to check for its triggers and conditions, and then prioritize any auto-run trigger it encounters. Auto-Run Sync triggers on different sheets will override the previous ones, meaning that you can only technically have one Auto-Run Sync trigger activated in the same event.
Hence using switches or variables to set the conditions under which they run. When these conditions are true, then the sheet on which they apply will take priority over the other sheets until they’re reset or no longer apply.
So, if you’re trying to build a HUD to display stats or the time (as examples), you can either have a single event with conditional auto-run sheets or have multiple one Auto-Run Sync events on each map to guarantee they’re all processed together. The latter is inconvenient and maybe isn’t the best method, but it is the most efficient.
In Part 3
In Part 3, I’ll cover the other two auto-run triggers, Triggered Automatically (1 Time Only) and Triggered Automatically (Repeated).
In this new series, I’m going to discuss parallel events in Smile Game Builder: how they work and their relationships with other events on the maps.
What Is A Parallel Event?A parallel event is any of the three automatic triggers in an event’s Event Details.
These run in the background until one or more conditions becomes true to trigger the sequence of events. Each one is used for different purposes and to launch events at certain times when certain conditions are true.
Each event trigger is codependent on its additional Event Sheet Conditions. If none are set, then the event triggers as soon as the player enters the map.
In this article, I’ll go through the functionality of each one and how they’re used and will continue exploring them in future parts.
Automatically Start (Synchronize and Run Repeatedly)
This is a "true" parallel event in the sense that, as it states, it automatically starts on the map and runs continuously in the background, checking the state of its conditions.One notable use is to check if the player has a certain item and, if so, then trigger something like a message or another event. For reference, I did something like this in Tutorial #5: Working with Conditions (Part 2).
Another use is to check and update variable values, such as modulo operations or player coordinates.
As a general rule, the Automatically Start (Synchronize and Run Repeatedly) doesn’t usually have conditions to trigger it, so as soon as the player enters a new map, it auto-starts and runs in the background until its conditions become false, depending on what it’s used for.
This can be activated with conditions, such as turning a Switch ON, but I’ll cover that in the next part.
Triggered Automatically (1 Time Only)As self-explanatory as it sounds, this triggers an event on the map once only. If it has no Event Sheet Conditions, then it won’t trigger again while you’re on that map, but will recur the next time you visit the map.
One possible use is to trigger a once-only event to display a message giving details on surroundings, personal thoughts or furthering the story line.
If you want the event to trigger just once, without it repeating on subsequent visits to the map, you can toggle it with either a normal Switch or a Local Switch. On a second sheet, its Event Sheet Conditions would have the switch turned ON and with the contents blank.
I’d recommend always using the Local Switch for this, however, as each event can have its own independent Local Switch that doesn’t affect other events. And this way, you can keep normal Switches free for other things.
Triggered Automatically (Repeated)With the Triggered Automatically (Repeated) Start Event, the event runs repeatedly in the background, essentially overriding all other triggers until its conditions become false.
This is because it operates as a loop, where you’d need to add conditions to disable it. While it’s activated, the auto-repeat trigger will halt other events, including player movement.
One notable use for it is to display information, such as the map name or more of the story line, and then use a Switch (normal or local) to disable it after a set amount of time and re-enable other events and player control.
In Part Two
In Part 2 of this article, I’ll expand on the Automatically Start (Synchronize and Run Repeatedly) trigger and go into more detail on how to use it effectively.
And in subsequent parts, I’ll similarly go more in-depth with the other Start Event triggers and their uses.