A small WebGL game written in TypeScript, ThreeJS and some other libraries. It was written in order to demonstrate the power of WebGL games as they are easy to write, cross plattform and the performance isn't too bad.
somehow it seems like it sorts alphabetically and ignores the order defined by the reference.ts. We should fix this by a manual build process via node / grunt / npm or whatever :)
for loading fonts, images, textures, models, maps, sounds, ...
All entity scripts should be able to tell what they need and the resources should get loaded before the level starts. There should be a loading progress, too so the user may see how many items he still needs to download.
the IE touch has problems with the touchevents -> zooming, performing page-flips, moving the page. We should disable these to allow touch based flight control for the spaceship
the goal is to have almost all code in typescript. Some parts already are, some are still missing. This is not a "refactor all at once" task but more a reminder for changing every class I touch into typescript.
This will get closed as soon as all code is typescript :)
Typescript can't resolve the libraries and library shortcuts. Find a why to tell typescript how to use them und use premade type definitions for the libraries in order to get full type support
There should be more than one level so we need to change them when necessary. This means: When finishing a level (triggered) the next level should load and display.
The newest chrome doesnt respect the meta viewport tag in order to disable scrolling. There needs a way to be found to disable scrolling completely as the virtual joysticks wont work if you dont.
This could improve the performance but doesn't necessarily have to.
We know a lot about the level which three js does not. Especially as we are in a simulated 2d context. Maybe clip the parts we don't need and see if we can win a few frames.
"useScreenCoordinates" has been dropped from the latest three js releases so we need a second render pass for our hud. I guess this approach is more clean and provides even more possibilities.
Though I'm unsure how to handle font rendering on the HUD yet.
Cocoonjs provides native box2d bindings -> use them if available! Build wrapper around Box2D so we can use both versions without thinking about the context.