I'm very happy to say that I've been able to port Aleph One to javascript thanks to Emscripten. This means we will be able to play games and scenarios directly from the browser!
This is an alpha and there are still a lot of bugs to be solved, but I've been able to run Marathon 2 and Marathon Infinity.
I've uploaded them on my server for now:
http://95.85.29.146/marathon2.html
http://95.85.29.146/marathon_infinity.html
Please wait even if you see the 'All downloads completed' status. This refers to the Javascript code only. The browser still has to download around 50Mb of data, so that would probably take a while.
Here's a list of known bugs:
- The first Marathon is not working
- Preferences are not persisted
- In-game mouse support is not working
- Intro music does not play
- Font-related issues such as wrong characters and wrong container heights
- Sometimes sprites seem to be drawn over liquids
- No trasparency for GUI theme elements (SDL_SetColorKey unimplemented)
- No preview image for save games
I will publish the source code shortly, as I'd like to simplify the building process first. I had to do heavy modifications of the Emscripten source by porting many SDL functions which were unimplemented, and I don't know how to integrate my fork with the Emscripten installation scripts right now, but I hope to sort this out soon.
Just a few questions:
- Would it be okay in the future to host Aleph One somewhere, including the assets of the original Marathons, or would it be against the assets license?
- I'd like to post the source code to github for convenience, is it ok or do you prefer to have it all under the same SVN repo on SourceForge?