Good news: The client engine is finally progressing. No more nights banging my head on the desk. The issues that have come up have been pretty straightforward.
And then there's spawning. This problem is huge. It's painfully slow and so far I have no solution. Here is the situation:
I allow two types of elements to be spawned: NPCs and Objects. The spawned element can have any number of child elements. This means I need to load all these elements, and SQLITE won't let me perform multiple statements in one call, so each query is its own call. SQLITE transactions are costly.
I need to have most of the child elements available right away so multi-threading isn't really a viable option.
Ugh.
So while the engine is working surprisingly well apparently I can't throw my helmet away yet. There will be plenty of head-meet-desk time until spawning is resolved.