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.