Post news RSS Take it to the web

How to get your Drag[en]gine fix on the web, easy and flexible.

Posted by on

As mentioned in the last news post I decided to pull forward in the backlog a topic which has been brought up recently a couple of times: web engine. The idea of getting a high performance game engine into the web is not new but getting the job done right is still a problem. There exist currently only two possible solutions. Either you use a plugin to go directly to the engine or you use some javascript recompilation.

Drag[en]gine Browser Plug-in

Using javascript recompilation though is slow and inflexible since you run all through javascript with WebGL. Implementations are not standardized and the browsers influence a lot the actual performance. WebGL too is a nice thing but not on the level you need it for high performance game engines. This leaves only a plugin as a viable solution until browser javascript can fully access system C-libraries natively without recompilation.

Using plugins usually ends up with limited engine access. This is not what I wanted for the Drag[en]gine. Thus I've implemented a plugin system which does not only place the engine in the website but gives you control over it.

The Drag[en]gine plugin comes as a bundle of a plugin library and various JavaScripts. The plugin currently supports NPAPI for largest support but ActiveX will follow. Additional support is simple since due to the logic residing in the JavaScripts. The plugin itself provides direct access to an engine instance you can fully control from the startup to shutdown.

The JavaScripts provide default launcher functionality. They do the following for you:

  • Load installed Drag[en]gine , modules and installed games
  • Sets up the engine using found launcher configurations on your computer
  • Checks all game requirements are fulfilled
  • Provides support to launch an installed game
  • Cleaning up the engine after exiting a game
  • Logging directly into JavaScript

The provided launcher functionality works similar to the console and GUI launcher installed by the Drag[en]gine. You can thus use the plugin to simply play games through your browser window or (and this is more interesting) to play games straight from the web. You can simply fill the engine with resources from the web and start it up with a Web-Game profile. This way you can make a game with web-content but using the installed Drag[en]gine for maximum performance and compatibility. The same platform independence holds true for the Drag[en]gine between the Web and PC like between PCs.

Creating a game for PC makes it automatically work on the Web and vice-versa with NO extra work, NO recompilation, NO repacking and NO second versions to manage.

Here a little commented video (1680x982) to show how this might look like. The HTML/CSS you can completely modify since the JavaScripts provide functionality leaving the design up to you.


Now is time for some more remaining ticket reduction work. Let's see what the next news post holds in store for you.

GreenForest - - 426 comments

I will launch from pc and in web and edit something if possible.

Reply Good karma Bad karma+1 vote
SinKing - - 3,119 comments

Cool, sounds a little like Unity, but also a little bit ahead of it ^^

Reply Good karma Bad karma+1 vote
Dragonlord Author
Dragonlord - - 1,934 comments

Unity has a web-player as far as I know. Here you get full access to the game engine so you can use it also in web-applications not just games or sing non-javascript languages. You could even dynamically create a game at run-time using javascript. theoretically you could even make a game development environment inside a web-page if you want, it's that flexible.

Reply Good karma+1 vote
Tottel - - 243 comments

Very cool.

Also, do you seriously use that as a cursor? :D

Reply Good karma Bad karma+1 vote
Dragonlord Author
Dragonlord - - 1,934 comments

Rofl! Yes I do, since many years ^.=.^ ( )

Reply Good karma+1 vote
SIGILL - - 1,157 comments

Your work always impresses me! I wish I was as skilled as you are, but unfortunately I'm not sure how to develop my programming skills further :(

Reply Good karma Bad karma+1 vote
Dragonlord Author
Dragonlord - - 1,934 comments

As with most things it's a question of experience. I'm coding since over 15 years and I'm looking at papers of others to get a grasp on new ideas. So the best advice is to simply code stuff and read what other people do, the rest comes by itself.

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.