SimGen is a new simulation language run embedded in SWI-Prolog. The language is based on behaviour trees. It is suitable for making UI, artificial agents, chatbots, games, NPCs for games, AGI-ish projects, and for simulating hybrid systems with state transitions and continuous changes within each state.

It was originally built to create mock data that behaved in 'real world' ways. It’s reasonable to think of SimGen as an implementation of behaviour trees for SWI-Prolog. SimGen programs deconstruct the world into 'behaviours', and provide node types to describe micropatterns of behaviour seen in the world to train machine learning/symbolic AI anomalometry with. An example of such a system is a bouncing ball. The ball is either in the air, or in contact with the ground. Its behaviour is different in each regime.

OBJECTIVES

Audience will come away interested in SimGen and oriented towards exploring it.

TARGET AUDIENCE

People with a general understanding of programming. Prolog knowledge is nice to have, but certainly not required.