Giter Site home page Giter Site logo

droid-engine's Introduction

DROID ENGINE TECH

CONCEPT

Droid Engine is a game engine designed around the SCENE->ENTITY->COMPONENT model.

It is written in ES6 Javascript and rendered in an Electron shell using WebGL. The concept for this engine is based on similar engines written by Matt Thorson, Noel Berry, and Kyle Pulver.

These guys all have written game engines that combine some aspects of Unity's component architecture while also using concepts derived from Chevy Ray's Flashpunk and/or Adam Saltsman's Flixel.

USAGE

npm install // Installs all of the dependencies.
npm run build // Runs Webpack to build the engine and the game.
npm run start // Runs Electron and launches the game window.

LIBRARIES

My initial idea is to use as many existing libraries as possible instead of having to reinvent the wheel. After seeing Noel's work on Skytorn and Celeste, I know his engine is going to be amazing. However, this project is more of a learning tool for me and a challenging experiment to see how polished of an engine I can write using existing code that is typically meant for web development.

NOTE: (The items in this list are only possible additions to the engine. Thanks to all of the authors and contibutors of each of these for your hard work and contributions.)

  • Electron - Build cross platform desktop apps with JavaScript, HTML, and CSS.
  • WebGL - HTML5 implimentation of OpenGL in the browser.
  • glMatrix - glMatrix is designed to perform vector and matrix operations stupidly fast!
  • Co - Generator based control flow goodness for nodejs and the browser, using promises, letting you write non-blocking code in a nice-ish way. Using this for Coroutines. Here is a good article explaining Javascript coroutines: Promise-Based Coroutines in Node.js
  • socket.io - Socket.IO enables real-time bidirectional event-based communication.
  • Webpack - A tool to build JavaScript modules in your application.
  • Lodash - A modern JavaScript utility library delivering modularity, performance & extras.
  • Babel - The compiler for writing next generation JavaScript.
  • Pixi.js - Create beautiful digital content with the fastest, most flexible 2D WebGL renderer. MAYBE...
  • Quill.js - Quill is a modern rich text editor built for compatibility and extensibility. Just in case we need text editing capabilities.
  • Mocha - Simple, flexible, fun javascript test framework.
  • Passport - Simple, unobtrusive authentication library.
  • nodemon - Monitor for any changes in your node.js application and automatically restart the server.
  • Particles.js - A lightweight JavaScript library for creating particles.
  • Mousetrap - Simple library for handling keyboard shortcuts in Javascript. You never know...
  • Howler.js - howler.js makes working with audio in JavaScript easy and reliable across all platforms.
  • markdown-js - A Markdown parser for javascript.
  • Lettering.js - A lightweight, easy to use Javascript injector for radical Web Typography.
  • Math.js - An extensive math library for JavaScript and Node.js.
  • Messenger - Growl-style alerts and messages for your app.
  • Tween.js - Javascript tweening engine.
  • RethinkDB - The open-source database for the realtime web.
  • Jasmine - DOM-less simple JavaScript testing framework. Another possible test library.
  • Matter.js - Matter.js is a 2D physics engine for the web.

License

MIT


droid-engine's People

Contributors

kustomzone avatar shanedroid32 avatar

Stargazers

 avatar

Watchers

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