Skip to content

Other ‐ Owlks

Will Corby edited this page Aug 16, 2024 · 7 revisions

These dumb birds are dumb and you will HATE THEM

Owlk AI

Owlk cannot grab bug fix

If you encounter a bug where an Owlk trying to grab you can't go into the death animation, you can fix it by opening the text file ExportProject\Assets\AnimationClip\Ghostbird_Grab_v2.anim to look for "attribute: typetree_0x7C5B3F5D_htUIriJ" and changing it to "attribute: GrabWindow".

Need to Know Vocabulary

Utility

A number that represents how much an Owlk wants to be in a given action. It will always choose the GhostAction associated with the highest number ranging from -100 to 100, from a personal array of GhostActions.

Threat Awareness

The currently level of awareness the Owlk has of the player's existence. In base game, it is set by the GhostDirectors of each area, or when an Owlk has visual on you, and affects the Utility of some GhostActions. The Threat Awareness types are:

  • EverythingIsNormal = 0
  • SomethingIsAmiss = 10 (unused)
  • SomeoneIsInHere = 20
  • IntruderConfirmed = 30

Node Map Basics

Node maps are a set of points and connections between them that an Owlk will use to navigate the world. These maps are the only thing that governs movement, and as such, walls by default mean nothing to them.

Node Layers

The nodes are grouped in different colored layers that dictate what search nodes an Owlk uses during the Search For Intruder, Guard, and Sentry actions. An Owlk will ONLY search nodes of the same color as the layer assigned to their GhostController. These colors are:

  • Red
  • Yellow
  • Blue
  • Orange
  • Green
  • Purple

Ghost Nodes

The individual nodes you place down. The following types exist, and are identified by their associated property being set to true:

Is Path Node

This is used during the Party Path action for in-between nodes. Also used for Elevator Walk.

Path Start

This is used during the Party Path action to mark the start of the path.

Path End

This is used during the Party Path action to mark the end of the path.

Is Patrol Node

Used during Sleepwalk action.

Is Search Node

Used during the Search For Intruder, Guard, and Sentry actions.

Creation

Thanks to Streetlights we now have a tool to easily generate node maps. This tool is automatically on the GhostNodeMap script.

Automatic Node Map Generator

The generator automatically connects all nodes on the map. To use it, place your nodes and then click the "Generate Node Map" button.

Unity_v2uuhmGhPU.mp4

Node Connector

This tool lets you automatically connect 2 selected nodes.

Unity_Nshq4rwPTr.mp4

Node Disconnector

This tool lets you automatically disconnect the selected node from any nodes it is connected to.

Unity_46kx2tj3Sf.mp4

Base Game Node Map Tools

There are other tools automatically included in the base game scripts that were not added by Streetlights. These tools are the Node Visualizer Set Builder and the Node Map Rename.

Node Visualizer Set Builder: Automatically build the Node Visualizer Set used in the Hunt Action. This is neccesary for your Owlk to work regardless of whether they use the Hunt action or not.

Unity_6pzz1geKK0.mp4

Node Map Renamer: This isn't required for Owlk to work, but it renames the nodes, numbering them in order of the hierarchy. It's a good naming convention for ease of reading and referring to nodes.

Unity_gaEqauFwA4.mp4

GhostActions

TODO have nebula double check this, especially identify intruder

Wait

Owlk won't move. They can still face and grab the player if they are in range (that being 3 meters).
If none of the actions can apply (i.e. all of them are utility -100), this is a good action to allow because it mean they will do nothing and wait instead of picking to top action in the actions list.

Utility:
Almost always 0. 666 if grabbed, not sure why.

Sleep

Owlk stands still until woken up or illuminated by player, in which it then plays the default animation. Cannot be interrupted by other actions, so you must do the aforementioned thing for it to be able to change actions.

Utility:
-100 when woken up and 100 when not woken up.

Sleepwalk

Owlk moves to random Patrol Nodes and then picks another. If it cannot get to a Patrol Node in its node map the Owlk will freeze up and do nothing. If it has no Patrol Nodes it will choose any node at random.

