elara
wasm4
elara | wasm4 | |
---|---|---|
2 | 10 | |
73 | 1,072 | |
- | - | |
9.4 | 8.5 | |
about 1 month ago | 17 days ago | |
TypeScript | TypeScript | |
GNU General Public License v3.0 or later | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
elara
- Elara: A Free Coding Game
-
Show HN: Elara- A free open-source coding game built with Rust and WebAssembly
I'm excited to share a project that I've been working on mostly solo for the past year! It's called Elara, and it's a free open source game that teaches you how to code. You can play directly in your browser without downloading anything or creating an account. It's targeted toward complete beginners, but if you already have some coding experience, there are optional bonus challenges to really test your knowledge and problem-solving skills. If you like code golf, some of the challenges will be right up your alley ;)
Under the hood, the backend/core game logic is built with Rust and compiled to WebAssembly, and the frontend/UI is in TypeScript and React. In-game, you write code in Rhai, a scripting language tightly integrated with Rust. I chose this architecture for a few reasons: it offers good performance for compiling and running user code, has important sandboxing/safety guarantees like preventing infinite loops, and means the entire game can run in-browser without the need for any servers (aside from just serving static files). Keeping costs low was really important since the game is 100% free and I would like to keep it that way. Check it out and let me know what you think! I'll be checking back here periodically to answer any questions.
The full source code is available on GitHub: https://github.com/albrow/elara.
wasm4
-
WASM Instructions
Related:
A fast Pascal (Delphi) WebAssembly interpreter:
https://github.com/marat1961/wasm
WASM-4:
https://github.com/aduros/wasm4
Curated list of awesome things regarding WebAssembly (wasm) ecosystem:
https://github.com/mbasso/awesome-wasm
Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:
https://github.com/qemu/qemu/tree/master/target
- Build retro games using WebAssembly for a fantasy console
-
Zig & Emscripten?
WASM4 seems to be a fantasy console with good docs that can run zig code in the browser, using the wasm target: https://github.com/aduros/wasm4/blob/main/cli/assets/templates/zig/build.zig
- WASM-4 Fantasy Console 2.0 tagged, with new languages Nim, Odin, & Zig
-
WASM-4 is a virtual game console for building retro games directly in WebAssembly
About assembly language, pure WAT (WebAssembly's text format) is an option if you're into that. Check out this example source (play)
Hi, could you please file a bug report? https://github.com/aduros/wasm4/issues
Posting here because there's a Rust template but no actual Rust games yet. Could be fun to see one.
-
WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages
By the way, the memory corruption issue was also recently reported in Go (which uses similar linker flags to Rust) https://github.com/aduros/wasm4/issues/33
What are some alternatives?
coderover-js - Implementation of my coderover programming sandbox in Scala.js
quadplay - The quadplay✜ fantasy console
noita-tools - A collection of tools for Nolla Game's Noita that help get insight into seeds and find ones with special constraints.
wasmtime-go - Go WebAssembly runtime powered by Wasmtime
drg-completionist - DRG Completionist is a free, open-source online progress tracker for Deep Rock Galactic. It's designed to help keep track of all the different overclocks and cosmetics available for hard-working employees like yourselves, as well as to serve as an handy reference for overclock data.
javascriptmusic - A.K.A. WebAssembly Music. Live coding music and synthesis in Javascript / AssemblyScript (WebAssembly)
harmony - An experiment with WebAssembly ✨ Harmony brings Git in your browser! Create and/or modify local files, on the fly, in your browser. Use git branches and commits to track them.
PixelVision8 - Pixel Vision 8's core philosophy is to teach retro game development with streamlined workflows. PV8 is also a platform that standardizes 8-bit fantasy console limitations built on top of the open-source C# game engine based on MonoGame.
web-assembly-rust-typescript-template - This repository was created to show how to link WebAssembly - Rust with TypeScript
BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor
LiveSplitOne - A version of LiveSplit that works on a lot of platforms.
Octo - A Chip8 IDE