nicklargent.com

tl;dr - Play it at eridisoft.com

Eridisoft / Jonia

A multiplayer action RPG my friend Dave and I have been building since high school. Still a work in progress.

Dave McBride is one of my oldest friends, and since high school the two of us have wanted to make the same game: a Zelda-style action RPG, but in a shared world you could run around in with your friends, the way Meridian 59 did. We've started it over more times than I can count, in multiple languages and under a few different company names.

Here's where it started and where it is now.

1997: the Visual Basic client, in town
2026: the Old Quarter at night, from the prelude of the main campaign

Rana in 1998, the first version you could actually play

1997 - 1999: Visual Basic and C++

The first version I still have is from July 1997, written in Visual Basic 4. It was a client and a server from the very first build: you typed in an IP address and a name, and everyone logged in to the same map could see each other walking around. That summer it grew AD&D character creation with rolled stats, races and classes, a map editor, and a sprite builder. The game went by both Jonia and Rana, and the company went from "Unknown Software" to "Imperium Software" to Ranasoft.

In 1998 we rewrote it in C++. That version, Rana, was the first one you could actually play: linked screens, creatures that wandered around and shot at you, d20 combat, an inventory, and a character creation screen. When you died it said "Ur DED". It was also completely single player. Later that year we went back to multiplayer with DirectX and DirectPlay, and that version had players on the same screen chatting in speech bubbles, and no game to speak of.

That was the pattern. Every version had either multiplayer or a game in it, never both.


The starting town in June 2013, before the arcade changes

2012: Starting over in Java

In April 2012, Dave started it over in Java, and Ranasoft became Eridisoft. Minecraft had just shown how well a game could run in Java, and this time the plan was to get the engine right first.

That September we tore it up and rebuilt it around an authoritative server, so single player and multiplayer were the same game from then on. From there we pair programmed nearly all of it. A Swing level editor showed up in November. I added the first monster, a rat, along with A* pathfinding and the Eridisoft splash screen. By January 2013 it had loot, damage and death, a main menu, a server list, and an auto-updater. In March 2013 we renamed it from zeldajon to Jonia for good.

That spring it became a little adventure: a starting town with a pub and a well, fields and a forest around it, a basement full of traps, villagers, an ogre, weapons with cooldowns and knockback. We never released it, but we shared it with friends and coworkers, and running around that town together was genuinely fun. It just wasn't a game yet. There wasn't much to do.


The gauntlet zone in October 2013

2013: Making it fun

In June 2013 we tried to fix that by turning it into more of an arcade game. We pulled out the open-ended items and replaced them with a fixed set of weapons: a sword, a bow, a spin attack, and runes dropped by enemies that power them up. Over the rest of the year it got gold, slimes, an AI party member that follows you around, Xbox controller support, line-of-sight fog, and breakable barrels. The idea was to give the sandbox some structure and then start building a real story on top of it.


The level editor in 2014, on the starting town. The red crosses mark tiles you can't walk through.

2014: The editor

Most of 2014 went into the level editor, which says a lot about where our interest was. It got "smart brushes" that pick the right wall, floor and roof tiles based on what's next to them, automatic shadows, and a tileset editor for setting up all of it. It was a really nice tool for building maps by hand.

In September I finished a new title screen: a heroine with a glowing red rune, and a blue crystal Jonia logo brought back from our very first version in 1997.


The new art style in July 2015, the last thing we made before it went quiet

2015: Going quiet

The last things we did were a design doc that storyboarded the whole campaign from start to finish, and in July 2015, a new art style with flat colors and heavy outlines, a redrawn hero, and a new campaign world that held exactly one house, whose front door led nowhere.

And then it stopped for eleven years. It had always been a hobby, and we both got busy with work and other projects. If I'm honest, the part we enjoyed was building the engine. We had the whole story planned out, but when it came time to actually build it, neither of us had much drive for it. We aren't artists, and building maps by hand is tedious, no matter how good the editor is.


2026: The revival

What brought it back was an experiment with having AI generate game art. Art was the thing that had always stopped us, and suddenly it wasn't a wall anymore.

My first instinct was to port it to Godot, which I'd been playing with a lot. I gave that about two days. Too much of the engine was custom and none of it translated cleanly, and looking at it again, the Java engine was actually really good. So at the end of September I got the 2015 build running again, and in October I started working on it with Claude Code.

The village in The Lantern of Wickmoor, in the "Bold Toon" style

The engine kept its 2012 shape, with the same server, the same zones, and the same editor. What changed is how the content gets made. Instead of painting maps by hand, every zone is laid out by a builder script, and the art, music and sound effects come from generators, so changing the look of the whole game is cheap. To pick a style, we drew the same village in ten different art styles and walked around in each one. Under the hood it moved to Java 21 and LWJGL 3, got real lighting with darkness, fire and smoke, a weapons rework, NPC factions, a world generator, and a launcher that runs on Windows, macOS and Linux. Claude can even playtest it, running the game headless, playing through a scripted session, and reading the screenshots. Two weeks after starting, we shipped a demo release. AI tooling is what finally turned a nice engine with nothing in it into something worth showing off.

The main campaign is The Shattered Crystal of Jonia, the one we storyboarded back then. A crystal protects the city, someone tries to steal it, it shatters, and the city is overrun. You play a regular citizen, alone or with up to three friends in co-op. The city is laid out by hand and the wilds around it are generated fresh every game. The prelude in the Old Quarter is playable now.


Wickmoor and Marigold

The demo also has two short games that aren't part of the Jonia story: The Lantern of Wickmoor and Marigold Adrift. They were a test. I asked Claude for a short game that would push both the AI and the engine, and to surprise me when I first played it. Both are almost entirely AI: the concept, the story and the art. I'm not going to describe them here, because you should get to be surprised too.


Jonia runs on Windows, macOS and Linux, and the download includes everything it needs.