Song of LaritheaTurn-based tactical RPG

Home / DevDiary / There is no engine

There is no engine

17.06.2026

Since I started sharing access to the alpha, a few people have reached out asking about the engine. The truth is — there isn't one. Larithea is deliberately built on web tools: React Native and Expo on the front, Node.js on the back.

It was a conscious choice. I've played with engines for a long time. I started with Torque back when it got open-sourced. Moved to Corona (still love Lua as a language). Dabbled with Unreal. Ended up on Unity during my SMG years. They're genuinely useful tools — they abstract away textures, materials, lighting, physics. Any reasonable person would pick a ready engine. I have never been accused of being reasonable.

A few things made me pick the harder road. The first is the language. I'm a TypeScript person, and even though coding with AI has made language preferences much less restrictive than they used to be, I wanted to stay in JavaScript. I also always wanted to build a browser game, and that single ambition cuts the engine list down to almost nothing.

The second is that I have a lot of strong opinions (shocker) about how code should be structured — what belongs in the backend, what belongs in the frontend, where business logic should actually live. An engine makes a lot of those choices for you.

The biggest reason, though, is the game itself. Larithea is pure 2D, turn-based, grid-based. There are no complex collisions, no engine-level physics, no fancy materials. Everything is either a static image or a sprite, and the effects don't really go beyond what people post on CodePen. The whole class of problems engines exist to solve isn't a problem I have.

A small side reason: I just love the challenge. What can I say.

There were two pieces an engine would have made easier — collisions and sprite animations. Collisions I only need on walking scenes, where a hero might bump into a friend or an enemy, and worst case there was always the option to fall back to click-to-move. Sprites turned out to be the spicier one. Using AI for sprite generation produced a lot of edge cases — a hero on one sheet would come out smaller than on the next — so I ended up building my own sprite testing and tweaking setup that adjusts the display per sprite name. I could have fixed it with Photoshop magic, but I'm an engineer, not a designer. Code is always preferable. 8)))

So yes — Larithea is built in React Native, deployed to Netlify, and ships to iOS and Android via Expo. It'll get an Electron wrap for Steam. If I ever decide to do a Switch version, that's going to be a very interesting challenge.

← Back to diary