Ultima Ratio Regum 0.9
Released!
Blog post: https://www.markrjohnsongames.com/2021/12/31/ultima-ratio-regum-0-9-released/
MAJOR FEATURES:
Procedural coin generation has been implemented, and the player now starts with a solid amount of money from their home civilization. Coins can be found in various locations and coinage can be acquired through trade (see below) and coins can be exchanged into other currencies via currency exchanges for a slight loss in overall value. All exchanges, merchants and NPCs give change.
A vast range of trade goods and other items now generate (all with massively varied PCG images), spawn in markets, and can be purchased, sold, and moved around the world; different civilizations prize different things and are particularly noted for creating different things. Different merchants will accept different sorts of goods, and there are new conversation options to help give you information about this - merchants give you good prices for goods they sell or goods close to what they sell, and worse prices for less related goods.
You can now buy and sell from merchants as long as you have the appropriate currency; a large number of factors affect the prices merchants give you. The inventory system has been updated and reflects both what you have on your person, and also trade goods waiting for you to move between locations.
You can ship items to other civilizations when you purchase an item. This lets you can add it to your inventory (which takes an item property called "weight") or ship it to another civilization to later sell there (which takes a property called "space"). Upon travelling to that other nation you can access and sell all your stored items. Finding what nations are most eager to buy what items of what types, and from what other civilizations, is key to building up your wealth. In 0.10 there will be a lot more things to spend your money on, but for now the challenge is to see how much you can make!
Docks now contain a range of new information and options, with specific ships being generated to ply specific trade routes. Each ship has its own set of characteristics (which will be further fleshed out soon) and a period of time it takes to make its journey. Each vessel is tracked as it moves around the world and the docks give you a sense of how long the vessel will take to transport you, how much it will cost, and so forth.
The encyclopedia has been improved, updated, and nuanced. Rather than discovering a new civilization for example immediately gives you all the information on that civilization, data is acquired gradually as you actually find it out, e.g. you must see evidence of their religious policy in order to know their religious policy. This applies to everything in the game now, and there are now specific messages in the message log that tell you when something has been "Discovered", which means it has been added to the encyclopedia.
Major improvements made to the speed of the game's various calculations when you are moving around on foot, and when you are moving around on the world map. The former has been almost halved in computation time and the latter has been reduced to only around one quarter of its previous weight - with no loss of gameplay or relevant things being computed. This has led to the whole game speeding up massively and becoming a much smoother and easier playing experience. There are further optimizations I hope to make in future releases, but these two have already done a lot to make the game run much faster.
MINOR FEATURES:A new religious policy – “Cultism” – leads to the generation of a number of different “micro-religions” (I’m inspired here by the polytheism of ancient Rome or early Mesopotamia) the game calls “cults” whose altars or places of worship are scattered throughout a civilization. These might involve worshipping a particular species of bird, a particular historical figure, a particular location in the world map, and so forth. A cultist civilization will possess between 3 and 5 cults. These do not feature traditional religious buildings but rather shrines (sacella) you’ll find all over the place in various locations, in homes, in towns, in parks, etc. These of course have a new visual generation algorithm which is very distinct from the previous religious stuff, and show visually what the cult in question worships. Appropriate new phrases etc for NPCs have been implemented.
A new cultural policy – “Pastoral” – leads to the generation of more farms around cities and around towns, the appearance of “Naturalist” shops in marketplaces with an appropriate sign, a smaller central capital city, and a general appreciation of all that is environmental.
“Slavery” is now an economic policy rather than something else which didn’t really fit into the policies framework, and hence now comes with appropriate phrases and comments from citizens.
All three of these new policies of course have appropriate images with them.
The world generation screen now has a (if I do say so myself) rather gorgeous new generator for the images you can look at while the world is generating. My procedural art skills have, er, somewhat improved in the last 8+ years and I wasn’t happy with the screen players were shown while the world was being created; this is far more striking and should give a much stronger first impression.
The “choose a civ” page has now been replaced with a page where you can choose which policies you would like in your starting nation, and then the game matches you with the nearest fit.
The encyclopedia now also lists ships, mines, monasteries, cults, and currencies, with whatever information you might have found out about them up to that point.
The “Religious Freedom” policy icon has been lightly altered.
The “Vassalage” policy now has a new, and far less visually displeasing, icon.
BUG FIXES / OPTIMISATIONS / ETC:Fixed a bug where very rarely a jailer would not be able to tell you how many prisoners were in their jail (thereby raising serious questions about their suitability for such an important job).
Fixed a bug with the colours of some clothing items being incorrectly selected when the game tries to print their full images.
I have re-enabled some aspects of the menu screen landscape generation which I had apparently disabled at some point in the past, but can no longer remember the rationale behind. Say hello again to rolling sand dunes and moonlit oceans!
Fixed a problem with farms sometimes not spawning around towns.
Slums no longer sometimes lead to a crash when they generate in an unusual location and cannot find a nearby city wall to attach themselves to when generating.
Pressing Enter again when looking at an NPC or yourself no longer cycles you back to the top of their list of clothes, rings, etc.
Town generation no longer sometimes crashes when trying to place cults in a civilization with the “cultism” policy.
Demonic-style religious altars are now shaded correctly.
Town generation has been slightly increased back to the point where it “should” be.
I really, really think I have fixed the player/house bug this time, but please do check that the house you belong to (looking at yourself and going to the allegiances screen) matches one of the houses for your civilization (in the encyclopedia).
Resolved a long-standing issue where some people give you incorrect directions to the cathedral of their religion; this should now be fixed.
Fixed a visual bug with coastlines sometimes appearing too brightly in the city district view when you’re travelling.
The ages of monasteries no longer result in very strange sentence structures when you ask monks about their home.
Visual problems with “snow” and “sand” terrains have been fixed (another Python 3 conversion issue).
Fixed a graphical bug with the main-menu image under rare conditions.
Fixed an issue where isolationist towns, trying to spawn their town walls on a “curve” in a road, couldn’t quite generate their walls correctly and wound up producing loads of weird negative numbers that caused the game to crash.
Added a "Loading..." thing to screens where it was definitely needed.
Resolved an issue with clothing that had been added as a result of the introduction of armour, causing the game to very rarely not be able to correctly define an item of clothing or phrase a sentence with that clothing in it.
Sorted out a rare bug where particular kinds of travel could cause the player’s “@” symbol to repeatedly show up on the human-scale map while walking around, hence leaving a trail of perfect copies of the player character.
Resolved (I think) a potential crash when entering a crypt outside a city.
Going into a city dock from an outside city gate no longer crashes the game, and going into a dock in a city on foot from a gate inside a city also no longer crashes the game. Both also now display visuals correctly if you move into the dock to consider travel, but then change your mind.
You can only use a dock to use ocean trade routes that actually connect to that dock, rather than any trade route anywhere in the world. (In essence this means that docks often have fewer options and you’ll have to use other ways to seek out other parts of the world).
Crowds of people no longer slowly fizzle away the longer you spend in an area.
A mysterious plant known as the “leek” (
!!) no longer very rarely appears on isolated farms and in doing so crashes the game, because URR cannot at present work out what a leek should look like. (Who can?)
Docks give you proper information about the keys you can use to navigate the menu, and for exchanging currency as well.
You can now type in the conversations in order to narrow down a set of questions to the one you want to ask. This was actually there back in 0.8.0 but not at all obvious, and I have added a prompt to let you know this can be done, and I have also updated and improved the system.
Fixed an issue where, in extremely rare conditions, a sufficient number of embassies could not be spawned in a city centre, causing a crash.
Towns can no longer very, very, very rarely appear right next to a city, which makes the city's own generation then go a bit peculiar and the whole thing just doesn't work.
Fixed a very strange bug where a small number of roads outside of some cities did not properly register as being roads, and hence did not generate entrances to that city.
Fixed a bug where the rings of religious characters (priests, monks, etc) would sometimes generate with a random religious symbol instead of the appropriate one for their preferred belief.
Questions about weapons and armour specific to a civ now accurately reflect all the updated generation and variation in this area.
Fixed a bug where a small set of religious buildings generated in such a way that the walls surrounding the altar blocked off the player’s access to the rest of the building.
Leaving a city and them immediately returning can no longer cause the game to miscalculate how much time should be elapsed during those movements.
Have resolved and upgraded quite a few name generators that had extremely rare, but not impossible, permutations that the game couldn’t usefully handle. I only found these in fewer than 1/100 generations so they must be highly unusual, but nevertheless, they have now been fixed.
Fixed a problem where entering a city, leaving the city, attempting to re-enter, and then deciding not to, THEN leads to a crash when the game tries to place the player somewhere appropriate on their next map tile.
Fixed a super rare problem where sometimes the game would continually think you were entering or leaving a city even when there was no city in sight.
Resolved an issue with the field of vision sometimes not computing totally correctly when you took particular actions at the edge of a map tile.
Sorted a minor issue with some of the graphics in the guidebook sometimes not correctly appearing in the right location.
Fixed a typo and a layout issue when saving the game.
Nomadic individuals can no longer generate with conversation options that (at present) have no “solution”, and hence cause the game to crash.
Hunter-gatherer individuals can no longer very rarely try to spawn with clothing that isn’t appropriate to their civilization, and hence cause the game to crash because it’s trying to find civilizational characteristics that are not actually present.
Added in a number of new key options for navigating various menus and the like.
PLAY IT:https://www.markrjohnsongames.com/games/ultima-ratio-regum/As before, the game is made for Windows though I do plan on Mac / Linux versions one day, probably after / alongside 1.0 in a couple of years. For Linux I recommend Wine, and for Macs I've seen a range of different solutions.
Python executables are (unfortunately) known for generating false positive virus reports, and URR is no exception. I've worked hard to try to find a solution to this problem, but haven't succeeded yet. There is, obviously, no nastiness in the executable, so you'll just need to tell your antivirus not to worry about it.
If you find bugs (or, you know, have a positive comment to leave!), please do comment here or send me an email or a DM on Twitter or a carrier pigeon or some semaphore, or whatever. Assuming there are enough bugs of sufficient severity to merit a 0.9.1 before a 0.10 (e.g. multiple crash bugs, for instance) I will be releasing a 0.9.1 soon; if there are only relatively minor bugs such as typos or minor graphical graphical issues, those might be left until 0.10 (this time next year).
THE FUTURE:I am now working on 0.10 and enjoying this “one year” turnaround time for major releases. It’s large enough that I have the time to do something of meaningful scale, but also small enough that it keeps me to a schedule and to focusing on the core essentials. I therefore anticipate a 0.10 this time next year, then a 0.11, then probably 1.0 after that (!!) as we are finally getting close to having all the pieces in place. 0.10 will be generating books, finishing and further developing and improving the conversation system, and adding more stuff to spend money on; I’ll be posting more about this on the blog in a month or two once any 0.9.x bugs have been dealt with and I can properly started to focus on it.
In the meantime, I hope you all enjoy 0.9! I will be interested to see how much money people can accrue, since it is meant to be somewhat tricky – but I’ll be keen to get any feedback possible for thinking about future balance changes. Have fun exploring and trading your procedurally-generated items, everyone, and I hope you all have a lovely new year!