Skip to content

mkalb/etpetssim

Repository files navigation

Extraterrestrial Pets Simulation

Overview

Welcome to the Extraterrestrial Pets Simulation project (etpetssim)! This open-source project aims to create various simple 2D simulations (Toy models, Agent-Based Models, Cellular automaton) with a top-down view. The simulation engine organizes the grid into structured cells, each with coordinates and entities, enabling flexible modeling and efficient computation. Each cell is a regular polygon —triangle, square, or hexagon— with equal sides and angles, ensuring consistent geometry and neighbor relationships throughout the grid. The grid supports various edge behaviors —blocking, wrapping, absorbing, or reflecting— and offers flexible modes for calculating neighbors, either by shared edges or by both edges and vertices.

Status: This project is currently under active development.

Simulations

Implemented Simulations

Name (Wikipedia) Sync / Async Grid Model Default Entity Entities / Agents / Cells
Wa-Tor asynchronous Array 🟦 Water Shark 🦈 (many), Fish 🐟 (many)
Conway's Game of Life synchronous Sparse 🟨 Dead Alive 🟥 (many)
Langton's Ant asynchronous Array & Sparse ⬜ Unvisited Ant 🐜 (1 agent), Visited Ground (many, 16 colors)
Forest-fire model synchronous Array 🟫 Empty Tree 🌲 (many), Burning 🔥 (many)
Sugarsacpe asynchronous Sparse None (🟫 Terrain) 🟨 Sugar (many), 🟦 Agent (many)
Snake asynchronous Sparse ⬛ Ground 🔵 Snake Head (many), 🟩 Snake Segment (many), 🟡 Food (many), ⬜ Wall (many)
Simulation Lab Sparse Normal Highlighted

Planned/Future Simulations

  • Extraterrestrial Pets Simulation (ET Pets)

Screenshots

Wa-Tor

Wa-Tor - Screenshot 01

Conway's Game of Life

Conway's Game of Life - Screenshot 01

Langton's Ant

Langton's Ant - Screenshot 01

Forest-fire model

Forest-fire model - Screenshot 01

Sugarscape

Sugarscape - Screenshot 01

Snake

Snake - Screenshot 01

Simulation Lab

Simulation Lab - Screenshot 01 Simulation Lab - Screenshot 02 Simulation Lab - Screenshot 03

Goals

  • Explore and apply modern Java features in practice.
  • Get to know the JavaFX library and gain some initial experience with it.
  • Enjoy creativity in developing new simulations and adapting well-known models.

Development Approach

Artificial intelligence (AI) tools were used during development to enhance productivity and code quality. Specifically, Microsoft Copilot and GitHub Copilot assisted with code generation, documentation, optimization tasks, learning JavaFX and MVVM, and making design and architecture decisions.

Technologies Used

  • Java: The primary programming language used throughout the project.
  • JavaFX: Used to create the graphical user interface.
  • Gradle: Build system used for the project, including a Gradle wrapper.
  • IntelliJ IDEA Community Edition: The development environment ("IDE") of choice, provided by JetBrains.

This project uses the latest stable versions of all technologies whenever possible.

Technology Version URL
Java (OpenJDK) Eclipse Temurin 25 adoptium.net
JavaFX 25.0.1 openjfx.io
Gradle 9.2.1 gradle.org
IntelliJ IDEA 2025.2 www.jetbrains.com/idea

License

This project is licensed under the MIT License.

This project uses several third-party libraries, each with its own license. For a complete list, see the THIRD-PARTY-LICENSES file.

Both license files are also available in the application's About dialog.

Author

Copyright (c) 2025-2026 Mathias Kalb

About

extraterrestrial pets simulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors