Giter VIP home page Giter VIP logo

rubegoldberg's Introduction

Rube Goldberg Machine

Project Description

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/

Contributors

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

How to Use

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.

Notes

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.

Inspirations

A loose model for what we hoped to achieve can be found here: https://www.youtube.com/watch?v=JT--dCvJNJs

Resources

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

rubegoldberg's People

Contributors

daniibooii avatar peakcodes avatar

Watchers

James Cloos 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.