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.
| 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 |
- Extraterrestrial Pets Simulation (ET Pets)
- 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.
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.
- 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 |
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.
- Name: Mathias Kalb
- GitHub: mkalb
- Project: Extraterrestrial Pets Simulation
Copyright (c) 2025-2026 Mathias Kalb








