HNHacker News
TopNewBestAskShowJobs

Gab_CV

44 karma · joined January 3, 2019

submissionscomments
Gab_CV··on Doom 3 in WebAssembly
I am preparing a Readme file with more explanations. Yes I think I think I'll extract everything on the server, and implement some form of lazy loading thanks to some emscripten mechanism
Gab_CV··on Doom 3 in WebAssembly
It is because IndexedDB maximum row size is not that big, and depends on the browsers
Gab_CV··on Doom 3 in WebAssembly
First commits on the repos (D3 and Regal) are from 17/12. I started to work on this a week or so before the first commits, so it took roughly 4 weeks, with daily progress and commits. In the end the amount of changes in the code is relatively small. Time was mostly spent investigating and figuring out WHAT changes needed to be done for things to work
Gab_CV··on Doom 3 in WebAssembly
Actually, indexedDB is used to cache/store the whole .pk4, but using small chunks of data (50MB or so). This works well in practice.

The best would be that all browsers support the Chrome Filesystem API, but that's not for now

Gab_CV··on Doom 3 in WebAssembly
I think it would be better to stream only needed data, using some lazy load mechanism. Still need to figure out what is the best approach
Gab_CV··on Doom 3 in WebAssembly
One of the difficult thing was not knowing during the whole porting process if in the end it would really work, or not... I almost gave up several time :)
Gab_CV··on Doom 3 in WebAssembly
I double checked on the License specific to the demo (License.txt in the install), and it is indeed less restrictive. However this might be gray area
Gab_CV··on Doom 3 in WebAssembly
Well, the end idea is to have sandboxed native speed applications, immediately available without any installation.

The issue of "loading" needs to be tackled on. In that very specific case, it is just that the program was not designed for streaming of asset data. This is a technological demonstration of possibilities of running native apps in a browser. But lot of work are remaining to do.

Gab_CV··on Doom 3 in WebAssembly
Yes, it is dead just now. I guess I have to take another hosting option :)
Gab_CV··on Doom 3 in WebAssembly
Hi! I am the guy who did this port. I am very sorry for long download times, but the HN/Twitter buzz was unexpected and the host server - a cheap shared hosting I barely use just for testing purposes - is currently crying very hard. Oops...

Also, download code is dumb for now, it is downloading one big full .pk4 file (400MB) for each visitor loading the app. I know, it should be better to only preload necessary assets for sure! Smart streaming of game data is one necessary step for apps on the web.