Ascent – A WebGL Space Simulator Framework

Posted by filed under Experiments in Web.

Quite a while ago, I started RavenJS. It was awesome fun. Seeing it grow, and in the end, being able to walk the landscape, was an amazing experience. It triggered sweet memories from the past, and also showed what was possible today. But the whole project sadly has many downsides, the biggest being the fact that I will never be able to put it online somewhere. I still believe that it would have been an awesome opportunity; if I were the original publishers, I would have jumped at it, created a freemium model around it, and spent the rest of my days wondering where to put all the money. Seriously, an online MMORPG, without any plugin or executable to download, just open your browser, enter your (OpenID-) credentials and play? With decent 3D graphics? Plus, that all in a famous setting? I can hardly imagine the amount of success of such a thing would have. (Think about it a little more – virtually no barrier to play, payment and id providers all already in place, pushing updates without downloads, and so on…)

Well, however, I don’t want to get carried away, I guess you get what I mean. So, I decided to start something else. Something that would be easier to realize for a non-3D-guy like me. And something using three.js, as I’ve always been using GLGE for my WebGL experiments (RavenJS was built using GLGE, too). And, most important, something that could be open source and live on GitHub. Something that everybody could play, download and fork. Something people could contribute to, modify, extend, make better.

And so I did. It’s all in the very beginnings, but it’s really fun already. I’m calling it “Ascent” for now – probably to a big deal in remembrance of an old breathtaking game where you would fly around in mine tunnels. The idea is that it should not be only a game, but instead something that would make it incredibly easy for other people to add to it – more of a framework, so to say, than just a game. The goal is that you’d be able to write your own level in a ridiculous amount of time, like, say, ten minutes. Stuff like menus and appearance are easily customizable. Adding your own models is a piece of cake. You name it.

Yeah, I know, that’s quite a challenge. And even though it has a space setting, which solves a lot of problems I had with RavenJS, there’s so much I have just no idea how to achieve. And if it’s just for math – I quit studying math after two years or so, and now it all comes back to me… I just recently learned that there is quaternions, a number system quite frequently used to work with numbers describing objects in euclidian space. Dude. A new number system. But, I’ll manage. I’ve rarely been that enthusiastic about a project.

And I hope that people will help me out and correct my mistakes and foolish assumptions. So, here’s the marketing:

This will be awesome! You’ll hack a new level in no time, call your friends and start playing away, shooting rockets at your enemies from your fancy spaceships! It will be epic!

Right now, everything is a little bit hacky, and there’s not much to show, but the foundations are laid. I’m still a little bit afraid to put it up on GitHub just yet, as it’s really so-far-from-anything-close-to-presentable. I’ll try to add a couple of things and do some cleanup, just to prevent people from pointing their fingers at me and start laughing ;) So, here’s a video I quickly whipped up showing it in action:

 

[Comments are automatically closed after 30 days.]

Comment via Google+