Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.
Joshua Blake edited this page Sep 5, 2016 · 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 as separate Docker containers under Kubernetes.

  • The UI (players directory): a Django app used for the front-end and database interaction (one globally).
  • 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