Skip to content

Define and build core features #2

@jasonwebb

Description

@jasonwebb

What features should this project support? There are so many possibilities, but not all would be valuable from a visual art perspective. It'd be good to include just a few more features than are typically seen in art-oriented CA sims, but not go crazy trying to make a serious research tool.

Features to support

  • Neighborhoods
    • Type: Moore or von Neumann
    • Include/exclude center cell
    • Configurable range.
  • States
    • Discrete - integers, up to configurable n)
    • Continuous with configurable transition function.
    • Cyclic - if n states are used, cell values will wrap around when they overflow the range.
  • Rules
    • Discrete - accept Wolfram binary, MCell, Golly/RLE.
    • Continuous - a function that accepts some parameters and returns a float value between [0,1].
    • Stochastic - similar input as continuous. A function that incorporates a probability distribution, but could return a discrete or continuous value.
  • Patterns
    • Basic geometric shapes like rectangles, circles, regular polygons.
    • Draw / paint mode
    • From user-uploaded image
  • History
    • One generation before previous (i.e. t - 2) needed for second-order CA.
    • Allow n generations (to a limit)? This could help create awesome visual effects, but are there rules that could use these too?
  • Rule maps, similar to style maps used in reaction-diffusion. Grayscale images that encode parameter presets so they can vary across the screen.
  • Colors
  • Histogram
  • Keyboard controls
  • Mouse controls

Rules to support

  • Life-like
    • Birth count
    • Survival count
  • Generations
    • Birth count
    • Survival count
    • Number of states
  • Larger than Life
    • Birth count
    • Survival count
    • Range
  • Multiple neighborhoods
    • Number of neighborhoods
    • Birth count for each neighborhood
    • Survival count for each neighborhood
    • Range for each neighborhood
  • SmoothLife

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions