home.social

#statetree — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #statetree, aggregated by home.social.

fetched live
  1. Dare I leave 2 different versions of UE5 running overnight? Oh, heck no.

    I've converted the bulk of what I wrote for 5.7.4 into code for 5.6.1. I've got a few state tree tasks remaining, and some other code. I might be caught up tomorrow. Those are mostly smaller than any I worked on today (except one, which is a one-liner).

    A good thing about this is I have to re-read all of the code. I found an efficiency improvement. Yay. Let's hear it for repetition. Woot.

    #UE5 #RPG #StateTree

  2. If I let the 5.7.4 State Tree manage transitions, it sometimes decides a successful FinishTask was a failure. If I manage this myself (by making all exits successful, and using an actor variable to determine success/failure instead), I don't see this behavior. That seems like a bug to me.

    #UE5 #StateTree

  3. I have learned that it's not me, it's the State Tree. It has some unusual behavior, and assorted bugs which should be fewer than ever before! 🙄

    I did not realize it sent signals to multiple states, depending on how you construct the state tree. Like enter and finish task signals. Oh, joy. Unexpected parallelism.

    It kept running a state it should not have been able to get to, I thought, but it ran anyway. It's not my code. That's how it works. I've been chasing a ghost in the machine.

    A State Trees is an unholy wedding of an Unreal Engine Behavior Tree to a state machine, envisioned and built by Dr. Frankenstein while he was on a bender. It's better than a Behavior Tree, in that it is more complex, and thus induces insanity in coders more quickly!

    I'm starting the State Tree over. Knowledge is power. 🤪

    UE5 AI is piles of fun. If I was making a movie, this all would be trivial, but noooo. I had to design a hybrid RPG.

    #UE5 #StateTree

  4. I've nearly finished rolling my own limited functionality smart objects. I should be done soon. I've written a basic system. I need to remember to hook NPC deaths to get rid of their reservations cleanly. Will it work? 🤷‍♂️ Unreal's didn't serve my needs, being flaky and all, so what have I got to lose? This might even have lower overhead.

    I set up a new state tree, cloning the old one, and have rewritten 5 functions. 2 to go.

    Although I planned on keeping the old state tree around, I'm just keeping a copy for a bit. If this works, I won't be needing it.

    #UE5 #RPG #StateTree #SmartObjects

  5. A state tree stubbornly insists on running a step without any intended path to it at the time when it runs.

    A state tree task runs, a subtask uses values the parent sets, and it calls its own function. When the subtask's function Return Node fires, it re-triggers the parent task like it was a FinishTask. I've got print statements at every exit and entry. It runs until it exits the subtask's function, then restarts. Unexpected and unhelpful. I must not create functions in state tree tasks? This code is about to look ugggggly.

    Maybe it works better in 5.7. If only the 5.7 editor was stable in Ubuntu or Linux Mint, I might not need to uglify my code. 😑

    #UE5 #RPG #StateTree

  6. ProcessEvent на стероидах: сериализуемые вызовы функций в UE5 или как я готовлю материал для статей

    В предыдущих двух статьях я разбирал K2Node - как устроены ноды Blueprint изнутри - и Blueprint VM : байткод, опкоды, стековую машину. Следующая на очереди - Reflection: UClass, UFunction, FProperty и вся система метаданных, на которой стоит движок. Готовясь к ней, я решил, что лучше всего разобраться в теме поможет практика. И тут подвернулся юзкейс: мне нужен был способ сконфигурировать вызов произвольной функции в редакторе и выполнить его в рантайме. Без хардкода, без кодогенерации, без десятка одинаковых обёрток. Так появился FunctionHandler - плагин для UE 5.6, в котором пригодилось всё, о чём я писал раньше: CustomThunk'и, ExpandNode, работа с FFrame и MostRecentProperty. Эта статья - про то, как всё сошлось в одном плагине, какие решения сработали, и на какие грабли я наступал.

    habr.com/ru/articles/1010256/

    #Кейс #Unreal_Engine #Unreal_Engine_5 #Программирование #C++ #Blueprint #StateTree #ProcessEvent #плагин

  7. Happy lunchtime! 😆 #latestart
    Next thing... Vote! 👇⬇️✅
    📜 Sugar Maple, tree of New York (1956)
    🎨 Adobe Fresco 🗓 Mar 2024
    #digitalwatercolor #adobefresco #statesymbol #sugarmaple #statetree #newyork #statethings