PowerQuest 0.20.6
Loading...
Searching...
No Matches
Glossary of PowerQuest Terms

Here's a glossary of PowerQuest specific terms you'll see being used.


Background / BG

The term "Background" (often shortened to BG) is used for script actions that do NOT block player actions. The player can continue to play while these things happen in the Background.

Background is the opposite of "Blocking", which takes control away from the player.

A normal function call in unity (that does not have an IEnumerator return type, or require yield return before it) can be considered a background function. It does not block the main script.

A lot of function names end with BG (or have a variant ending with BG) to show that they happen in the background. Eg: E.FadeOutBG() C.Barney.SayBG("Hi") Plr.WalkToBG(12,34)

Others are less obvious (sorry!) Eg. OnEnter() and Update() functions are Background functions, while OnEnterAfterFade is a blocking function.

NB: You can NOT call a Blocking function from a BG function. Wierd things will happen!

Blocking

Blocking is the term used for any command or function that "blocks" other functions until it is complete. In adventure games this is very useful, since you usually want each action to happen one after the other. For example, you might want Dave to walk over to Barney, then say "hi", then have Barney reply "hi" back. You wouldn't want all of those actions to happen at the same time, so each of those functions (WalkTo and Say) is "Blocking".

Blocking sequences take control away from the player (with the excpetion of clicking to skip dialogue). The mouse cursor might disappear, or change to an hourglass to show this.

If an interaction doesn't cause any "blocking" functions to start, it is considered "unhandled", and the appropriate "Unhandled event" will be used. (Though this can be prevented with the Consume keyword).

Scripting:

Blocking functions can NOT be called from non-blocking ones. For example, you can't call E.Wait(2); in the Update() function. (But you can from the UpdateBlocking() function)

It's sometimes not obvious which functions are Blocking, but in c# they are the ones that return Coroutine or an IEnumerator.

To call a blocking function in c#, you have to use yield return. Eg. yield return C.Plr.WalkTo(C.Barney);. Though this is done for you in the Quest Script Editor.

Cutscene

In most games, any blocking sequence might be referred to as a "cutscene". But in an adventure it's a bit different (since almost every interaction results in one of these).

So a "Cutscene" in PowerQuest is any part of a Blocking Sequence between calls to E.StartCutscene(); and E.EndCutscene();.

All these do is flag that section of code as being skippable by pressing ESC (or whatever the skip cutscene button is set to).

Interaction

Anything the player interacts with that causes a script to run may be referred to as an "Interaction".

If an interaction doesn't cause any "blocking" functions to start, it is considered "unhandled", and the appropriate "Unhandled event" will be used. (Though this can be prevented with the Consume keyword)

Quest Object

Quest Object is a general term nickname for the elements of an "adventure game" that make up a PowerQuest game.

Rooms, Characters, Inventory Items, Hotspots, Props, Regions, Dialog Trees, and PowerQuest Guis are all Quest Objects.

Quest objects all have a Quest Script associated with them.

Quest Script

Sometimes you'll see code being refered to as a "Quest Script".

Quest Scripts are any scripts that open in the Quest Script editor (usually by clicking a button in the PowerQuest window in unity).

Examples of Quest Scripts include GlobalScript, your Room Scripts, Character scripts, Dialog Tree scripts, etc etc.

PowerQuest uses c# scripting language, but with certain shortcuts available to make it easier to make adventure games. These are only available in "Quest Scripts". If you make a new Unity component for example, some "quest script" functions won't be available.

Sequence / Blocking Sequence / Background Sequence

A Sequence in PQ is any set of actions that are performed one after another. Most scripts you write in PQ will be a "sequence". Eg. "Look at well" runs a sequence where the player first Faces the well, then Says a line "well well well".

Blocking Sequences

Usually these are a "Blocking Sequence", meaning the player has to wait for the sequence to complete. Wherever control is taken away from the player, this is because a "Blocking Sequence" is running.

See [Blocking](glossary_blocking).

Background Sequences

In a Background Sequence, the player still has control while the sequence is playing.