Giter VIP home page Giter VIP logo

hoverbattles's Introduction

Hoverbattles

The clone of Hooverbattles aims to launch the game as

This is a toy project I pick up from time to time, socket.io + webgl + a healthy dose of shared server/client code = gaming fun, supposedly. I'm trying to do the quickest thing possible for most part, to get to a playable game with as little fuss as possible, this means spending days on little pieces of technology is a no-no (brute force terrain, lack of octrees etc :-))

To run the server do,

npm install mkdir cache node server.js

Currently implemented:

  • A basic rendering pipeline (render everything given to it, make sure that globals are settable like camera etc)
  • A shader delivery system (packaging up shaders from server into a single json file)
  • A brute force terrain, genned from sin/cos and cached on disk (so theoretically could model them in a BMP or whatever)
  • A simple hovercraft simulation + interaction with terrain
  • The simplest scene graph ever, with the obvious bit of frustum culling
  • Entities + components system
  • A chase camera with a bit of damping, I'm sure it'll cause motion sickness for people that way inclined
  • Some 'intelligence' in the chase camera (trying to look at the current target)
  • An eventing system for inter-entity (and internal) communication, used for syncing across network boundaries
  • A messaging system for external input into scene in a replicable manner (across client/server boundaries)
  • Synchronisation code for keeping client/server in sync with some rubber-banding for good measure
  • collision detection between entities (hah, for x in entities, for y in entities...)
  • A GPU calculated particle system (without trails, it's a bit hard to see other players)
  • An input system for controlling the hovercraft (WASD + Space for jump)
  • Targetting + automated firing on entities
  • An overlay system for rendering 2D elements + text over the scene
  • a HUD for displaying current targets/other players
  • A loading screen (using the overlay system)
  • Entity destruction sequence, explosions and all that
  • Post processing pipeline (currently being used for a tacky neon glow)
  • Scoring (entity is destroyed, score is incremented across client/server displays)
  • Login/registration/guest-access
  • Persistence of events to a datastore (for statistics in the future)

See the issues list for tasks I'm currently eyeballing

hoverbattles's People

Contributors

ebiroll avatar robashton avatar testaccountforob avatar

Watchers

 avatar  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.