Re: Running a D game in the browser

2016-08-07 Thread Sebastien Alaiwan via Digitalmars-d-announce

On Friday, 5 August 2016 at 13:18:38 UTC, Johan Engelen wrote:

That patch doesn't look too bad.
Could you introduce a CMake option for building with 
Emscripten-fastcomp?
And a #define "LDC_LLVM_EMSCRIPTEN" or something like that, so 
that you can change `#if LDC_LLVM_VER >= 309 && 0` to `#if 
LDC_LLVM_VER >= 309 && !LDC_LLVM_EMSCRIPTEN`.


Should be mergable into LDC master then!


I could definitely formalize things a bit, but any patch of this 
kind would quickly be obsolete, as Emscripten catches up with 
LLVM versions.
Moreover, I don't feel comfortable polluting LDC with the 
specificities of some obscure use case (as cool as this use case 
can be!).


It might be preferable - though harder - to patch Emscripten so 
it aligns on LLVM official API versions.


Re: Running a D game in the browser

2016-08-05 Thread Johan Engelen via Digitalmars-d-announce

On Friday, 5 August 2016 at 05:39:57 UTC, Sebastien Alaiwan wrote:
On Thursday, 4 August 2016 at 19:17:34 UTC, Sebastien Alaiwan 
wrote:
at the moment, I have a patch to making the build work (only 
for the binary "ldc2", not other tools of the package).

I created a dedicated github branch "fastcomp-ldc".
The patch: 
https://github.com/Ace17/dscripten/blob/fastcomp-ldc/ldc2.patch


That patch doesn't look too bad.
Could you introduce a CMake option for building with 
Emscripten-fastcomp?
And a #define "LDC_LLVM_EMSCRIPTEN" or something like that, so 
that you can change `#if LDC_LLVM_VER >= 309 && 0` to `#if 
LDC_LLVM_VER >= 309 && !LDC_LLVM_EMSCRIPTEN`.


Should be mergable into LDC master then!

cheers,
  Johan


Re: Running a D game in the browser

2016-08-04 Thread Sebastien Alaiwan via Digitalmars-d-announce
On Thursday, 4 August 2016 at 19:17:34 UTC, Sebastien Alaiwan 
wrote:
at the moment, I have a patch to making the build work (only 
for the binary "ldc2", not other tools of the package).

I created a dedicated github branch "fastcomp-ldc".
The patch: 
https://github.com/Ace17/dscripten/blob/fastcomp-ldc/ldc2.patch





Re: Running a D game in the browser

2016-08-04 Thread Sebastien Alaiwan via Digitalmars-d-announce

On Wednesday, 3 August 2016 at 20:40:47 UTC, Kai Nacke wrote:

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.

That would be great, and might simplify the toolchain a lot.
First we must get the build to pass again ; I'm working on it at 
the moment, I have a patch to making the build work (only for the 
binary "ldc2", not other tools of the package). I can send it to 
you if you want.


Re: Running a D game in the browser

2016-08-04 Thread Martin Tschierschke via Digitalmars-d-announce
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.

[...]

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

[...]

Please let me know what you think!

Fascinating!



Re: Running a D game in the browser

2016-08-04 Thread Suliman via Digitalmars-d-announce

Very cool!

Is it's possible now to write not graphical Apps for web in D? I 
do not need graphics, but I need normal language instead of js 
that can help me to do some computation.


For example is it's possible to write in D app that would 
validate some fileds in HTML and simply show (even on console) 
information about data in them.


Re: Running a D game in the browser

2016-08-04 Thread Sebastien Alaiwan via Digitalmars-d-announce

On Thursday, 4 August 2016 at 09:57:57 UTC, Mike Parker wrote:
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/


HN:
https://news.ycombinator.com/item?id=12225036


Re: Running a D game in the browser

2016-08-04 Thread Mike Parker via Digitalmars-d-announce
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/




Re: Running a D game in the browser

2016-08-04 Thread Chris via Digitalmars-d-announce
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 ;)


Re: Running a D game in the browser

2016-08-04 Thread Sebastien Alaiwan via Digitalmars-d-announce

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



Re: Running a D game in the browser

2016-08-03 Thread Joel via Digitalmars-d-announce

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!



Re: Running a D game in the browser

2016-08-03 Thread Mark J Twain via Digitalmars-d-announce
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.




Re: Running a D game in the browser

2016-08-03 Thread Joel via Digitalmars-d-announce
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.



Re: Running a D game in the browser

2016-08-03 Thread Joel via Digitalmars-d-announce
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?


Re: Running a D game in the browser

2016-08-03 Thread Dechcaudron via Digitalmars-d-announce
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!


Re: Running a D game in the browser

2016-08-03 Thread Kai Nacke via Digitalmars-d-announce
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


Running a D game in the browser

2016-08-03 Thread Sebastien Alaiwan via Digitalmars-d-announce

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!