As of now, this project is on hold, but may be returned to at a future date
This is my fork of a group project which attempted to create a Rube Goldberg Machine-creating game, with multiple levels.
The project was conceived and organized by Chandler Dibble.
The game was developed by a four-person team over one week.
The total time spent developing our project, including time spent learning new tools, is estimated at 120+ hours.
We primarily utilized Javascript with Matter.js.
HTML and CSS were deliberately de-emphasized to allow us to generate our images, shapes, etc. with Javascript.
This is reflected in contributors' roles all including "back-end" work.
Spotify and GIPHY APIs were utilized.
Significant time was devoted to learning Matter.js and implementing ES6, with which we were unfamiliar but eager to practice.
Internally, we needed to generate a basic world for our games.
Objects were created and assigned values to allow their proper interaction.
Functions were written to generate our objects, cause them to interact, and influence the manner in which they interacted.
Each project member spent time learning how to implement Matter.js and ES6.
All members contributed to the Javscript elements, as well as thinking up and creating their own mini-game.
Our project is hosted at: https://xhandler.github.io/rubegoldberg/
Afolabi Akingbe - research, back-end; level contributed: []
Github: https://github.com/folaakingbe
Chandler Dibble - project lead/organizer; research, back-end; level contributed: []
Github: https://github.com/Xhandler
Tim Hill - research, back-end; level contributed: []
Github: https://github.com/peakcodes
Daniel Mace - project historian/note-taker; research, back-end; level contributed: []
Github: https://github.com/Daniibooii
The user will need to clone a copy of our repo.
Then, he or she should open the index.html file in a browser of their choice.
The user will then play through a series of levels, or mini-games.
Each level contains its own challenge, which won't be revealed here.
The user will interact with a choice of objects and place or utilize them to attempt to solve challenges.
One of the challenges we faced was in dealing with the many different syntax options available to us as a result of bringing in ES6 when/where able. The difficulty of developing a fully-functional Rube Goldberg Machine took some time to become apparent. Our vision was significantly more difficult/time-consuming to implement than it first appeared. Still, we are delighted with how our project turned out, and the learning process was well worth the effort/anguish.
A loose model for what we hoped to achieve can be found here: https://www.youtube.com/watch?v=JT--dCvJNJs
Throughout our project, this repo was an invaluable resource, both for its notations, sample code, and linked video tutorials:
https://github.com/liabru/matter-js
This basketball game was played and studied for ideas: https://github.com/msmykowski/basketball-game-matter.js
The same is true of this excellent plinko game: https://github.com/PrimalIan/plinko