Git Product home page Git Product logo

bombanauts / bombanauts Goto Github PK

View Code? Open in Web Editor NEW
60.0 9.0 14.0 17.04 MB

Bombanauts, inspired by the original Bomberman game, is a 3D multiplayer online battle arena (MOBA) game where players can throw bombs at each other, make boxes explode, and even other players!

Home Page: http://bombanauts.herokuapp.com/

License: MIT License

HTML 0.54% JavaScript 97.58% SCSS 1.88%
threejs cannonjs javascript react redux socket-io expressjs game-development test-driven-development mocha

bombanauts's Introduction

Bombanauts

Live Demo license Build Status

Introduction

Bombanauts, inspired by the original Bomberman game, is a 3D multiplayer online battle arena (MOBA) game where players can throw bombs at each other, make boxes explode, and even other players! Bombs explode into a cross of fire down the aisles destroying crates that stand in their way. When the flames make contact with the wooden boxes (and players ๐Ÿ˜ˆ) they explode!

Gameplay

Players spawn in the 4 different corners and must destroy crates to get to each other and fight till the last one is standing or the timer runs out. Each map is randomly generated for a unique game every time!

Architecture

Bombanauts is built using Three.js for 3D rendering and Cannon.js as its physics engine, with Node.js and Socket.io to handle server-client interaction, dual Redux stores to handle game state on both the client and server sides, and React.js for front end interfaces.

The server handles the master game state, and emits all bomb and player location data down to each player, as well as game logic and win conditions. Physics and rendering operations are then handled on the client side, with client side socket emissions for kills and destroying crates that update the master game state on the server.

How Do I Play?

Your goal is to blow up the other players before they blow you up! Destroy crates to get to the other players and show no mercy!

Controls

Press WASD to move around

Press SPACE to throw a high velocity bomb

Click to plant a bomb in front of you

Press ENTER to open the chat

Press ` (Back Tick) to close the chat

Press ESC to regain control of the cursor (and to see the instructions again)

Click the speaker image to mute and unmute the volume

Move the mouse to look around

Tips and Tricks

  • Be careful! You can kill yourself!
  • If you aim carefully you can throw a bomb around a corner!
  • You cannot throw bombs over walls, boxes, or boulders.
  • You have a strong throwing arm. Throw bombs at other bombs to bounce them away.
  • Bombs can bounce off of everything! (including other players and bombs!).
  • The explosions from your bombs may give away your location to other players.
  • Throwing bombs allows for distance, but planting bombs will give you more precision over where they are placed.

Installation

If you want to play locally or modify our game we encourage it!

Fork and clone this repository.

Then insall the dependencies

npm install

Start webpack

npm run build-watch

To start the server

npm start

Then go to http://localhost:1337/ and destroy!

Special Thanks and Credits

Thank you to our teaching fellows tessaSAC, leafoflegend, and babbins for the consultations and project management.

Thank you to our Instructors danceoval and intersim for the code feedback and reviews.

Thank you yomotsu for the awesome fire animation!

And finally thank you to Agamari for inspiring us to build a game! Check them out!

bombanauts's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bombanauts's Issues

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.