Video yükleniyor...
Video Yüklenemedi
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
17,120 görüntüleme • 1 yıl önce •via X (Twitter)
10 Yorum

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

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

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

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! 🍅

Here's the Good version of this post

Mr heckteck will this effect enemy behaviour greatly?

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.

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

@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?

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

