Hey everyone, I just made something cool!
I wrote a fractal viewer in C++, compiled it to #Wasm using #Emscripten, and put it on my website (https://kalankaboom.net/).
I wrote an article on how I made it, and I would love for you to check it out and give me all the feedback you can!
Here's the article :
https://kalankaboom.net/articles/rewrite_it_in_wasm.html
And here's the tool :
https://kalankaboom.net/projects/mandelwasm/
Hey everyone, I just made something cool!
I wrote a fractal viewer in C++, compiled it to #Wasm using #Emscripten, and put it on [my website](https://kalankaboom.net/).
I wrote [an article](https://kalankaboom.net/articles/rewrite_it_in_wasm.html) on how I made it.
I would love for you to check it out and give me all the feedback you can!
It has not been trivial (and the code still sucks in some places), but here is the first beta version of #SilkDust running in a web page. It is still not perfect for mobile devices as it expect a keyboard. It also does not support copy/paste. But it kind of works π
http://davbucci.chez-alice.fr/varie/silk/web/silk_dust.html
#IndieGame #GameDev #Javascript #Emscripten #TextAdventure #InteractiveFiction
#silkdust #indiegame #gamedev #javascript #emscripten #textadventure #interactivefiction
HOLY COW! I think it works! π Here is the first screenshot of #SilkDust playable in a browser. It is extremely basic, but it works! I still have plenty of problems to solve, but at least it is clearly feasible! #GameDev #IndieGame #javascript #emscripten #TextAdventures
#silkdust #gamedev #indiegame #javascript #emscripten #textadventures
I think that I have understood how to call JS from C and vice versa. I have some troubles now to synchronize the execution of the code. Gosh... this thing is complicated! #javascript #emscripten
Now I just have to understand how to return a string from #Javastring to #C with #Emscripten...
It seems the solution is this one: emscripten_run_script("import('./keyp.js').then( loadedModule => loadedModule.js_gets()) "); Where of course keyp.js is where the #Javascript code is contained. Quite simple and logical. π ππ #emscripten.
I can do something like this in the #C code: emscripten_run_script("alert('hi');"); and it runs fine. However, if I try to call a function defined in my #Javascript code, it is not seen. How can I indicate to the code where to found it? It is much probably a problem of visibility of code. #Emscripten
I think I can now call #C functions from #Javascript code. It is not so simple as things are not well documented and I'm a complete newbie in the #ES6 world. It remains to see how to call #Javascript functions fro the #C code. #Emscripten.
#c #javascript #es6 #emscripten
I tried #Emscripten, recently. It's an awesome tool and most of the #C code I tried to compile with it runs flawlessly. However I have a problem with #console applications that require a certain degree of interaction with the user. A simple fgets(buffer,size,stdin); does not pause the execution and returns garbage. Anyone has some hints?
π’ Heads up, WebAssembly fans: we have a new Wasm collection!
π https://web.dev/wasm π
This is your one-stop shop for everything #WebAssembly (#Wasm) and #Emscripten curated by WebAssembly DevRel yours truly.
On top, Iβve also worked on absolute beginner Wasm material:
π₯ What is WebAssembly and where did it come from? https://web.dev/what-is-webassembly/
π A step-by-step tutorial on Compiling mkbitmap to WebAssembly https://web.dev/compiling-mkbitmap-to-webassembly/
#webassembly #wasm #emscripten
Playing with #emscripten #webassembly workers brought me to `emscripten_wasm_wait/notify` functions. They are like Linux #Futex objects or WaitOnAddress on #Windows.
I was thinking about introducing an own "Futex" class ... but such a feature is not available on all platforms, so I stayed with regular mutex and atomic spinlocks abstractions which are well known everywhere.
It is always fun to learn how similar and different some platforms are and how to build generic layers on top of them.
#emscripten #webassembly #Futex #windows
@ramin_hal9001 @rml @louis
adjacently, one of the cool #lispgamejam people shared with me the commit from 6 months ago adding #emscripten #webassembly compilation support to #ECL #commonLisp
https://itch.io/post/7892451#:~:text=vitovan-,3%20hours%20ago,-(%2B1)
Now how many hours do I actually have left to figure this <_>
#lispgamejam #emscripten #webassembly #ecl #commonlisp
excited for the #WebAssembly build of #SpacestationDefense! Almost all the pieces are in the place, I've figured out how to wrangle #emscripten into cooperating. I just need the #zig folks to release async support and then I can write the necessary websocket API.
#webassembly #SpacestationDefense #emscripten #zig
Emscripten en funcionamiento.
Question on #licenses: Take an #LGPL licensed library written in C, compile it to JavaScript with #emscripten, and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.
Same LGPL library, build a #NodeAPI module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the #JavaScript code be fine since node loads the module dynamically?
#licenses #lgpl #emscripten #nodeapi #javascript
πMy minimal #WebGPU example written in #C, compiled to #WebAssembly #Wasm
Just need to install #Emscripten
#webgpu #c #webassembly #wasm #emscripten
@dekkzz76 There's some post about #Guile #scheme having acquired or started a backend to the compiler for that, which is nice.
Unfortunately something like #ECL would still make for pretty fat wasm bundles that'd run significantly worse than native.
I'm somewhat happy about #GuileWASM as a prospect because it's much lower friction than the hack of using #ChickenScheme or #Gambit with #Emscripten.
#guile #scheme #ecl #guilewasm #chickenscheme #Gambit #emscripten #commonlisp
Alright have googled to my hearts content and I cannot get it to work.. Trying to get #emscripten working with #raylib and for the life of me cannot get audio to work and the console is filled with the error in the image... help!
(Tested in firefox and chrome)
#Emscripten for #Vala status:
GObject classes were compiling, but no longer now that I am using the native GLib call and destroy code.
Linking is completely broken with emcc. I have to go line-by-line and fix the circular emscripten includes one by one by one.
Maybe it'll be ready for prod in a year.