-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
38 lines (31 loc) · 1.82 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Introduction
============
GL Invasion is an oldskool shmup one level game made entirely with WebGL and JS, using Three.js by MrDoob.
You can play a complete version here:
http://jordiros.me/glinvasion
Features
========
- WebGL / Three.js for rendering
- Standard Game/World/Entities model + managers
- All data is in JS files: behaviours, bullet patterns, enemy actions, enemy positions, explosions, decals, powerups, stars, fonts, etc. It's pretty easy tu upgrade and add any of this stuff. All this in /resources
- Simple collision system: polygon + circle (some entities are fine with just a circle, others can have a polygon collision mesh)
- Basic GUI, extendable: screens + controls
- Loading progress at first and for every level
- Basic level editor: map starts static, dragable, and ground units can be moved. So it's like, ok, I'll put this units here, then write the coordinates in JS level data (Level1.js) :p
Air units don't depend on position, but on appearance time. Same on Boss
To Do
=====
- Draw all bullets (and water fx bullets) in a single batch. With basic Three.js is not that easy to implement, but was encapsulated in SpriteBatch.js for easy replacement when done
- Add your favourite postprocessing to the global scene. The scene is already rendering to RT, so it'd pretty easy to add
- Add sound. I've some nasty sounds, and added that I found audio API still a bit buggy, I thought better to have no sound at all atm.
- TextureAtlas. I started without knowing TexturePacker, and I used my custom easy SpriteAtlas to import. It should be nice to have a TexturePacker loader.
- Lifes! Only one life at the moment :)
- A couple more enemy behaviours (Medusa Sinus Head!)
- A nicer level editor
License
=======
See LICENSE file
Contact
=======
Jordi Ros: [email protected]
http://jordiros.me