Code Monkey home page Code Monkey logo

flambe's Introduction

Flambe

Flambe is an engine and asset pipeline for cross-platform multiplayer games.

Written in Haxe, games are compiled to Flash and HTML5, with support for mobile devices. Server-side logic compiles to JS and runs on Node.js, for games that require multiplayer.

Rendering in Flash uses Stage3D, falling back to copyPixels if hardware accelerated Stage3D isn't available. The HTML5 renderer uses canvas, with plans for WebGL support later on.

Overview

Flambe's design and roadmap are guided by a few philosophies:

  • Composition over inheritance: Flambe uses an entity/component system rather than sprawling inheritance hierarchies. The composition pattern also comes up repeatedly in other parts of Flambe's design.

  • Convention over configuration: Project layouts and APIs should have sensible defaults. Manual configuration for unusual use cases should be possible, but not required.

  • HTML5 and mobile web support is a high priority.

  • Flambe is a "clean break" from the Flash API which most Haxe game engines are based on. The Flash API and its many quirks are a huge amount of work to reliably port to other platforms (ask the NME guys) and wasn't designed to run well on GPUs (ask the Starling guys). By writing against a smaller, well-defined API designed for games, Flambe games can be much more portable, optimized, and developed more rapidly.

Building

(These instructions will work when I put Flambe up on haxelib, soon)

Download and setup Flambe by running:

haxelib install flambe
haxelib run flambe

Then cd into one of the demos, and:

flambe-waf configure --debug
flambe-waf install

Then open a browser to deploy/web/index.html. The Flash or HTML5 build will run depending on what your browser best supports.

NOTE: Some of the demos require file parsing, which will throw a security error if loaded from file://. To properly test, you should load from a real web server. One way to do this is python -m SimpleHTTPServer then navigating to localhost:8000/index.html.

If Flambe detected Adobe AIR and the Android SDK, an APK will be installed to your device if you have it plugged in.

What now, you ask? Documentation is slim, but the demos should be instructive. Once the dust settles, I'll write some proper docs and a series of tutorials.

Are things not working? I'd be happy to help, send me a message or chat to me in #Haxe on irc.freenode.net.

Build Status

flambe's People

Contributors

aduros avatar pekuja avatar

Stargazers

 avatar  avatar

Watchers

 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.