Legend of Grimrock: Building the Dungeon
-
Category: News ArchiveHits: 1736
It might be shocking news to you but we don't actually have a level editor at all. All our levels are laid out in text editor because that was the fastest way to get started. The initial plan was to first do a few test levels with text files and then code a proper graphical level editor. Well time passed and we actually learned to like the text based system a lot. It actually has some really nice properties: first, because we are using a full blown programming language (Lua) we can use all kinds of nice programming techniques like create functions (i.e. pieces of script code) that help in repetitive tasks or even automate some aspect of level creation like place items procedurally in the level. We can also script all kinds of wacky features into level files without having to wait for our overworked programmer (yea, that would be me!) to add new features to the level editor. Another benefit is that we can easily search for items in the levels simply by doing Find in Files in text editor.
Now to make this process more practical we have implemented some tricks into our pipeline. The most important one is the feature to hot load assets into game while it's running. So the typical iteration loop is something like this: I run around in the dungeon and want to add a side room to a piece of level, I Alt-Tab into text editor with the level file open, do the changes, save the file and *pop!* the changes get instantly refreshed in the game. I don't have to load the level or play the game and walk the party to the right place so it saves a huge chunk of time. We can also hot load other type of assets like textures, sound effects, particle effects, material descriptions, and almost any type of asset supported by our pipeline.