leftspace portfolio_selected contact spencer-miller.com
leftspace animation modeling code flash spacer

Kingdom (2008)

Kingdom was my senior project at Penn, completed with two other students. The idea was to create a modular AI simulation that game developers could use to handle the general actions of their non player characters.

Hosted here is a demo showing off the non player characters acting in a limited resource environment. Each sphere represents a character, and each character is trying to satisfy four basic needs: to eat, to drink, to sleep, and to go to the bathroom. To satisfy these needs in the system, the characters can eat Bread (little brown squares), drink Water (little blue squares), sleep (head off to the lower right corner) and go to the bathroom (in the lower left corner).

Characters have a tendancy to hoard resources even if they're not hungry/thirsty enough to eat them yet. If a character finds themselves without any available resources, they may become desperate enough to steal from one of the other characters (and become forever flagged as a Thief by turning red).

A more detailed description of the project can be found on the main Kingdom page.

  1. Create a new character
  2. Create ten bread items
  3. Create ten water items

  4. The mouse wheel zooms in and out.
    Left clicking on anything brings up a detail window about it.
    Unfortunately, mouse look is disabled due to Java's sandbox restrictions.

kingdom.zip (Requires JOGL and JAMA for compilation)

Worked alongside Sriraman Subbaraman and Adam Porroni

Java, using JOGL for OpenGL interactions and JAMA for some matrix interactions.