|| Ed Perkins || Jennifer Shepherd || Ellie Wem || Roland Vink ||
dawn can be observed in action here.
dawn is a procedurally generated socio-genetic simulation. What does that mean?
- Procedurally generated
- None of the outcomes are predefined; they are based purely on the results of the random algorithms.
- Socio-genetic simulation
- dawn is inspired by Conway's Game of Life and Spore (also No Man's Sky regarding the procedural generation).
- The user observes 'cells' interacting with each other in an environment; living, breeding, inheriting properties, and eventually dying.
The lengthier way:
git clone
this repository.cd dawn
.npm install
to install dependencies for development.open specRunner.html
(OSX) orxdg-open specRunner.html
(Linux) to run unit tests.open dawn.html
(OSX) orxdg-open dawn.html
(Linux) to observe dawn
- diagrammed ideas
- wrote user stories
- defined our MVP
- wrote tests
- wrote code
- refactored
- repeated steps 2 - 6
as an observer
because I am interested in life simulations
i want to see a basic cell
as an observer
so that there is more to look at
i want to see two different cells
as an observer
so the cells seem more realistic as living creatures
i want to see them move
as an observer
so that more cells can be created
i want the cells to create another cell on collision
as an observer
so that i can get a sense of time elapsing in the simuation
i would like to see the cells grow
as an observer
so that the environment does not become crowded
i want cells to die after a period of time
as an observer
so that the canvas looks interesting
i want there to be visibly different properties in each cell
as an observer
so that the new cells are genetic offspring
the new cell will have attributes that are a mix of the parent attributes
as an observer
so that the new cells don't eventually become the same colour
i want there to be a chance of colour mutation
as an observer
so i can experience cell creation on a different sensory level
i want there to be a sound on creation
- Node.js.
- NPM for dependencies.
- Matter.js for physics, with the following plugin:
- p5-sound for sound.
- Jasmine for unit and integration testing.
- mutation in shape
- update code to ES6
- improved deployment (e.g. using Webpack)
for more points for development, you can check out our issues.