Shocker: Naive Object-Oriented Behavior Tree Isn't Data-Oriented

Todays episode about my behavior tree experiment crashes you into menacing hardware walls, starts a wild flirt with data-oriented design to soothe the pain, and all of that just because of my nagging problems with a naive object-oriented behavior tree sketch. Oh, and in the dramatic end I'll interrogate - aeh - ask you questions, too!

Read the rest of this post »

Joining #AltDevBlogADay

I have joined #AltDevBlogADay , a group of amazing game developers (programmers, designers, artists, indies, etc.) and people interested in gamedev, to exploit the peer pressure to blog more often. I have a hard time keeping up just reading all the fabulous insights into the gamedev universe posted there - it's an absolute treasure trove!

My first articles will focus on a data-oriented behavior tree design I am experimenting with, I'll write about a parallel job engine I am working on, and I will definitely rant about all gamedev, parallelization, and game AI related topics that catch my attention.

I do this to get more feedback and to improve my work on parallel programming and game AI so it becomes more relevant and helpful to other gamedevs (at least a tiny bit). Since I got interested into game development I was constantly amazed and blown away by the willingness of the whole community to share their knowledge, inspire, and to help each other to create better games.

You can find my #AltDevBlogADay articles here though I'll also post them here, on my own blog, with a little time delay, too. Never trust a single blog ;-)

 

See you over at #AltDevBlogADay !

Introduction to Behavior Trees

What is a behavior tree? How does it work and what is its role in game AI?

The mis-behaving Whomping Willow tree from the movie Harry Potter and the Prisoner of Azkaban - picture hosted by the Harry Potter Wiki

Welcome to a series of blog articles about my experiment (read: stumbling around) of marrying data-oriented, memory-streamlined behavior trees with a second representation to ease creation and modification during development. I write it to document my findings and decisions and to ask for your invaluable feedback to build a BSD licensed BT toolkit that is truly useful.

Read the rest of this post »