Version 0.2 Released!

Version 0.2.0 of Ultima Ratio Regum has been released! Find enclosed a guidebook, new world generation, sixteen skill trees, options, controls, saving and loading, multi-square trees, a thousand bug-fixes, and two massive secrets I’ve been keeping back until now. You’ll know them when you see them. Let me know what you think – and enjoy!

Click here to go to the Downloads page

Map Colouring

I had another blog entry planned and all but written today about the ‘Rule’ tree, but that’s going to be posted next week in light of last night’s work. I’ve been doing some upgrading of the visual appearance of the world map – it was looking rather monotonous, so I decided to add a coastline effect, some shading for height levels, and variation in the icon and coloring used to display land. I’m very happy with the coastline effect, though the height shading is VERY unsubtle at this point, with broad-brush gradients and no real mixing between terrain shades (which I intend to add today or tomorrow), but in principle, that’s a big change I’m moving for. So do please note this is in its very early stages, but here’s what things look like now (map size = small):

However, I then (entirely accidentally) switched the land coloring to be inverted, and got:

I rather like it. It certainly shows up the height shading much more clearly, even in the very basic form that shading currently takes. Rivers look a bit odd, and should probably have their colour changed, but I thought this was interesting enough to be worth posting about. Which does everyone prefer? Note that both are going to gain a lot more detail and subtlety in terms of shading of terrain – different types will blur into each other – and in terms of shading of height, as you can currently very clearly make out the height changes. However, with all that said – which looks better? I’m still undecided myself, so I’d like to open this up to some discussion.

Map Generation Redux

Welcome back! Development is going to start back up some time next week; I also intend to add a development plan to the blog very soon so everybody can see a) what I have left to do for the first alpha, and b) track progress across these. The current intention is for another fortnight of programming, followed by a break, and then a final ‘push’ from around approximately the middle of June to the first release.

In the mean time, to resume blog entries, I’ve had a few requests/questions about the exact map generation mechanics, so I thought I’d start off with an entry on those. If you want a gif of the full process, scroll to the bottom of the entry; otherwise, here’s each step with a little explanation. This was a map with all values (terrain, forest, tectonic activity, rivers etc) on ‘average’. As ever, click a picture to view full-size.

First, a rough outline of the continents and islands is created. The number of initial blocks is dependent upon the terrain value; the higher, the more initial landmasses are created. Some of the clumps of land generate in locations dependent upon previous land, while other areas are placed randomly.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Next, bands of terrain are added. I originally considered having a simulation which included things like rainfall, but then I realized that since I’m not creating the kind of ‘world simulation’ of the sort that DF is (i.e. factors of that sort are important for the player), there was actually no need. Instead, the game creates semi-random ‘bands’ of terrain, starting with tropical areas and then expanding to include desert, savannah, temperate areas, and then taiga/tundra/polar at the edge of the map. The final look of the map looks just as random and varied as a different technique, while this one saves on time and means I’m not adding any functionality into the game which won’t actually have an effect on gameplay (and, if it does one day, I’ll just add it in then). This also ensures that all climate zones should appear on any given map, which will be important for civilizations/species, and – I think – allows for greater variation on smaller landmasses and areas. Desert is ‘zigzagged’ around tropical areas, which ensures a different variation of desert across hemispheres (in this case predominantly in the south) whereas the earlier maps (if you go back and look) simply contain desert as a band above/below tropical.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

After this, the landmass is then expanded and dithered significantly to remove the straight lines of the climate areas shown above. A lot of extra land is added in this stage. Subsequently, forests are added, with a regularity which depends upon the ‘Forest’ variable and different climate zones. Tropical areas get a ton of forest; temperate zones and taiga get some; desert gets very, very rare ‘forest’ areas, and these are actually oases. Also at this stage, one-square ocean areas are removed, since lakes function differently and will be added later in the process when rivers start to appear.

 

 

 

 

 

 

Next up: mountains. Mountain ranges are created, again primarily depending on the ‘Tectonic Activity’ variable but also varying a little according to biome. In the example below, there’s actually unusually few mountain ranges given the ‘average’ value I gave Tectonic Activity in this generation, but it’s still representative of the process. Once mountain ranges exist, they are then broadened, and the height of surrounding areas adjusted appropriately as the land is yanked upwards.

 

 

 

 

 

 

Lastly, volcanoes are added and then rivers are added and connected, all sourced from mountains and terminating in either lakes or the ocean. Both of these are tricky to see in this size, so I suggest zooming in to have a look. Rivers currently only generate from mountains, but I am considering allowing them to generate from high hills which aren’t mountains in the future too.

 

 

 

 

 

 

And, lastly, here’s a gif of the entire process. In a later version once territory and cities and things exist, I will do an equivalent to show how they (and creature settlements) are generated, but since terrain is the focus of the first alpha, I’ve only reflected that here. Next week, I’ll be uploading the development plan, and saying a little bit on each component of the first alpha I’m working on at the moment…

On Prester John

