Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A WebGL Space Simulator Framework
branch: master
Failed to load latest commit information.
campaigns Fix missing reference bug
css Initialize marker psoition
lib Add decoupled input lib
models Revert "Add skybox method"
src Use decoupled input
textures A first shot at a radar like display
.gitignore Initial commit Typo List child projects
index.html Remove unused script tag

      _/_/      _/_/_/    _/_/_/  _/_/_/_/  _/      _/  _/_/_/_/_/
   _/    _/  _/        _/        _/        _/_/    _/      _/
  _/_/_/_/    _/_/    _/        _/_/_/    _/  _/  _/      _/
 _/    _/        _/  _/        _/        _/    _/_/      _/
_/    _/  _/_/_/      _/_/_/  _/_/_/_/  _/      _/      _/


Ascent is a WebGL experiment.

The setting is a space simulator.



The main goal of Ascent is to create a tool that makes it exceptionally easy to script levels, without having to know anything about WebGL, 3D stuff or anything animation related.

The secondary goal is to have a project that is fairly self-explanatory to encourage forking, modifying and extending it.


It's a mere skeleton right now, but basic functionality is in place, like adding new levels, pausing the game, a menu, a settings panel, loading models and so on.


To see it in action, just:

Open Issues

Too many to list here. The first things that I can think of include:

  • Use instances for levels instead of the current mixin approach
  • Level creation needs to be easier
  • Proper scene cleanup is not working, so you can't start a new level without reloading the page
  • Need to be able to save state
  • Levels in campaigns must be able to depend on each other's completion; same goes for campaigns
  • Need proper models; most models don't have textures
  • Need sound
  • Need to be able to shoot at things
  • Need realistic light sources; there's light, but you can't see where it originates from
  • Need more distributed lights. It might be realistic, but an object being invisible due to no light traveling in the camera's view direction isn't helpful


Ascent wouldn't work without the following third party libraries:

Child Projects

The following projects are results of the work with Ascent and are now available as independent projects on GitHub:

Something went wrong with that request. Please try again.