Ultima Ratio Regum is a "a semi-roguelike game inspired by Jorge Borges, Umberto Eco, Neal Stephenson, Shadow of the Colossus, Europa Universalis and Civilization."
Ultima Ratio Regum so far procedurally generates a solar system, a planet and its continents, ziggurats, the riddles and block-pushing puzzles that allow you to explore those ziggurats, and the positions of the vines covering the blocks you're pushing. It's beautiful.
Ultima Ratio Regum is one of a few ambitious, long-term projects which I think represent the most exciting things about indie game development, about PC games, and about what technology can do for the games of tomorrow. I emailed Mark Johnson, the game's solo developer, to talk about all of the above.
Procedural generation is being used more and more in the creation of games. Is that due a technological leap, or necessity?
In a way, I think it's neither. Procedural generation has been used in games for a few decades, and whilst I can understand the necessity argument for creating games of a certain scale and making the game shoulder some of the weight of generating content, so to speak, I think it's a more social phenomenon.
Games like The Binding of Isaac, FTL and Spelunky have taken roguelike mechanics from being only in a fairly niche set of games to a wider audience, and more and more people now see the kind of interesting and highly challenging gameplay they can produce. To me, the real proof of this was when the word "roguelike" was mentioned on stage at E3 2013 - a truly momentous occasion for roguelike players! I think there's also a certain appeal in designing a game that can still surprise the designer, and throw up interesting/emergent things you might not expect.
What made you decide to rely so heavily on it for content creation in Ultima Ratio Regum? Is it about making content creation easier for you when you're a single developer?
I'm not sure if procedural generation makes content generation easier or harder; the time you save in creating hand-drawn levels is then spent again making sure everything fits together. I find doing 95% of a generator takes 5% of the time, then the remaining 95% of the time is spent handling exclusions, telling the game how to deal with unusual situations the generator might throw up, and so on. At the same time, you can't "close off" too many options, otherwise you then lose the benefits of procedural content, so I think there's a balance to be struck there (and one that takes quite a while to code).
Personally, it was a combination of being a long-term player of games with procedural content, and also just wanting to see what kinds of interesting worlds a complex generator could throw up. The other reason for me personally is that a lot of URR will be "puzzles", procedural riddles or certain kinds of hidden/subtle content, and I didn't want that stuff to be so easily spoiled by a wiki or similar.
What are the benefits from the player's perspective?
The two big benefits to the player are that a procedural game is fresh every time you play it (or at least fresher than a non-procedural equivalent), and also that it demands a very different kind of skill. It is no coincidence, in my opinion, that many procedural games are very challenging - as Daniel Cook described very well, games with randomness demand "mastery", rather than skill, which he describes as the ability to navigate the game's random systems and do the best you can with whatever the game gives you. It stops you from rote-learning strategies and gets the player thinking every single time they play, which is something I value a lot in the games I play. No matter how technically skilled I've become at one, it can always produce difficult and unusual situations.
What's hard about procedural generation? What are the current limits on what we can do with it?
As I say, the hardest part is creating generators which can produce a huge range of situations, but can also intelligently handle any weird situations that might arise - like two rooms that aren't connected, or making sure procedural keys and doors are correctly placed, and that kind of thing.
One major goal of URR is to challenge the idea that roguelikes are graphically simple, and to do this by creating "procedural graphics", which isn't really something that's been extensively explored in roguelikes until now. For instance, the "landscape" in the main menu is generated uniquely every time you load the game, and each design on the stone blocks in ancient ruins has dozens of permutations.
You're making an ANSI 4X RPG set in a fantasy world with puzzles and combat and armies and history and so many different things. What's your key passion? What drives you to make this thing?
I'll be the first one to admit my key goal has changed over the project! With that said, it has very much now settled. The key driver at this point is to make a game that moves procedural content in new and interesting ways, and also to connect on some level to my daytime work as a social scientist (hence the civilization/history generation, etc).
A large inspiration for the project is the work of Jorge Borges, an Argentinian author who wrote a lot about themes (labyrinths, infinity, etc) which resonate with roguelikes but haven't been fully explored. I think there's a lot of room for creating some very interesting gameplay ideas based on his work, and even though I'm over two years into the project, that's only just now starting to come together.
As for what drove me to make this thing, I've just always wanted to make games, and I finally decided to teach myself to code, get off my backside, and do so! If nobody else is going to make your dream game, only one option remains...
There's a uncommon scale and ambition to URR, and games like it. What makes you want to do something so large, rather than condensing your ideas?
I suppose the scale has something to do with me as a person - when at university, for instance, I found it very hard to stop myself going off on interesting tangents in my work and focus on the actual question at hand. Similarly, I'm doing a doctorate at the moment and I've had to keep "focusing" my work so it actually forms a coherent whole.
URR is a way that I can indulge a bunch of interests - procedural generation, challenging games, social/political science, and also a few philosophical ideas which are going to feature more in the game in the future - in a single place, with no overt "restrictions". I know that comes with it a risk of the game losing focus, but (although it may not look it) the objectives are now actually far more tightly-knit than they were perhaps a year ago.
How do you remain motivated over such a long-term project?
Various ways. Firstly I have a clear image of where I want it to be in six months, say, or a year, and focusing on that goal really helps. Secondly it's a real morale booster to spend a week programming in a new and detailed generator, then have it start throwing up coherent levels or ideas. Thirdly the fans I've gathered so far have been a huge motivating factor - I'm routinely amazed and humbled by how positive some of the feedback has been. It's great to see that the ideas have really resonated with some people.
Do you imagine you'll make lots of games in your lifetime, or do you imagine working on URR for decades to come as the Dwarf Fortress creators do?
I'm pretty confident this is the only large game I'm going to make. I anticipate at least another decade of work on it, give or take. I do also have some very small and very focused ideas for games I'm going to make in the future, setting aside maybe just a week to produce the entire thing. I haven't done so before this year, but I feel my programming ability is now sufficiently not-awful that I'd have a good chance at quickly firing out another game.
There's a yearly 7-Day Roguelike (7DRL) challenge, which is precisely what it says on the tin, and next year I intend to do it for the first time with one other idea I've had. I doubt I'll ever make a game without a procedural aspect to it, but my 7DRL ideas are sufficiently weird that I'd really like to try them out.
With such a big project, and such a focus on its world design, how do you approach the design of game mechanics?
This has been a tough part of the project. The last release was the first that actually contained any "gameplay", though every release from now on is going to have less and less world generation and more and more gameplay.
I'm thinking about design primarily in terms of setting up very difficult and very interesting situations for the player - you can have so many variables in a game like this, ranging from the "macro" like what belief the player follows and the effects that might have, to the "micro" like what particular items you have on you at the time, that I suppose it is about creating broader systems where vast numbers of things can arise in combinations I might not have foreseen.
Equally, even in its final iteration URR will have far less combat than other roguelikes, so I'm trying to make a slightly slower, more exploration-focused game in some ways, without sacrificing the challenge that combat with a lot of variables produces. A lot of the difficulty in the game doesn't come from combat, but from other sources. The release I'm working on now focuses on procedural traps with various outcomes, triggers and effects, and even from my early testing there's clearly space for some interesting emergent interactions there.
You're doing a Space Policy PhD. Does that feed into URR in any meaningful way?
I wish I could say yes, but sadly not. My work and reading as a social scientist in a broader sense heavily informs the game - though this won't become clear until 0.5 is released, which will bring with it all the generation of civilizations, history, religions and the like. Some of the central thematic elements of the game (which as I say are only now starting to emerge) are about how we understand truth, and the ways in which different civilizations perceive reality according to different metrics (science, myth, etc), and that's all heavily influenced by my day job. Though there won't be any spaceships. I think.
What games do you love right now?
For better or worse, difficulty and challenge are my primary driving force for the games I play, so I either end up playing games which demand a lot of thought and strategy - Dungeon Crawl Stone Soup is a perennial favourite - or those that need high levels of twitch reflex. On the latter note, the XBLIG game Score Rush [also available as a free-to-play browser game at that link -Ed] is one of my current obsessions, and I really enjoyed Electronic Super Joy and recently (finally) 100%ed Isaac.
At the moment I'm also doing the rounds of older games I never played at the time - I'm currently going through the original Deus Ex, and System Shock 2's on the list. At the risk of sounding like the quotidian indie games snob, apart from Dark Souls & XCOM (which has a great permadeath mode) I can't think of a recent AAA game I actually bought! I guess URR's objectives are reflected in the games I play - the tougher something is, the more satisfying it is when you figure something out for yourself and develop that kind of mastery over the game's systems.
Ultima Ratio Regum is currently available to download in version 0.3.1c, and is updated regularly. So far it generates riddles and an entire solar system.