Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.
Alexandru Dan edited this page Aug 29, 2017 · 31 revisions

Components

AI:MMO consists of five main components, separated into their own directories. The UI runs in Google App Engine, the others run in [Google Container Engine](Google Cloud) as separate Docker containers under Kubernetes.

  • The UI (players directory): a Django app used for the front-end and database interaction (one globally). The UI is in the process of being transitioned to Unity.
  • Games: holds and updates the game state (one per game).
  • The Game Creator: responsible for creating games (one globally).
  • Workers: containers the code for an avatar which is given a game state and returns the avatar's action for that turn.
  • The reverse proxy: nginx (behind an Ingress) which allows web browsers to connect to games to receive the game state.

Terminology

  • Avatar: a user's in-game representation. A user can have up to one per game.
  • Level: a game which is created (semi-)deterministically with a set goal. Intended to be used as part of the tutorial/teaching.
  • User: a single person with an account.
Clone this wiki locally