Visual Graphing – The Core Foundry


Background
Joule has collected several Prismatic Cores during her exploration of Far Eden. These cores are new top secret technology that seem to be able to fix broken down terraform facilities on the planet. Joule must explore the Core Foundry and seek the Core Analyzer needed to examine the Prismatic Cores and unlock their mysteries.

Part 1 – Finding the Core Analyzer
Joule platforms her way to the center of the room where there is a terminal. Interacting with the terminal triggers a cutscene and animates each of the 2 towers into place. On each of the towers is a small pedestal that is missing a core to properly power the Core Analyzer. Kai tells Joule that she will need to find the cores for the towers in the Core Incubation Room located through a newly opened door.

Video:

Graph:

Graph Functionality:

A. Point of Entry – A graph node named “Interactible Object Listener” listens for the player to interact with the center terminal.

B. Gate – Once the player has interacted with the terminal a Gate node prevents any flaws in the interaction that might allow the listener to be triggered more than once.

C. Cutscene – Once the player has interacted with the center terminal, a cutscene is started using the “Play Cutscene” node.

D. Custom Event – A message is broadcast to a listeners in the Global context to tell those listeners that the cutscene has been started.

E. Set Persistence – A Boolean is set to true in the Global context to keep track of the state of the room based on the player’s progress.

F. Animation – Each tower is triggered to animate using its own delay variable. The animation string is validated for length to avoid errors and warnings if the field is blank

G. Toggle – Based on the terminal interaction a list of game objects can be toggled on or off. Each game object list is validated for length before attempting the toggle operation.

H. Door – After a defined delay, the lights then the door are triggered open.

Part 2 – Returning with the Tower Cores
Joule recovers both the green and orange cores from the Core Incubator room and returns to the Core Analyzer room to activate the tower pedestals. When both cores are inserted into place the center terminal descends allowing the Core Analyzer ring to levitate into place.

Video:

Graph:

Graph Functionality:

A. Orange Core Placed – When the Orange Core is placed in the Orange Pedestal a message is sent and intercepted by this entry point. The name of the custom event is validated through a “Compare String” before it can progress through this part of the graph.

B. Verify State – Before proceeding the graph verifies that the player hasn’t found a way to complete steps out of order. If the center terminal has been interacted with and the towers lowered into place, this persistent bool will be true.

C. Inventory Operation – Since the Orange Core is an actual quest inventory item the object is removed from the player inventory using the “Remove Inventory Item” node.

D. Tower Lights – Lights for the Orange Tower and toggled on.

E. Pedestal Activation – When the player interacts with the Orange Tower pedestal a short cutscene plays that activates an orange particle system. Just before the cutscene ends a message is sent to this point in the graph to report the cutscene has been completed. After a short delay a new persistent boolean is set to true and a new checkpoint is saved in player data. In the event the player crashes or quits the game, the persistent bool will set the room to the proper state.

F. Green Core Placed – When the Green Core is placed in the Green Pedestal a message is intercepted by this point in the graph. The message received is validated, the center terminal persistent bool is validated and the Green Core is removed from the player’s quest inventory.

G. Tower Lights – Lights for the Green Tower and toggled on.

H. Pedestal Activation – Just like the Orange Tower, when the player interacts with the Green Tower pedestal a short cutscene plays that activates a green particle system. Just before the cutscene ends a message is sent to this point in the graph to report the cutscene has been completed. After a short delay a new persistent boolean is set to true and a new checkpoint is saved in player data. In the event the player crashes or quits the game, the persistent bool will set the room to the proper state.

I. Increment – For each pedestal interacted with and integer is incremented by 1 using the “Add Int” node.

J. Persistent Integer – Each increment is saved to a Persistent Integer using the Global context.

K. Compare Integer – When the value of the Persistent Integer equals 2 the graph proceeds.

L. Toggle Off – In the event there are game objects that need to be turned off once both pedestals are interacted with, this branch of the graph handles the toggle.

M. Cutscene Delay – Used to time the Analyzer Ring activation cutscene.

N. Crash Recovery – In the event the player crashed or quit the game after installing both Orange and Green Cores but before the Analyzer Ring animates into place, an outside function sends a custom event to correct the dungeon state.

O. Ring Activation – The Play Cutscene node positions the player’s camera in a specific location to watch the center terminal descend and the Analyzer Ring animate into place.

P. Terminal Animation – Validate that the Center Terminal game object is not null. Animate the terminal out of site beneath the platform.

Q. Ring Animation – After a delay, validate that the Analyzer Ring game object is not null. Animate the ring into place.

R. Toggle Objects – In the event that objects need to be toggled on or off, this portion of the graph handles the toggle. Example: The Analyzer Ring is an interactive object that must be toggled on after the ring animation.

S. Toggle Lights – Different colored lights are toggled on and off in this section of the graph. For instance, when the Analyzer Ring is inactive there are blue lights in the center of the scene which are replaced with green lights when the ring is activated.

T. Animate Center – After the Analyzer Ring is animated into place the entire center structure is animated to include changing material colors.

Part 3 – The Core Analyzer
Joule interacts with the Analyzer Ring which triggers a cinematic using the cinematic system which isn’t part of the visual graphing done in the dungeon.

Video:

Part 4 – Malfunction
The Prismatic Core Joule placed in the Analyzer Ring seems to have overloaded the Core Analyzer. Both Analyzer Towers expose Fusion Cells that fill the room with radiation. Joule must destroy all 8 Fusion Cells quickly or the radiation levels will kill her.

Video:

Graph 1:

Graph Functionality:

A. Cinematic End – When the cinematic ends a custom event message is sent to this graph node where it is validated and gated from happening more than once.

