Giter VIP home page Giter VIP logo

circularlyfegame's Introduction

CircularLyfeGame

Developed off of the lessons learned from CellularAutomata A javascript browser based example of cellular automata, remixed with a new circular flavor and rules. Light audio and interactivity added in.

Github Pages Demo

To stay faithful to the philosophy of the Game of Life, the processes used are complicated to comprehend but are simple in design. Each layer of nodes has different spin rates and frequencies of lifecycle calculation. The ratio depends on how many nodes are within a layer; the more nodes, the faster the spin and calculation rates. The number of nodes increases with the Fibbonachi Sequence.

Neighbor calculation varies. There are the obvious two neighbors within the same node layers, but the neighbor detection reaches out to any adjacent node layers as well. To see this process, click on the middle circle and toggle the button with 'minim' until it displays 'all'.

The rules of this iteration is simplified to the following:

Any cell with exactly two living neighbors will be set to a living state.

Any cell with more than two living neighbors will be set to a dead state.

The audio (which can be toggled on by clicking the center circle and toggling off the "mute" button) is triggered every time a node layer's life calculation runs. Each node that is alive in the node increases the pitch of the sound played. The sound is calculated various ways.

The first node layer has a base frequency of 55 hertz, which is roughly a low note of 'C'

Increasing node layers will generate with a base frequency that increases exponentially by a factor of 2.

Each living node will increase the pitch by a step by that layer.

If the number of nodes exceeds the number of steps required to move the pitch up an octive, each living node in said layer will increase the pitch by only a fraction of a step.

The 'floaters' or little colored arcs is generated every time a sound is played. Color is randomized, and the angle of the floater arc is respective to the node layer it is associated to.

A person viewing this can stretch out the radius of the experience with mouse drags from towards or away the center of the canvas. This effects the volume of audio being played, and the speed of which floaters travel away from the center.

Lastly to note the whole experience runs on a frame engine, which calculates how quickly the window is finishes functions. Most movements are scaled based on time passed, irrelevant of how many frames the window can generate. However more frames will make the visually look smoother.

circularlyfegame's People

Watchers

Danny Lee avatar

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.