A few things about me:
The world is split into cells - each of these cells are individual scenes.
During runtime, cells are asynchronously streamed in a 3x3 grid around the player.
For distance objects, a Distant Cell is generated during edit time - this consists of a lowpoly mesh terrain, and any objects tagged as 'distant'
AI is split up into two forms - combat and idle.
Combat takes form of attack assets - when the NPC wish to attack, it calculates a cost value for each asset, and picks the best one.
Idles takes form of packages - these are much more modular, allowing for easy tweaks depending on the NPC. This is used to make npc's interact with certain objects in an area, or go to a location at a certain time of day.
Built atop FlowCanvas, Ardenfall's dialog system is designed to be as open ended as possible, while also being a breeze to use.
Dialog is built with graphs, and they are modular - a single npc may get a graph from a quest, and have their own graph as well, combining into one.
The Quest system also uses FlowCanvas, as well as its own editor to manage many different quest related variables.
Quest Objects allow for an easy reference to a character, character group, location, scene object, and more.
A Quest also contains phases and objectives, as well as macros and variables.