B. Cutscene – Immediately after the cinematic a cutscene plays. Using an animated camera, the cutscene shows the Core Analyzer overloading and Fusion Cells being exposed on a tower. The VFX, animations and lighting are activated (later in this graph) while the animated camera moves through the 3D environment.

C. Quest Complete – The quest to find and use the Analyzer Ring is completed via the “Complete Quest” node.

D. Toggle Delay – A delay in tenths of a second before game objects and toggled on and off.

E. Toggle Game Objects – Lists of game objects are validated for length and toggled on and off. Example: The Core Analyzer interactive functionality is toggled off here.

F. Toggle Lights – All Core Analyzer lighting is changed from green to red. Animated blinking red lights are toggled on.

G. Ring Overload – The Analyzer Ring animation is triggered causing the ring to violently vibrate in place.

Graph 2:

H. Delay Tower Animation – A delay allows me to trigger the tower and fusion cell animations to occur when the animated camera moves into position.

I. Tower Animation – Animate the tower upward so it is in view of the animated camera.

J. Fusion Cell 1 – Delay the animation of the fusion cell opening until it is in view of the animated camera. Turn on the VFX once the fusion cell has fully animated open.

K. Fusion Cell 2 – Delay the animation of the fusion cell opening until it is in view of the animated camera.

L. Fusion Cell 2 VFX – Turn on the VFX once the fusion cell has fully animated open.

M. Fusion Cell 3 – Delay the animation of the fusion cell opening until it is in view of the animated camera.

N. Fusion Cell 3 VFX – Turn on the VFX once the fusion cell has fully animated open.

O. Fusion Cell 4 – Delay the animation of the fusion cell opening until it is in view of the animated camera. Turn on the VFX once the fusion cell has fully animated open.

P. Toggle Game Objects – In the event any game objects need to be toggled on or off, this section of the graph handles the toggle functionality.

Q. The Other Tower – Since the animated camera is focused on Tower 1, Tower 2 can be animated without delays. All Tower 2 fusion cells and VFX toggled on all in the same series of nodes.

R. Delay – A short delay is used to trigger additional graph functionality.

S. Remove Persistent Vars – Previously set persistent variables are removed so the dungeon state is correct if the game crashes or the player quits.

T. Toggle Game Objects – Once the cutscene is over, any game objects to toggle on or off would be handled in this section of the graph.

U. Close Spider Rails – Spider rails that might have been used to reach the center platform or Analyzer Ring are instructed to animate closed and deactivate.

V. Analyzer Ring VFX – Toggles on the Analyzer Ring lightning VFX.

Graph 3:

Graph Functionality:

A. Tower 1 Fusion Cells – Each of the 4 Fusion Cells on Tower 1 have listeners that report when the Fusion Cell has been destroyed. When each of the fusion cells have been destroyed the fusion cell enclosure closes.

B. Tower 2 Fusion Cells – Fusion cells on Tower 2 work exactly the same as the fusion cells on Tower 1.

C. 4 Fusion Cells Destroyed – This portion of the graph counts how many of the Fusion Cells have been destroyed via the “Add Int” node. When Joule destroys 4 (or more) of the 8 Fusion Cells, this area of the graph is processed. A local bool variable is validated before the “Add Int” node to make sure this branch of the graph has not already been utilized. If the bool is False and the Integer value is equal to or greater than 4, the local bool is set to True.

D. Validate String – The string used to trigger VO lines is validated to make sure it isn’t null.

E. VO Triggered – A custom event is sent to an external system to trigger voice over lines from Joule and Kai.

F. Spider Rail Cutscene – A cutscene is played that points the player camera at a specific Spider Rail (turned off in a previous graph). During the cutscene the Spider Rail is activated to give Joule a clear indication that she needs to destroy the Fusion Cells on the second tower.

G. Optional Custom Event – A custom event previously used to change quest goal markers to lead the player to the second tower are no longer used, but the custom event was left in the graph in case other external functionality needed to be triggered.

H. Spider Rail Activation – A list of game objects are evaluated for length to verify the list doesn’t have a length of 0. If the list is greater than 0, the list of game objects is toggled on. A list was used in case the design decision changed to include triggering multiple Spider Rails on.

I. Count Fusion Cells – A second value is incremented to keep count of all 8 Fusion Cells.

J. Real Time Parameter Controls – As the Fusion Cells are destroyed, sounds relating to Joule’s breathing and Damage become louder making the gameplay more intense.

K. Count To 8 – The Integer Value is compared to 8. Once it is equal to (or greater than somehow) 8, the rest of the graph branch is processed.

L. Persist State – Once all 8 of the Fusion Cells are destroyed a persistent bool in the global context is saved. In the event the game crashes or the player quits at this point, the state of the dungeon is saved to help prevent the player from having to repeatedly destroy the Fusion Cells again.

M. Checkpoint – The player state is saved so in the event the game crashes or player quits they will restart the game at the intended location.

N. Final Cutscene – A custom event is sent to trigger more Joule and Kai dialog. At the same moment a cutscene is activated to point the player camera at the Analyzer Ring to show that it is no longer malfunctioning.

O. Radiation Deactivated – Just as the cutscene is activated the radiation modifier is removed and the player is no longer in danger from dying from the radiation status effect.

Graph 4:

P. Flashing Lights Off – Validation is done on the animated lights to verify the game object isn’t null. If validation succeeds the flashing lights are animated to their off state.

Q. Center Platform – The Core Analyzer center platform is changed from its malfunctioning animation state back to its activation state.

R. Analyzer Ring – The Analyzer Ring on the center platform is changed from its malfunctioning animation state back to its activation state.

S. Lighting – Red environment lighting is toggled off and green environment lighting is toggled on.