Hello Devs!: Juni – a Python-feel systems language that compiles to WASM for games built on a custom software called JunoEngine URL https://junoengine.netlify.app The Hotpockets I built Juni, a statically typed systems language that aims for Python-level readability with C++-ish control: no GC, explicit memory/refs, and a compiler that targets WebAssembly. Juno is the repo around it — browser IDE, Tauri desktop shell, and a small game/sim runtime. Why I wanted one language that could author game logic and run it in the browser without a JS/TS game-script layer as the source of truth. Juni compiles to WASM; the host is a thin JS runtime (Canvas2D, WebGPU 3D, input, audio, ECS scenes). What’s in the box (v9.2) Compiler in Rust (parse → check → WASM codegen), plus LSP bits Browser IDE (Vite + Monaco) with compile/run in-tab, scene editor, tile brush, 3D Edit viewport on WebGPU Entity scripts: .jscene handlers map to WASM exports like player_on_update Optional on-device AI via WebLLM (off by default) juni export-web for static game builds; desktop installers via Tauri CI Apache-2.0 source; distributed IDE also has an EULA Interesting bits / tradeoffs Language surface is deliberately small — enough for frames, entities, and host calls, not a general OS language yet Browser “LSP” is WASM hover/diagnostics, not a full language server process 3D is a slice (mesh/light/camera + world_draw3d), not a full engine competitor Themes and a silly Cat Coffee panel exist because the IDE is also a place I actually sit in Try it Open the IDE, hit Run (⌘/Ctrl+Enter). There are tutorials and a platformer example in-repo. Repo: https://github.com/AJpro774/Juno I’d love feedback on the language surface, the WASM entity-script ABI, and whether the IDE feels usable for small 2D/3D prototypes.
Juni: Python and C++ United in JunoEngine WebApp
Full Article
Original Source
Read the full article at Dev →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.