alistat

A web-based game logic engine for prototyping, inteligent agents and simulations

Purpose & Features

G[L}EN is a versatile game logic engine designed for:

  • Prototyping of Ai-enabled games
  • Reinforcement Learning model development
  • Simulations with intelligent agents & data farming

You can fully use it from your browser, there is no need to install anything.

PurposeFeature
PrototypingShare Game Link
RL ModelsTrain & Download Model
SimulationsSimulate & Download .csv

After designing your game logic with G[L}EN Studio, use these features according to your purpose.

Concept Overview

G[L}EN Concept Overview
Figure:Concept Overview

For more information refer to concepts documentation page.

Implementation

The engine consists of the following projects:

  • Definitions: Abstractions for the games' semantic elements
  • Language: Parser turning code to game definitions
  • Runtime: Compiles and runs game definitions
  • Studio: GUI and game management
  • Ai Client: Ai Agents (Heuristics and Learning)
  • Ai Server: Training and inference of Learning Ai agents

Definitions and runtime are not tied to the language, as shown in the dependency graph below:

G[L}EN Project Dependencies
Figure:Project dependency graph (excluding Ai)

Apart from Ai Server, which is written in Python using FastAPI and Keras, the other projects are written in TypeScript.
The Studio uses Vue and Nuxt 3 while Definitions, Language, Runtime and Ai Client have virtualy no dependencies.

Project Development and Plans

The project is currently a working prototype, able to demonstate most of the features. You can try it out now, but there are no user accounts so you won't be able to save your games in the cloud. Machine learning agents need improvement; at this point heuristics agents will do the job better.

My immediate plans include compiling games to WebAssembly to dramatically impove performance and using better reiforcement learning algorithms to make the agents smarter.

For the long term, the following two features have always been an intergral part of my vision for this project.

  • Use a semantics engine (like Isabelle or Coq) to analyze games in order to generate agents with real understaning
  • Allow users to describe game logic with graphical or natural language interface; using code only to make adjastments

Studio Screenshots

G[L}EN Design View
Screenshot:Design View
G[L}EN Play View / Graphics
Screenshot:Play View / Graphics
G[L}EN Play View / Debug
Screenshot:Play View / Debug
G[L}EN Simulation
Screenshot:Simulation
G[L}EN Training View
Screenshot:Training View
G[L}EN Assets View
Screenshot:Assets View