I’ve had a few questions lately about the kind of setting the game inhabits; most people have been classifying it as ‘high fantasy’, and that’s a little away from the setting I’m going for. I thought I’d take an entry to describe the inspirations behind URR’s setting and how this’ll be reflected in the game design decisions.

A central inspiration is the myth of Prester John, or rather, the way it filtered into medieval society and how it affected perceptions of the outside world. It was the idea hatched in Europe around the twelfth century that another christian emperor called Prester John existed in some undefined region east of Europe. It served as the idea that there was somewhere another ally that Europe could count upon in its conflicts, and that some parts of the far distant world were potential allies. This location varied between central Asia and eastern Africa depending on the version of the myth. Dozens of different stories existed about him and his empire, ranging from the entirely worldly to the fantastical; an assortment of mythical creatures were believed to be exist in John’s empire, and the empire itself was thought to be in a variety of places. Even more so, people came to associate Prester John with a variety of different real-world figures, ranging from Genghis Khan to Zara Yaqob, even though they all variously denied being this mythical figure. Effectively, it was a strange amalgam of facts about battles, empires, lands, geographies, histories, all put into a single narrative that was far more desirable and reassuring than the truth, and one that was a reflection of a fundamental lack of knowledge about the rest of the world, and what creatures were and weren’t just figments of legend. Similarly, it altered which distance empires were believed to exist and in what configuration, along with their rulers, important battles, etc.

This is the kind of setting I want to cultivate; that the world is fundamentally unknown, and that each civilization has different (and probably wildly inaccurate) understandings of what the rest of the world is like. The further your starting civilization is from others, the less accurate your knowledge of the far-away civilizations will be. Similarly, you might think that a particular mythological species dwells in one area, while it actually dwells in others; I’d like to get other civilizations having the same misunderstandings about other civilizations. Equally, there may be myths about species which don’t actually exist – I intend to randomize what recruit-able species are and aren’t generated in each world, but this won’t be known until you seek them out and separate the fact from the myth. Myths about all creatures will always exist, but some creatures will be real and some creatures won’t each time. Even within existing creatures, myths may give you inaccurate information at first, as I’m intending to build an amount of randomness into each species, too.

Thus, the URR world is fundamentally medieval, except for the fact that while we never discovered all those strange creatures, the player probably will. I’ll warn everyone now that next week won’t have a blog entry; I have a lot of thesis work that needs to be done. If you’re new to the blog (I see a lot of new sites that have started registering on my incoming traffic recently), I suggest you check back previous entries or the info page for the kind of thing that comes in most blog entries and to get a better idea of what the game currently looks like. See you all in a fortnight!

The Secret Lives of Creatures

With a lot of academic work done the past fortnight, blog entries should returned to their regular schedule from here on. Additionally I’ve noted what people said about interest in hearing about the coding side of the game design – at some point (possibly next week) I’m going to produce a long entry with the details of the world generation system along with the options/variables you can alter in the world gen screen. For now, however, covering all the changes to creatures raises the next question – where exactly are they?

The map key has been redone, and offers the best demonstration of this. Intelligent creatures are located in settlements of a type unique to their species. Each letter for each settlement relates to the creature – ‘C’ for Cyclopes, ‘F’ for Fiends, ‘l’ for Lizardmen, ‘M’ for Minotaurs, ‘N’ for Nagas, ‘O’ for Ogres, ‘o’ for Orcs and ‘U’ for the Undead. Hence:

I don’t know how many of these will be programmed in for the first alpha. Cyclops Homesteads will definitely exist; they have already received a fair bit of work. I may also add in a few of the more unusual ones, but leave them devoid of creatures for now – you may be able to stumble onto labyrinths and necropoles but they won’t be occupied just yet. Well… maybe you’ll be able to find one Minotaur or so. Screenshots of these locations will come at a later date once I’ve done more work on them (creating and improving creature handling is currently taking up most of my coding time).

Additionally, I’d like to have some Shrines in the initial alpha (though, again, currently deactivated). The generation of deities is going to be semi-random; there’s a set list of potential god names and what they are worshiped by/what they represent, but the rituals/shrines associated with each one, and their particular personalities, will be generated anew each time. Additionally, only a selection of the potential gods will exist in any game. Nevertheless, shrines should vary significantly and there will be a few in the initial alpha, along with a few ruins too. Both of these may be infested with wild creatures, of course, so consider that a warning.

In the mean time, I’ve been working on how intelligent creature settlements fit into empires, territories, etc. As monsters do not group into full civilizations, their settlements are comparatively uncertain/short-lived things that won’t have anywhere near as much history behind them as any humanoid civilizations. Humanoid civilizations are generally unwilling to consider monsters as part of the empire, but will employ them as mercenaries and the like; therefore monster settlements either appear on the edge of a civilization and (rarely) are considered part of it; or, more often, they will be just outside a civilization’s territory. Some, of course – like Fiends and the Undead – will never, ever be part of a civilization.

Probably.