This repository contains C# biological cell evolution simulator. There are used Pointer genome algorithm for cell decision process.
| № | Seed | Video |
|---|---|---|
| 1 | 4242 | video.mp4 |
| 2 | 1994 | video.mp4 |
At any given simulation tick t, the cell's state is defined by the pointer geneSize. The genome consists of two arrays of size N:
- Gene G: Array of target pointer addresses.
- Trigger T: Array of environmental conditions.
The transition function for the pointer
- C# (.NET core)
- SixLabors.ImageSharp 3.1.6
- Custom integrated
FFmpegpipeline via standard I/O streaming for real-time video compilation.
- SixLabors.ImageSharp 3.1.6
- SixLabors.ImageSharp.Drawing
CellMachine/
├── Config/
| ├── BoardConfig.cs # Board configuration parameters
| ├── GameConfig.cs # All evolution and simulation parameters
| └── VideoConfig.cs # Parameters for video encoder
├── Models/
| ├── Base.cs # Basic class Tile
| ├── Cell.cs # Cell class that extends Tile. It can select actions using its genome
| ├── Food.cs # Food class that extends Tile
| └── Colony.cs # Contains Cell genome and stores all species-related information and methods
├── Services/
| └── SimulationEngine.cs # Simulates all board logic
├── Utils/
| ├── Genetic.cs # Mutation, genome processing and other evolution functionality
| ├── Simulation.cs # Util function and structures for board processing and simulation
| ├── Video.cs # Video encoder class
| └── Utils.cs # Other utils
├── Const.cs # Constants and services
└── Program.cs # Project entry point
git clone https://github.com/Flahhhh/CellMachinedotnet restoredotnet runMIT License
