Here comes a long over due report of what I did last week, which frankly wasn’t much. It feels like most of the week was trouble and bug hunting, with one problem in particular that took a lot of time to fix.
I discovered that something made the frame rate drop drastically then the application had run for like 20 seconds. In the end I managed to fix it by redesigning my system and it actually ended up to be better and easier to work with than the original design. I’m still not 100 % sure what the cause of the problem was but I think it was a memory access or cache thrashing problem then two threads wanted to read from different places in the same array at the same time. However if I didn’t somehow miss it, it didn’t show up in the profiler (Intel Parallel Inspector) as a memory access problem or a data race condition.
Also I had some trouble to get my flocking to work as it should, and the reason for that turned out to be some really simple and dumb mistakes I had done. It was really a case there unit testing would have helped a lot.
Because those things I probably have to cut away more things than I planed to before last week, but on the bright side the flocking now work as it should and today I’m going to implement a predator with a pursuit behavior and flee behaviors for the standard “birds”.
On Thursday I plan to post some pictures how the system and behavior tree implementation is designed and maybe a video of the application in action.