Skip to content

1.0.0

Choose a tag to compare

@AlexanderGatesDev AlexanderGatesDev released this 31 Dec 15:38
· 16 commits to Master since this release

BiosimRust v1.0.0

First stable release! BiosimRust is a complete Rust refactoring of the original C++ biosim4 project, providing improved safety, performance, and maintainability through Rust's type system and memory safety guarantees.

Key Features

Core Simulation

  • 19 Challenge Types: Circle, Right Half, Right Quarter, String, Center Weighted/Unweighted, Corner, Corner Weighted, Migrate Distance, Center Sparse, Left Eighth, Radioactive Walls, Against Any Wall, Touch Any Wall, East-West Eighths, Near Barrier, Pairs, Location Sequence, Altruism, and Altruism Sacrifice
  • Neural Network Evolution: Creatures evolve neural networks that process sensory inputs and produce actions
  • Multi-threaded Execution: Parallelized using rayon for efficient multi-core performance
  • Configurable Parameters: Hot-reloadable configuration file with 50+ tunable parameters

Visualization & Output

  • Real-time Display: Live visualization window using minifb (cross-platform)
  • Video Generation: Automatic MP4 video generation using FFmpeg
  • Challenge Area Highlighting: Customizable colored outlines showing survival challenge boundaries
  • Neural Network Visualization: Tools to generate network diagrams from evolved genomes
  • Progress Logging: Generation-by-generation statistics and diversity metrics

Analysis Tools

  • Epoch Logging: Detailed generation statistics (survivors, diversity, genome length)
  • Genome Analysis: Sample genome output in hex and neural network formats
  • Sensor/Action Statistics: Population-wide connection summaries
  • Graphing Tools: Gnuplot scripts for visualizing simulation progress

What's in 1.0.0

This is the first stable release, featuring:

  • Complete feature parity with the original C++ biosim4
  • Memory-safe Rust implementation with zero-cost abstractions
  • Cross-platform support (macOS, Linux, Windows)
  • Configurable challenge area visualization with custom colors
  • Improved error handling and parameter validation
  • Comprehensive unit tests
  • Windows x64 cross-compilation support

Platform Support

  • macOS: Native support (tested on Apple Silicon)
  • Linux: Native support
  • Windows: Cross-compilation support for x64 (GNU toolchain)

Documentation

  • See README.md for full documentation
  • Configuration guide: See biosimrust.ini for all available parameters
  • Original C++ reference: biosim4

Usage

  1. Configure your simulation in biosimrust.ini
  2. Run: ./target/release/biosimrust
  3. Watch the evolution unfold in real-time or review generated videos

Example configuration highlights:

  • displayenabled = true - Enable real-time visualization
  • displaychallengearea = true - Show challenge boundaries
  • displaychallengeareacolor = 255,255,0 - Set challenge area color (RGB)
  • challenge = 3 - Select challenge type (0-18)

Acknowledgments

This project is a Rust refactoring of the original biosim4 by David R. Miller. Special thanks to the original author for the inspiring work.