/game-of-life

JavaFX Game of Life cellular automaton (NYU demo)

Primary LanguageJava

Game of Life

Implementations of various cellular automatons, including Conway's Game of Life and a some of its variations, powered by JavaFX GUI.

Screenshot

Includes implementations of following automatons:

Simulation can be paused, resumed and reset at any time. Step-by-step simulation is also included. The grid can be interacted with using mouse, allowing activation of arbitrary cells, including random grid-fill. Automatons can be switched at any time while the simulation is paused.

Prerequisites

  • Java 21+
  • Maven

The project was tested on Ubuntu 18 and macOS 10.14 Mojave installation.

Running

Project compilation lifecycle is managed by Maven. To compile the project and execute it, run:

mvn javafx:run

Development

Packaging

mvn clean javafx:jlink

Distributable package will available in target/dist directory. Run (macOS) executable with:

sh target/dist/bin/gol

Further Development

  • Dynamic grid and responsive layout (support resizable window)
  • Add more automatons
  • Various runtime optimizations

Credits

This project was originally developed as an OOP/Java exercise for NYU Fundamentals of Computing course by Pavel Burakov.