Created by: Caedy Lee, Sienna Li, Richie Xue, Shaurya Sen
Goal: Simulate and display a world of self-controlling artificial life forms (critters) capable of interacting with each other and the environment.
3 primary steps:
- create a parser for the critter language to store the program in an abstract syntax tree
- simulate the critter world using a controller and interpreter
- build a GUI in JavaFX to display the world and control simulation
Summary: Critters exist on a regular hexagonal grid, requiring energy to perform any action (attacking, reproducing, eating, etc). The genome of a critter determines actions they are capable of, defined by a program (written in critter grammar). Please view Project Specifications for more.
Note: in accordance with Cornell University's Academic Integrity Policy, we are unable to show any of our code.
Our GUI was written using JavaFX and was designed to enhance both functionality and user experience.
Functionality
- Load custom worlds.
- Load custom critters, with the option of choosing its location on the grid.
- Run and control the speed of the simulation.
- View information about chosen hexagons and its contents.



