O3DE, Migration and AI

Today we share our Migration from CryEngine to O3DE, why we decided to do so and about our In Game AI CoffeeAI.

Share
O3DE, Migration and AI
O3DE Engine Logo

Hello fellow humans Iris here, today we have a lot to talk about, it has been a busy couple of weeks. Today I am going to tell you all about it.

CryEngine -> O3DE

After much Consideration, we concluded that O3DE is the best fit for our needs. Cry Engine even if a wonderful Engine and one with a lot and deep history is one that was left behind by its creators. So we sadly did the same and chose its younger Engine cousin O3DE.

O3DE is an Engine I, personally, followed for a few years and contributed to it before switching to it. After a meeting with the team, that was filled with countless words about why O3DE is better than CryEngine or Unity we decided that O3DE is the right fit for us.

Pedro our lead Game Programmer imminently began migration, while I started on the Game Systems and AI. So far, he migrated almost every component that the game has to offer and now begins with refactoring old code and making new Components.

Now it comes to making the things we need to bring things alive, Fares talked about SFX the last couple of times he wrote an article. Soon you will get more tasty music and sfx he made.

audio-thumbnail
Soundtrack main menu d1
0:00
/142.142857

I started on System Components to get a basic LifeCycle going, after the basics were finished, I left them be and concentrate on AI and Content to fill said cycle with life.

GameAI and Utility Systems

Many people who come from game development or Computer Science in general in the last 20 years, when not even more, know what I mean with a Symbolic Utility System in the context of AI. Most people do not, and I think that is a shame, so I am going to try to explain what it means. If I fail you might not even know so be warned.

In AI there are two main Category Symbolic AI and Deep learning these are in general opposite of each other even though put together for a long time.

  • Symbolic AI is tied to rules and logic: IF this THEN do that.
  • Deep Learning is more like you have a goal and actions to reach it and the AI tries so long until goal is achieved.

Utility System are a form of Symbolic AI, they come in many forms and sizes, what I found myself interested in and also thought might be a suitable approach is the one of Intrinsic Algorithm and Dave Mark called Infinite Axis Utility Systems.

IAUS is too complicated to break down in one article so in the coming weeks we will open up a small wiki as part of CoffeeAI to help people to understand it better and see the process of how we approach it and implement it inside O3DE. The Code will also be publicly available and licence under a BSL. I will now tell you a bit more about it.

The IAUS(Infinite Axis Utility Systems) a System try's to get around the approach of Finite State Machines (FSMs), Behaviour Trees (BTs), and planning systems to get more independent process than the rigid way that comes with those other forms.

It is important to state that is not perfect in any shape or form, and it is supposed to be so Symbolic AI in gaming is there to fake intelligence and help to make the game more fun.

IAUS uses something called considerations to avoid the need to hardcode behaviour. Consideration is a mapping of an input value through a Response Curve to get a value that is used to help score a behavior.

More about that some other time, for now, I wish everyone a good time and read you next time.

Much love and a good time!

Iris