Giter VIP home page Giter VIP logo

game_of_life's Introduction

Game_of_life

a small implementation of a Cellular Automaton simulation engine, created out of boredom.

Preview

Preview

Cool Rule Game of Life Day and Night More

Features

  • Implemented the logic for any 2D automata.
  • Implemented additional cellular automata.
  • Optimized the logic with techniques such as bit manipulation.
  • Autoplay feature with generation display.
  • Zoom and move functionality for easy navigation and examination of large grids.
  • Ability to change between different rulesets.
  • Planned optimizations include parallel processing and hot reload for development.

Implementation Details

The simulation engine is written in C, utilizing raylib for graphics rendering. The core logic is optimized using bit manipulation techniques to improve performance, especially for large grids.

Installation

  1. Clone the repository.
  2. Build the project with make.
  3. Run with ./main.

Usage

  1. Press spacebar to start/stop the simulation.
  2. Press H for a help menu.

To-do

  • actually implement the logic for Conway's Game of Life.
  • Further optimize the logic, including parallel processing.
    • Investigate parallel processing for performance enhancements.
    • Utilize bit manipulation for improved efficiency.
  • autoplay and show gen
  • add more cool Cellular automata
  • add a way to change between the rules.
  • hot reload for development? (Literally no reason other than it's a cool idea)
  • add functionality to export simulations as GIFs or static images.
  • implement controls for adjusting simulation rules dynamically during runtime.
  • Implement features like customizable color schemes.
  • add support for 1D automata
  • adjust simulation parameters such as speed, cell size, and grid size.

game_of_life's People

Contributors

ahmedhosssam avatar anonmiraj avatar

Watchers

 avatar

Forkers

ahmedhosssam

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.