Utility:
100 if it's not woken up and is -100 if it is woken up.

Party Path

Set the path the Owlk will move on, and it will follow. When it reaches the end, it does nothing and stops. Requires the GhostPartyPathDirector. Does nothing without it. Look in your full game rip for GhostPartyPathDirector.

Utility:
10 with any path nodes and -100 without any path nodes.

Party House

Stands around and waits for the player. Looks at the player and chases the player after a delay. Requires the GhostPartyDirector. Does nothing without it. Look it full game rip for GhostPartyDirector.

Utility:
99 if it cannot chase the player and 94 if it can.

Elevator Walk

Owlk will move to the elevator node (path node #2). Requires the GhostZone2Director. Does nothing without it. Look it full game rip for GhostZone2Director.

Utility:
When it is called to use the elevator, it is 100 if player location is not known, 70 if it is, and other wise -100.

Sentry

Chooses the first search node in the proper layer as the "sentry node". Pathfinds towards it while spotlighting if the player location is known. Faces either the sentry node or the last known player position.

Utility:
50 if threatAwareness is SomeoneIsInHere or IntruderConfirmed and -100 otherwise.

Search For Intruder

The Owlk will go to a random search node on the layer the Owlk is set to and do a full 360 spin. After 4 seconds it will pick another node on the same layer and path find to it.

Utility:
50 if someone is in here and is -100 otherwise or without search nodes.

Guard

The Owlk will go to a random search node on the layer the Owlk is set to and do a full 360 spin. After 4 seconds it will pick another node on the same layer and path find to it. If it at any point sees the player, it will stop and face them until it can no longer see them and the resume moving. If the Owlk ONLY has 1 search node it will not spin, instead simply facing the direction of the node.

Utility:
90 if someone is in here (or 60 if reduceGuardUtility is true) and is -100 otherwise or without search nodes.

Identify Intruder

The first 2 times the owlk is illuminated by player, it will stop and stare at you with spotlight for a bit. If it sees you, GhostBrain will escalate threatAwareness to IntruderConfirmed. Otherwise, utility will be -100 so it will change to some other action.
After the first 2 times, it will go to the place it last saw you, and stay there until it sees you again. Escalation can occur as said above.

Utility:
If the threatAwareness is IntruderConfirmed then it is -100.
If it is on anything but EverythingIsNormal up or it sees the player or player's light utility is 80. If this is not true then it is -100.

Call For Help

This is unused in the base game. Tells the other Owlks that can hear it where the player is. The calling Owlk moves to the player position and to the Choke Point. The ones that hear it get the last known player position and go into InteruderConfirmed.

Utility:
94 if illuminated by player for long enough and player is in guard volume (and owlk has a choke point), else -100

Chase

Owlk quickly moves directly to the player position. Looks like a lunge towards the player.

Utility:
-100 if threatAwareness is not IntruderConfirmed. 95 if you are in range and visible/touching owlk, or if chasing and seen player within last 5 seconds.

Hunt

Owlk flashes the nodes it thinks you could be at starting at higher probability nodes and going to lower probability nodes. This is the ONLY action to utilize node visualization.

Utility:
-100 if threatAwareness is not IntruderConfirmed. 80 if it has seen the player in the last minute or if it is already hunting. -100 if it fails hunting.

Stalk

Moves to the player. Has a meter that fills up if lit by the player. When it fills it, it goes to fast stalking which is slightly faster. Sometimes focuses the lantern based on player action.

Utility:
-100 if threatAwareness is not IntruderConfirmed. 85 if it knows player location, or if stalking and has seen player within last 4 seconds.

Grab

Player is grabbed and about to die.

Utility:
100 when used and -100 when not in contact with player.

Creating an Owlk

The following will show you how to make your own Owlk from scratch. Note: most actions use Threat Awareness and by default this is EverythingIsNormal while most do different things during SomeoneIsInHere. Keep this in mind.

TODO write this section

Use the Pages sidebar above and click "Show x more pages..." at the bottom of the sidebar to navigate all pages.

Clone this wiki locally