GithubHelp home page GithubHelp logo

ykariyado / lg Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 356.66 MB

3D Conway's Game of Life with Auralization powered by Unity.

License: MIT License

C# 94.67% ASP.NET 4.18% MATLAB 0.03% ShaderLab 1.11%
game-of-life sandpile-models sonification spatialization auralization cellular-automata cellular-automaton

lg's Introduction

Auralization of Three-Dimensional Cellular Automata

Auralization of Three-Dimensional Cellular Automata powered by Unity.

Description

For desktop version, we've implemented two types of cellular automata (normal and sand pile models) in three-dimensional grid with sounds associated with each cell (using audio spatialization to accurately represent the actual localization of cells). Adding spatialization to sonification can be considered a kind of auralization. For VR version, to improve the immersibility, we've implemented First-Person-Perspective of original cellular automaton. You can explore and generate new patterns from random initial conditions or the rules defined by users.

  1. Cellular Automaton Desktop version (DEMO)
  2. Cellular Automaton VR version (DEMO)

Features

Desktop

  • Supports Original / Sandpile cellular automata
  • Supports Periodic / Sequential options
  • Can define the rules as you want
  • Can save / load patterns with your own rules (csv files)

VR

  • Supports Periodic / Sequential options
  • Can define the rules as you want
  • Can save / load patterns with your own rules (csv files)

Desktop version runs on MacOS 10.14+, VR version runs on Windows only.

For more information, contact us.

Requirements

Desktop version was tested by the following environments.

  • Unity 2020.1.6f1
  • MacOS 10.14+
  • CPU: Intel Core i5 2.4 GHz Quad-Core
  • RAM: LPDDR3 16GB 2133 MHz
  • Graphics: Intel Iris Plus Graphics 655

VR version was tested by the following environments.

  • Unity 2020.1.9f1
  • Windows 10+
  • CPU: Inter(R) Core(TM) i7-7700 3.60 GHz
  • RAM: 8.00 GB
  • Graphics: Nvidia GeForce GTX 1080 Ti 11 GB

Usage

Desktop

  1. Run GoL.app
  2. Choose models you want to play
  3. Set rules (the rule will be initialized by [4,4,0,0])
  4. Push Random or Load to set cells
  5. Push Run
  6. Push Save, and name it to store as a preset

VR

  1. Run GoL.exe
  2. Set rules (the rule will be initialized by [4,4,0,0])
  3. Push Initialize or Load to set cells
  4. Push Run
  5. Push Save, and name it to store as a preset

Installation

$ git clone https://github.com/YKariyado/LG.git

Presets

Introduction of some presets we've found so far.

  • Rocket

Rocket oscillator

  • Hydropump

Hydropump oscillator

  • Dictyostelium

Dictyostelium oscillator

some more oscillators...

Author

[@hrmtcrb] mail to: [email protected]

[@arevaloarboled] mail to: [email protected]

[@julovi]

License

MIT

lg's People

Contributors

arevaloarboled avatar julovi avatar ykariyado avatar

Watchers

 avatar  avatar  avatar

lg's Issues

For Camilo?

the load button should open at the folder with the default patterns

when I move the BPM slider, the model changes too...

Since the time should be displayed from left to right: so either swap the z and x axes, or change the perspective of the camera so that the model shows the z axis from left to right

Isn't the first row supposed to be at the ears' height?

More issues...

  • Why is important that the x and z axes are labeled? I think it looks better without "(x)", likewise without "Time (z)"

  • The load button still opens buttons, it's not going directly to the file browser. I'm not sure how to express it better: Load -> file browser. The File browser window opens in a directory where the presets are located. It is the default directory, but the user can choose a different directory. This would be the same behavior for saving. Think about Word: when you press the open menu, does it give you buttons to the previous files you edited? no! it opens a file browser...

  • Moving the BPM slider also moves the model

  • The BPM is wrong when "sequential" is not set, it should go much faster, check,

  • the head seems to be not centered, can you check? it looks as if it's closer to the top of the blue axis

  • I like the rectangle showing the current location in the sequential mode, but may be a bit narrower would be better?

  • I can't load blinker one and 2

  • Running the presets is broken, it doesn't change

  • The head rotation is still funny, if I use the up/down arrows, it doesn't really rotate as expected.

  • In the sandpile model (maybe in both?), I think is more natural to count from 1. So, (4,4,4) should be at the fourth dot starting from each axis, right now it's the fifth.

  • Setting a different coordinate and number of grains is not working, check. (i.e, set a coordinate and # of grains, let it run and try to set a different number of grains or coordinate...)

  • Non-sequential doesn't really work on the sandpile. I'm not sure why... check

  • Add a better description of the project in the Github page.

Not an issue but a request

it would be nice to be able to export the movie, or the audio of a model if the user wants to.
I think is important, especially for including this in presentations, websites, etc.
I'm looking at the "rocket" oscilator, for example, and I think we could include this as an example of the possibilities of the tool. But how?

Another thing, @yuta, we need to continue the simulation of these programs to find at least 10 presets. Hopefully, different from each other. We don't have a single one that uses the periodic mode, for example

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.