What is DyNet?

DyNet is an open source neural network library for C++. It primarily spun out of Carnegie Mellon University, and has had many contributors over the years. It is a library built for efficient performance with dynamic structures that can adapt and change for different training instances. This makes the library particularly effective for natural language processing, and game AI that learns during runtime.

The power of AILIVE is in the flexibility of the library. You can learn more about writing and customizing your own neural network with DyNet in their documentation.

Do I need to know how to program machine learning?

You should have a solid grasp of the fundamental structures of machine learning systems. Understand what data you want to feed into the algorithm, what information you need to receive from the algorithm and at what frequency.

Included with the demos is a rudimentary AI controller, which should serve to get most projects off the ground, even if you have little to no experience with neural networks.

While you can use usual machine learning datasets subject to their licencing one of the key advantages to AILIVE is that you can generate data during gameplay and train your machine learning models with user actions, user generated content, environment states, or countless other sources from within your game’s scripts.

Where do I get the data from?

Rather than AI only reacting to what the player does, DyNet could be used to actually change the way the AI thinks in response to the player. This unlocks a lot of new potential verbs for the player to take, such as “teach”, “praise”, “scold”, “reward”, and “punish” that have meaningful gameplay ramifications.

Additionally, beyond pre-tranined MLAs, DyNet integration allows you to include the player and machine learning algorithms as a part of the game loop.

How is this different than state machine based AI?