An open API service indexing awesome lists of open source software.

https://github.com/codenameyau/threegen

:beginner: Three.js game engine
https://github.com/codenameyau/threegen

Last synced: over 1 year ago
JSON representation

:beginner: Three.js game engine

Awesome Lists containing this project

README

          

threegen
========

###Description
Three.js game engine. Stay tuned!

* [Engine source code](https://github.com/codenameyau/threegen/tree/master/app/assets/js/lib/engine)
* [Game Demo source code](https://github.com/codenameyau/threegen/tree/master/app/assets/js/game)
* [Documentation (Coming Soon)](https://github.com/codenameyau/threegen/wiki)
* [ThreeGen Architecture](https://github.com/codenameyau/threegen/wiki/Architecture)

###Structuring Your Game
By default, your game components are structured as modules using Browserify.
You will need to install node.js as well as globally install Browserify and Watchify.
Here is a [simple tutorial](http://engineering.yp.com/post/browserify) to get started.

The included [Boilerplate Game Demo](https://github.com/codenameyau/threegen/tree/master/app/assets/js/game)
is one possible way to structure your game.

#####Bundling your game into one file:
Everytime changes are made to your game, you must run Browserify.

```bash
cd app/assets/js/game/
browserify main.js -o game.js
```

#####Bundling all changes automatically:
To automatically detect and bundle changes, you can install Watchify:

`npm install -g watchify`

Then run:

```bash
cd app/assets/js/game/
watchify main.js -o game.js
```

###Deploying Your Game with ThreeGen

Before deploying, you can follow these steps to concat and minify your CSS and JS files.

1. Run `npm install`, which will locally download the node packages found in `package.json`.
2. Next run `gulp`, which will minify and concat your files into a `dist/` folder.

See `gulpfile.js` for more details.

##Learning Resources

####Books
* [Jason Gregory - Game Engine Architecture (Jun 2009)](http://www.gameenginebook.com/index.html)
* [Christer Ericson - Real-time Collision Detection (Dec 2004)](http://realtimecollisiondetection.net/)
* [Ian Millington - Game Physics Engine Development (Jul 2010)](http://procyclone.com/)
* [Jim Hefferon - Linear Algebra (Free Text)](http://joshua.smcvt.edu/linearalgebra/)

####Topics
* [Udacity - Interactive 3D Graphics](https://www.udacity.com/course/cs291)
* [Wikipedia - Octree](https://en.wikipedia.org/wiki/Octree)