
-
LittleJS
LittleJS is the tiny fast HTML5 game engine with many features and no dependencies. 🚂 Choo-Choo!
now rewrite it back to JS with https://github.com/KilledByAPixel/LittleJS
j/k :D
-
SurveyJS
JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
-
Yes, for instance this is mixed Zig/C project (the C part are the sokol headers for the platform-glue code):
https://floooh.github.io/pacman.zig/pacman.html
The Git repo is here:
https://github.com/floooh/pacman.zig
...in this specific project, the Emscripten SDK is used for the link step (while compilation is handled by the Zig compiler, both for the Zig and C sources).
The Emscripten linker enables the 'embedded Javascript' EM_JS magic used by the C headers, and it also does additional WASM optimizations via Binaryen, and creating the .html and .js shim file needed for running WASM in browsers.
-
It does, but the main speedup comes from using WebGL instead of Canvas2D. Sadly, Canvas2D is still as slow as it ever was and I really wonder why.
Years back I wrote a standalone Canvas2D implementation[1] that outperforms browsers by a lot. Sure, it's missing some features (e.g. text shadows), but I can't think of any reason for browser implementations needing to be _that_ slow.
[1] https://github.com/phoboslab/Ejecta
-
-
> Except for SDL2, all libraries are bundled here (see the libs/ directory).
https://github.com/phoboslab/high_impact#libraries-used
yep. exactly why I dont use C anymore. the package management story is so bad/non existent, that the typical approach is to just vendor everything. no thanks.
-
I owe a lot of the most informative programming work I’ve done to Impact.
Impact was so ahead of its time. Proud to say I was one of the 3000 license owners. One of the best purchases I’ve ever made. The only game I’ve ever really properly finished was made in Impact.
I loved that the source code was part of the license, and even modified the engine and the editor to suit my needs.
I was so inspired that I worked on my own JS game engine (instead of finishing games - ha!) for years after. I never released it, but I learned a ton in the process and made a lot of fun mini web games with it.
I was also inspired by Impact’s native iOS support, but frustrated that it didn’t run on Android (at the time at least), so I fumbled my way through writing JVM bindings for V8 and implemented a subset of WebGL to run my game engine on Android without web views.[0] I made the repo for V8 bindings public and to my surprise it ended up being used in commercial software.
I won’t bore you with the startup I tried to bootstrap for selling access to private GitHub repos, which was inspired by Impact’s business model…
Anyway, it warms my heart and makes me laugh to see Impact getting an update for the “modern” web with a C port!
I’d say these are strange times for the web, but I can’t remember a time when things were anything but strange. Cheers!
[0]: https://github.com/namuol/jv8
Related posts
-
LittleJS is a fast HTML5 game engine with many features and no dependencies
-
Undergrowth - A tale from O Monolith, The new album by Squid!
-
Undergrowth - A story from O Monolith - The new album by Squid
-
Most popular library to build games in javascript?
-
GitHub - KilledByAPixel/LittleJS: The Tiny JavaScript Game Engine That Can!