Wintermute Engine > WME Lite

Proof of concept: WME lite engine running in browser

(1/2) > >>

HCDaniel:
Hi,

I have created a proof-of-concept port of WMElite to run in a (modern) browser. You can check it out here:

http://wmelite.bplaced.net/wmelitedemo/test.html

The port is using Emscripten https://github.com/kripken/emscripten to compile the engine C++ code plus dependencies into JavaScript. Although I have not yet spent a lot of time for optimizations, it already seems to work well, without using too much resources. Nevertheless, there will likely be bugs.

Please try it and let me know what you think.

Mikael:
Impressive! Works flawlessly here.

Mnemonic:
Wow, I didn't expect to see anything like that. That's awesome. How does it translate the graphics/sound stuff?

HCDaniel:

--- Quote from: Mnemonic on October 14, 2018, 09:00:45 AM ---Wow, I didn't expect to see anything like that. That's awesome. How does it translate the graphics/sound stuff?

--- End quote ---

The overall concept of WMElite hasn't changed since you created it, with the exception of replacing BASS by SDL_Mixer, and the addition of audio processing libraries for sound effects. I did not need to do sth special for this port to work.

The major work is done by SDL2, audio is provided by SDL_Mixer, images by the freeimage library and true type fonts by the freetype library.

All the libraries and the WMElite engine compile with minor modifications using the emscripten tools.

The data.dcp is preloaded and provided in something called "emscripten virtual file system", eliminating the need to adjust file system operations in the WMElite engine.

So it's basically the emscripten port of SDL2 that does all the translation work, from opengles2 to webgl, and also handles audio output somehow. I did not even have to look at how it is done, it "just worked". (Well, ok, I had to adjust the game main loop, emscripten wants to use it as callback, an endless loop would block the browser).

lacosaweb:
Great job! This is amazing!

Thank you!  ;)

Navigation

[0] Message Index

[#] Next page

Go to full version