Post news RSS NPC Simulation and Engine Features

This time something about the work in progress on the NPC Simulation system and more Engine features.

Posted by on

NPC Simulation and AI

Lots of work has been done in the recent weeks so let's keep it short. Most of it are engine internal modifications required for the NPC simulation system to work as intended but this comes below (techincal, so you can skip it if you want).

The main focus is on a dynamic investigation and this requires the world to keep turning while you are busy snooping around. In particular NPCs (good and bad) are kept simulating while offline (out of player area or even a different game zone). This forces the player to re-think his investigation practices since bad things can go down while you are at the wrong end of the city. The video contains a little bit about this system.

Also included in the video a quick peek at the conversation mock-up system. You might know the typical way to mock-up conversations in a text editor. It goes similar like "A: i'm saying this" and "B: i'm saying that". Using this simple system you can now quickly mock up conversations.

So where is this heading?
What will support if you press that little green button below?

You will be not following a pre-written script as in other detective games,
you are going to take on a criminal mind AI.
That's right.
You are on the trail of an ongoing case and the AI is trying to foil with your investigation while you try to foil with it's plans.

Do you have what it takes to beat the AI?

Indie of the Year Awards

Engine Features

The technical side of the show. Lots of work went into optimizing engine speed especially in physics and collision detection (like down from 300ms to 1ms or below). This took a lot of time including wrestling with Bullet Physics not playing nicely with the kids. What's new in the engine (and shown in the video):

  • Tesselation support using 'height' texture property
  • NavMesh debug display (grid/mesh, face normals, non-matching faces, path-debugging and so forth)
  • Added support to load/save navigation test cases in world editor
  • Improving blender nav-space export scripts
  • Improving navigation path calculation especially over longer distances and across multiple spaces
  • Added configurable navigation space snapping for easier and more robust workflow
  • Paste conversation snippet in text form into conversation editor to quickly mock up conversations (see above)
  • Module versioning (work with multiple module versions on the same installation, for example to safely test module updates/betas or dealing with bugs/incompatibilities)
  • Explosion push type for rig editor
  • Collider constraint breaking
  • Adding support to load/save navigation test files (world editor)
  • Massively improving physics calculation speed in bullet physics module
  • Slowmotion support in the rig editor
  • Optimize animator module animation calculation speed
  • Added bone mass from volume action to rig editor
  • Added select all bones with shapes action to rig editor
  • Adding bone import dialog and improving bone importing
  • Added breaking threshold support to constraints
  • Added navigation blocker support

This has been all a large step forward towards the first release. Still a few things to tackle but this one here had been a larger task to finish. So here the technical video and up until next time.


Lots of work under the hood. The engine opens so many different possibilities to tell a story. I like the LEGO-like way of piecing together all the different components in the editor to create larger constructions. Maybe you have already crossed a threshold. This is not a game editor any more. It's more than arranging stuff in an environment from a developer's point of view. This is really a story editor with multiple modes of conveying a message or altering the player's behaviour.

All the best for IOTY.

Reply Good karma Bad karma+3 votes

Great work, man.

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.