Built as a capstone final project at DevBootcamp, a 19-week immersive coding school, Conways is a React Native mobile artistic experience combining Conway's Game of Life with music, color, and user control! The app revolves around simulation of cellular/colony style growth, propagation, survival, and digital death!
Project design focused on the classic version of Conway's Game of Life, with inspired modern elements. The base game is made with React Native, utilizing HTML5's Canvas element and vanilla JS to calculate growth & death, drawing the game board in real time with user touch events (via a WebView component loading local assets).
- A user can touch the screen to generate new live cells and interact with the game as it evolves
- A user can expect responsive performance from the game
- A user can open the app and see a landing screen with logo and styles
- A user can push a start button on the landing screen to reveal the game
- A user sees a border-less game menu allowing start/pause/reset functionality
- A user can access an about page from the landing screen
- A user can access a rules explanation page from the landing screen
- A user can see colored and styled cells while playing the game
- A user can hear music associated with the growth or decay of their colonies
- A user can pick different cell sizes from the in-game menu
- A user can select from themes for cell colors
- A user can adjust the speed of the simulation from the in-game menu (not fully implemented)
In order; playing the game w/o adjusting settings, changing cell sizes via the modal menu, loading in preset cell configurations to play with, and changing themes
List may be out of date, trust the development branch package.json
- node.js (and npm)
- react
- react-native
- react-native-sound
- react-native-animatable
- Apple XCode
- babel-core
- babel-preset-react-native
- enzyme
- chai
- mocha
- react-addons-test-utils
- react-dom
- react-native-mock
git clone https://github.com/Chris-Wong-1/Conways.git
- cd to the Conways directory
npm install
react-native run-ios
for iOS simulation
Package.json should contain a script specification for npm allowing you to run npm test
to run the test suite with Mocha and Enzyme. More sophisticated testing (of game logic) is unsupported
due to the nature of how the game script is injected onto the canvas HTML5 element contained in GameScene's WebView component. Future builds will hopefully support this feature, please feel free to create an issue and tag the team if interested!