nucular/jsbp

webkitAudioContext doesn't work on Firefox

Opened this issue · 2 comments

20kdc commented

...I'd write a descriptive issue here, but I'm pretty sure the solution is just to change "webkitAudioContext" to "AudioContext"
etcetc, hardcoded-vendor-prefix bad, etcetc.

I don't think the author will ever fix this. However, 4 years ago, I wrote my own implementation, without prefixes. But this project is what inspired me.

20kdc commented

I don't think the author will ever fix this. However, 4 years ago, I wrote my own implementation, without prefixes. But this project is what inspired me.

For my actual usecase (trying to develop BytePusher stuff) I wrote something that would accept arbitrary .bp files, had some debugging functionality, and used asm.js for the processor core.

However I never really managed to make good use of it. BytePusher creates... weird requirements on the build system, and the instruction budget is just awkward enough to really be a problem, even for something as simple as, say, a Mario clone.
To get anything really interesting done you have to go for low-FPS, and even then, lots of tricks break down under various situations.
A 20hz side-scroller needs two display buffers and a third "scrollable composited tile layer" buffer, and needs to budget one frame just for potentially scrolling the tile layer, and another frame just for copying that to the screen before sprite compositing. The remaining frame then has to catch up on anything not scavenged from the downtime on the other two frames (actually drawing in new tiles, say), game logic, and sprite compositing. This can be calculated from the awkward interaction between the 65536-instruction budget and the 65536-pixel BytePusher canvas, plus the added instructions needed for logic.