Urgent.News

What's breaking now, across thousands of outlets.

Tech

title: We Built a Full Game IDE in a Browser Tab and Our CPU Barely Complained

We Built a Game IDE in the Browser and Lived to Brag About It Hey, we're Evolved Tech — the crew behind Limn Studio , a browser-based game IDE where you can build, run, and publish 2D games without installing a single thing. No npm. No webpack. No 45-minute node_modules folder that somehow weighs more than the actual game. Just us, a browser, a questionable amount of caffeine, and an unreasonable…

We assembled a complete game development Integrated Development Environment (IDE) within a single browser tab and the CPU barely noticed the strain. This is the inside story of the project, told by the team at Evolved Tech, known for their browser-based game IDE, Limn Studio.

The process started with the editor shell, a single HTML file containing no frameworks, build steps, or bundlers. This simple structure helps avoid the problems that come with additional dependencies and ensures the IDE will still run many years from now. The layout consists of four zones: a top bar, tabs, main content, and a floating action button.

Next, the focus shifted to the code editor. To save on resources, the team created a 400-line vanilla JavaScript implementation instead of using a professional editor like Monaco. This code editor uses a tokenizer to break the code into various spans and a textarea for text input. A bracket analyzer highlights any unclosed curly braces, and a minimap provides a compressed view of the entire file.

The console is another standout feature, offering color-coded log levels, a real Read-Eval-Print Loop (REPL), and message batching to avoid hogging system resources. It even allows you to type commands like player.speedX = 500 during gameplay.

Finally, the heart of the project is the engine, epic.js. This canvas engine was built from scratch alongside the IDE and is responsible for running the games. The engine follows a simple rule: each game must have an update(dt) function, ensuring consistent movement across different systems. A recent update focused on optimizing the animation system, drastically reducing the CPU load and resulting in smoother gameplay.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Not An Insider (Just Lucky)

This is a submission for the MLH x DEV Writing Challenge What I Built What if the person betting on an outcome is also the person who can influence it?

  • "Not An Insider (Just Lucky)" is a prediction-market prototype
  • System checks trader identities and affiliations before trades
  • Interface explains trade block reasons instead of generic errors

Debugging a Compound Interest Calculation: A Coder's Field Guide to Finding the Off-by-One-Period Bug

Every team I have worked on has eventually shipped a finance feature that involved projecting a balance forward in time. Every single one of those features also produced, at some point, an answer that…

  • Off-by-one-period bug common in compounding interest code
  • Implementation pitfalls include APY-as-APR misrepresentation
  • Addressing factors ensures accurate savings projections in software

More from Tuesday 22 September →