Home

Awesome

GF - low-level web games framework and content pipeline


  1. Features
  2. Setup
  3. Tutorial
  4. Raison d'etre
  5. License
  6. Contributing

GF is a modularized Javascript library that is built atop Google Closure, using the Closure Library as a base and the Closure Compiler to build the tiny and fast output Javascript files. Designed to be a set of tools to enable rapid high-quality games, it's not an engine (like Unity) or scene graph (like three.js), but more akin to XNA or SDL. Pick what you need, get started quickly, and spend timing writing game code vs. platform abstractions and content pipelines.

For detailed information about the framework and its classes, see docs/.

DISCLAIMER: This project should be considered alpha - it is likely to have significant changes and additions, and should not be considered stable yet. Use at your own risk.

Game Library Features

Setup

Setup is largely automated via setup.sh or setup.bat (depending on platform). For instructions see setup.

Project Tutorial

For more information about getting started, check out getting_started.

Raison d'etre

The web is an awesome platform for games however there have been very few attempts at creating a good development flow for building them. It's trivial to build a simple mash-up prototype, but there is a lack of focus around good engineering. The goal of this project, as well as anvil-build, is to bring some of the good things about other development environments over to the web while also recognizing and respecting what makes web development so much fun.

Your own build system!?

anvil-build arose from the need to have a solid content pipeline and build system that was web-aware and not being able to find any that fit the bill. It's modelled after the build system used internally at Google and provides many things not possible with others. It's in its early stages and is the second revision of the build system I originally designed for this project - the benefits of it cannot be overstated and I hope to demonstrate them soon!

Why Closure?

What about three.js and other awesome libraries?

The goal of GF is to build large, scalable, maintainable Javascript Games. It focuses on providing blocks upon which to build complex logic while imposing very little of its own. It's not a rapid prototying solution, and the minimum amount of work required to get something going is much higher than the elegantly simple three.js, but where it shines is on larger, longer-lived projects.

License

All code except dependencies under third_party/ is licensed under the permissive Apache 2.0 license. Feel free to fork/rip/etc and use as you wish!

Contributing

Have a fix or feature? Submit a pull request - I love them! Note that I do keep to the style_guide, so please check it out first!

As this is a Google project, you must first e-sign the Google Contributor License Agreement before I can accept any code. It takes only a second and basically just says you won't sue us or claim copyright of your submitted code.