Loading video...

Video Failed to Load

Go Home

As part of the enemy code rewrite, I've been working on a Behavior Tree system. Combined with our Timeline, it can be very versatile. These tools make complex behaviors a lot easier for us to manage, and will help modders create new enemy types. 1/X #screenshotsaturday

18,009 views • 1 year ago •via X (Twitter)

10 Comments

Heckteck's profile picture
Heckteck1 year ago

This window is the Timeline Editor. Timelines have various 'tracks', allowing timed events to be synchronized. For example, if a hitbox needs to activate for part of an animation, we can use an Animation Track and Activation Track, and line them up, as seen below. 2/X

Heckteck's profile picture
Heckteck1 year ago

And this is the behavior tree - the brain of the enemy. To decide what an enemy should do next, we start on the left side of the tree, asking our root node (highlighted red) to run and give us a result. 3/X

Heckteck's profile picture
Heckteck1 year ago

Selectors try to 'select' the first successful node - they run all their children top-to-bottom, until one Succeeds. Sequences try to run all their children in sequence - if one fails, the sequence stops and returns Fail. If we reach a Timeline node, we play that timeline! 4/X

Heckteck's profile picture
Heckteck1 year ago

These systems alone can represent very complex enemy behaviors, without having to write any custom code. They are also decoupled from the ULTRAKILL codebase, so in the long term we hope to make them widely available for others to use in Unity. Anyway! Thanks for reading! 🍅

Heckteck's profile picture
Heckteck1 year ago

Here's the Good version of this post

John Don's profile picture
John Don1 year ago

Mr heckteck will this effect enemy behaviour greatly?

Heckteck's profile picture
Heckteck1 year ago

The goal is to try to recreate existing behavior as precisely as possible (at least, where its fun) We're collecting feedback from players of various skill levels / types of play to try and figure out what to keep / what is just Jank.

worm sley's profile picture
worm sley1 year ago

as usual you carry untangling the web of spaghetti code on your shoulders stay blessed juicer

CrossingsVT's profile picture
CrossingsVT1 year ago

@NewBlood Not a modded and have no experience with it, but I’m curious, will this need separate profiles of some kind for each difficulty, considering higher difficulties add new movesets to some enemies?

Heckteck's profile picture
Heckteck1 year ago

@NewBlood There will be nodes for checking difficulty as a condition

Related Videos