When I load the game, I create a VBO for every type of object in the scene. For example, if there is a certian type of enemy in the game, then I create a single VBO for that enemy, load it in, then reuse the same VBO every time I draw an enemy of that type.
I can't seem to do anything. the page loads, planet is spinning, music plays. and nothing. I'm not sure if it's trying to load stuff, so i let it sit for about 15mins(which should be more than enough to grab 6.5mb on my connection).
on firefox 20.0.1(although it looks like i've got an update, so let me try again when that's downloaded).
edit: same problem on 21.0
It must not be loading the web font correctly used for the buttons on the main menu. I will investigate that. I know the game works on chrome.
One option I would like to throw out there is using Blender.
It is not ready to be a map editor on its own but writing some scripts can extend functionality to allow you to use it as a level editor and export maps. It would take some work to write the scripts but it would less work than writing an editor from the ground up.
Don't make enemies inherit from a drawable object, rather you should have the enemy use a drawable object.
Make the enemy a subclass of an entity object, that other entity objects can then inherit from.
Use smart pointers in your vectors, the standard library has shared pointer you can use (shared_ptr). This way objects don't have to be copied everywhere.
Entity(const std::shared_ptr<Drawable>& drawable);
class Enemy : Entity
Now that you have separated your drawable class from your entity class you can change how an enemy is drawn simply by passing it a different drawable. Whenever the enemy moves or changes in any other way, it updates its corresponding drawable object. This may seem like extra work but in the end it is a much better design and will let your code be much more flexible and your project can continue to grow without coming apart at the seams.