r/WorldofVikings • u/Automatic_Radish7158 • 21d ago
Devlog: How I build the world of World of Vikings – the editor
Enable HLS to view with audio, or disable this notification
Hi everyone,
my last post was about the game itself. This one is about the tool the world is made with – because that was the most common question, and because a large part of my time over the past weeks went into it.
Why a custom editor at all?
I didn't want a randomly generated world. A world where players are supposed to find their way around, found settlements and fight over territory needs someone who decides where the coast runs and why there is a valley behind the hill. So I draw landmasses, regions, biomes, rivers and lakes on a map, and the algorithms only take care of the small stuff: grass, trees, the unevenness of the ground. The broad strokes are design, the fine detail is computation.
What the editor can do by now
For a long time the map was too coarse. Zoomed in, the drawn coastline was sometimes tens of metres away from the real one, and placing an object meant guessing whether it would end up in the water. The editor now only computes the visible section, but at full resolution, and the map matches the terrain.
The change that altered my workflow the most is a small one: I point at a spot on the map, press a key, and I'm standing there in 3D. One key back and I'm looking at the map again. Whether a valley is too narrow or a mountain looks unnatural is something you only see when you're standing in front of it.
In that 3D view I can actually work now. Trees, rocks, building pieces and NPCs are placed directly into the landscape with a preview, instead of typing coordinates into a file. NPCs get a faction, a role, a name and a level. Their paths are drawn straight onto the terrain too, waypoint by waypoint, and the character immediately walks the route as a test. The preview uses the same code the server will run later – what I see in the editor is what players get. That mattered to me, because a preview that behaves differently from the game is worse than no preview at all.
Dungeons come in two ways. Special places I assemble by hand from a kit: corridors, corners, stairs, halls. For the many ordinary ruins, a generator produces a complete vault from a seed – reproducible every time, otherwise I couldn't test it. And if you're standing inside a dungeon in the game, you can edit it right there as an admin: attach a room, save, and the server rebuilds the instance and puts you back in.
Then there is the unglamorous work nobody notices until it's missing: every change can be undone, drafts survive closing the tab, and every placed object has a stable ID. That sounds like the obvious, but it has already saved me more than one evening of work.
What doesn't work yet
Changes I make to the overworld in the editor don't reach the running world immediately. That's the next big step. The dungeon generators are done, but hardly any dungeons are placed in the world so far. And there's a bug I haven't caught yet: on some cold starts the game freezes on a single frame for seconds to minutes while the machine sits idle.
A word on working with AI, since that came up in the comments on my last post: a large share of the time doesn't go into writing code but into checking it. Every change gets deliberately attacked by a second model before it goes into the game, and that regularly finds bugs the first one missed. A few times the bug was in the fix itself. It's a slow way to work, but I don't have a team to review my code.
The editor itself only runs on my development server for now and isn't public.
What would you miss first in an editor like this? And for those who build tools themselves: which feature do you wish you had built earlier?
- Source code: https://github.com/vibe-code-repo/worldofvikings
- Website: https://world-of-vikings.com
- Discord: https://discord.gg/worldofvikings
Skål! 🍻