Cutscenes are annoying. I hate coding them. So much synchronizing and timing work.

And some code is now running into performance issues when many AI controlled NPCs are on the map. Profiling shows that already >40% of the total CPU time is spent somewhere in Lua. Need to try and fix this at some point, otherwise maps can't be populated as much as i wanted to without lagging to hell.
Did i say AI?
Some humanoids have an advanced AI using a
planner -- this actually exists since quite some time, but I didn't write about this.
It's pretty incomplete right now but entities are able to fight, dodge shots, follow, and other things. They have "ears" and memory and can remember where they have last seen certain things of interest, e.g. a health plant, and will go grab it if they are low on health. They will hop on a seahorse and follow you if they figure it is the best way of getting after you. If they have nothing better to do they will go and pick up food nearby. Etc etc.

And they already did things i did neither implement nor expect, which is a good thing for AI, right?

The AI applies to both friends and enemies, but with slightly changed rules for balancing.

^ This is the current AI state graph of a player character, snapshotted in a harmless situation on the home map. Incomplete, work in progress!
Red is the chain of actions that was taken, pink are states that it considered but that were rejected.
This maze is auto-generated. I'm not touching this madness by hand!This was inspired by the
AI of F.E.A.R. -- It's a good read and you should do so if you are interested how things may work under the hood. My implementation is 100% Lua so there are some things that can't be done due to performance reasons, for example
A* search to find most efficient paths through the state graph. Would be too much for any scripting language, and far too slow. Greedy best-first search turned out to be sufficient.
Anyway, now i added a pic to my sig that gets updated whenever i push something to the (private) development repo, displaying the commit message. This is probably better than no apparent updates at all for a very long time.
Now i only hope i won't write anything stupid/emparassing/spoilerish into the commit log...

Warning: Not suitable for children under 3 due to possible swearing.
[EDIT] There:
