Jump to page: 1 2
Thread overview
Running a D game in the browser
Aug 03, 2016
Sebastien Alaiwan
Aug 03, 2016
Kai Nacke
Aug 04, 2016
Sebastien Alaiwan
Aug 05, 2016
Sebastien Alaiwan
Aug 05, 2016
Johan Engelen
Aug 08, 2016
Sebastien Alaiwan
Aug 03, 2016
Dechcaudron
Aug 03, 2016
Joel
Aug 04, 2016
Joel
Aug 04, 2016
Sebastien Alaiwan
Aug 04, 2016
Joel
Aug 04, 2016
Mark "J" Twain
Aug 04, 2016
Chris
Aug 04, 2016
Mike Parker
Aug 04, 2016
Sebastien Alaiwan
Aug 04, 2016
Suliman
August 03, 2016
Hi,

I finally managed to compile some D code to asm.js, using Emscripten.

It had been done by one dude several years ago, but some changes in the inner workings of Emscripten (the introduction of fastcomp, also probably combined with changes in the way LDC generates LLVM bitcode) made it impossible to use the same technique.

You can play a minimalistic demo:
http://code.alaiwan.org/dscripten/full.html

The source code + toolchain deployment scripts are available on github:
https://github.com/Ace17/dscripten

And a blogpost explaining the technique is available here:
http://code.alaiwan.org/wp/?p=103
(Spoiler: at some point, it involves lowering the source code back to C)

Please let me know what you think!

August 03, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
> Hi,
>
> I finally managed to compile some D code to asm.js, using Emscripten.
>
> It had been done by one dude several years ago, but some changes in the inner workings of Emscripten (the introduction of fastcomp, also probably combined with changes in the way LDC generates LLVM bitcode) made it impossible to use the same technique.
>
> You can play a minimalistic demo:
> http://code.alaiwan.org/dscripten/full.html
>
> The source code + toolchain deployment scripts are available on github:
> https://github.com/Ace17/dscripten
>
> And a blogpost explaining the technique is available here:
> http://code.alaiwan.org/wp/?p=103
> (Spoiler: at some point, it involves lowering the source code back to C)
>
> Please let me know what you think!

That's awesome!

Do you still know the modifications you made to compile LDC with emscripten-fastcomp? I would be interested to have a look into the "PNaCl legalization passes" problem.

Regards,
Kai
August 03, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
> I finally managed to compile some D code to asm.js, using Emscripten.

I know virtually nothing about compilers and even less about Emscripten, but the fact that you managed to get a D game running inside a browser is plain awesome. Congratulations!
August 03, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
> Hi,
>
> I finally managed to compile some D code to asm.js, using Emscripten.

Good work.

[snip]

> You can play a minimalistic demo:
> http://code.alaiwan.org/dscripten/full.html

[snip]

Though, it looks like the score isn't reset when you start a new game. Or, is it intended that way?
August 04, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:

[snip]

> Please let me know what you think!

Another thing, the sound effects are late.

August 04, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
> Hi,
>
> I finally managed to compile some D code to asm.js, using Emscripten.
>
> It had been done by one dude several years ago, but some changes in the inner workings of Emscripten (the introduction of fastcomp, also probably combined with changes in the way LDC generates LLVM bitcode) made it impossible to use the same technique.
>
> You can play a minimalistic demo:
> http://code.alaiwan.org/dscripten/full.html
>
> The source code + toolchain deployment scripts are available on github:
> https://github.com/Ace17/dscripten
>
> And a blogpost explaining the technique is available here:
> http://code.alaiwan.org/wp/?p=103
> (Spoiler: at some point, it involves lowering the source code back to C)
>
> Please let me know what you think!

Interesting but a bit lame.

1. The movement should continue in the same general direction, if not exactly the same. It is impossible to avoid something that can do anything.

2. The movement shouldn't accelerate so fast, it's harder to control where you want to go when if you hold the key down a you end up on the other side of the screen.

Of course, I doubt this was a game intended to be fun ;)

The good news is that you have a lot of upside. Consider making a video player... replace stinking flash! Could create better websites by having more programmatic functionality, etc.. (more app like websites)

The upside, from the initial looks, seems to be quite good if you go in that direction.

August 04, 2016
On Wednesday, 3 August 2016 at 23:23:24 UTC, Joel wrote:
> On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
>> Hi,
>>
>> I finally managed to compile some D code to asm.js, using Emscripten.
>
> Good work.
>
> [snip]
>
>> You can play a minimalistic demo:
>> http://code.alaiwan.org/dscripten/full.html
>
> [snip]
>
> Though, it looks like the score isn't reset when you start a new game. Or, is it intended that way?

Oh, I read it wrong, the score is reset. Dummy, me!

August 04, 2016
On Thursday, 4 August 2016 at 05:03:17 UTC, Joel wrote:
[snip]
>> Though, it looks like the score isn't reset when you start a new game. Or, is it intended that way?
>
> Oh, I read it wrong, the score is reset. Dummy, me!

It's just that you're becoming better at this silly game :-)

Thanks for your replies!

As Mark guessed, I didn't spend a lot of time on the game-design side (but I'm still interested in game-design related comments).

It's more of a proof of concept, using D.

Using C++, there already are impressive demos:
https://kripken.github.io/BananaBread/wasm-demo/index.html

August 04, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:
> Hi,
>
> I finally managed to compile some D code to asm.js, using Emscripten.
>
> It had been done by one dude several years ago, but some changes in the inner workings of Emscripten (the introduction of fastcomp, also probably combined with changes in the way LDC generates LLVM bitcode) made it impossible to use the same technique.
>
> You can play a minimalistic demo:
> http://code.alaiwan.org/dscripten/full.html
>
> The source code + toolchain deployment scripts are available on github:
> https://github.com/Ace17/dscripten
>
> And a blogpost explaining the technique is available here:
> http://code.alaiwan.org/wp/?p=103
> (Spoiler: at some point, it involves lowering the source code back to C)
>
> Please let me know what you think!

Cool. I think the D Foundation should actively support stuff like this (once funding and resources are secured). Mobile (iOS/Android) and asm.js. That's where huge shares of the market are, it's a "must have".

PS I don't like WASD in the game, I'm not left handed ;)
August 04, 2016
On Wednesday, 3 August 2016 at 20:26:23 UTC, Sebastien Alaiwan wrote:

>
> And a blogpost explaining the technique is available here:
> http://code.alaiwan.org/wp/?p=103
> (Spoiler: at some point, it involves lowering the source code back to C)

Reddit: https://www.reddit.com/r/programming/comments/4w3svq/running_a_d_game_in_the_browser/

« First   ‹ Prev
1 2