Author Topic: Ultima Ratio Regum (0.8 released after five years!)  (Read 253998 times)

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #30 on: April 14, 2015, 04:02:26 PM »
The generated images are super-cool.  As somebody who's done some procedural art stuff myself, I'm interested in how exactly you go about generating them and how you define the rules of the generation - do you have some kind of base image which then gets procedurally modified or is it all done from scratch?  Have you got some kind of editor that helps you define the parameters?  How constrained is it?  (I've been thinking of implementing some of SPARTAN's procedural stuff in-game to generate tiles etc. on the fly, but find that a lot of the generators produce stuff that looks good for some seeds, but absolute garbage with others - it needs a human driving it to avoid creating things which instinctively look 'wrong'.  How are you dealing with this kind of 'quality control' problem?)

It seems a bit of a shame if the player has to specifically press a key to look at them - if it's vital to look at everything then it might get annoying, but if it isn't the player is probably going to miss out on a lot of the procedural pretties.  It would be nice if there was some small sub-window permanently on-screen that showed whatever was under the mouse and/or the nearest interesting object, although I suppose that would take up a lot of valuable interface space...

Your PCG graphical stuff was/is awesome! Hmm, basically, it varies: every single type of image (altar, sarcophagus, floor, chair, table, door, whatever) has its own generator. Some are more algorithmic, and some are more to do with piecing together various handmade components, and some lie somewhere in the middle. In many cases I try to guess whilst I'm making the generator what possibilities will look/read badly, and then after that, I'll generate it a large number of times to then add special exclusions of those which look bad (but which couldn't be predicted).

I've thought about the sub-window idea, but as you say, that just takes up too much space; the idea is to make sure that everything *might* be important, but that you won't actually need to look at too much to decipher what is/isn't (and besides, I've been testing it, and it's incredibly easy to just fall into a rapid routine of checking out relevant objects). I acknowledge, totally, that it isn't 100% ideal, but I don't think there's a better option out there!

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #31 on: April 18, 2015, 11:58:29 AM »
After a mere four months of development, I am proud to announce the release of Ultima Ratio Regum 0.7! This release procedurally generates the interiors of every single building in the world – from cathedrals and mansions to slum housing and shops, and everything in-between – and the graphics for a vast range of items and features within those, ranging from ordinary chairs and tables to rare altars and underground sarcophagi. You can download it here (http://www.ultimaratioregum.co.uk/game/downloads/), and read more detail about the release notes below.

This is the last worldbuilding release! From this point onwards I’ll be pushing onto gameplay, starting with NPCs in 0.8. This release now establishes URR as one of the most detailed procedural worlds ever rendered – and one unparalleled in procedural cultural, aesthetic and religious detail – and marks the end of generating the immense world over which the player’s “quest” will play out.

Highlights:

- All buildings now have procedurally-generated interiors, where every single building has its own algorithms, archetypes, and items on the inside. This means everything, from cathedrals to slums, can now be fully explored, and in many cases span over many floors.

- All features within these buildings are also procedurally generated, from the most lowly of chairs, tables and candlestands to the rarest of altars, reliquaries and sarcophagi. All of each are dependent on the cultural norms for each nation.

Full Changelog:

- Procedural generation of cathedrals and religious buildings, distinct for each religion but consist across iterations.
- Generation of religious altars, religious reliquaries, and incense holders.
- Crypts now generate beneath graveyards in monarchies, and underneath cathedrals in theocracies.
- City centers how have all interiors generated for embassies, courts, galleries,  mercenary guilds and mints.
- Generation of large family mansions in upper-class housing districts, for both dominant and “ascending” noble houses.
- Generation of middle-class housing and lower-class housing, as well as slum housing outside city walls.
- Taverns, arenas, jails and slave quarters spawn in lower-class districts in nations with the appropriate policies (taverns, however, are universal).
- Military hospitals, Officers’ Quarters, Stables, Barracks and Armouries can be explored in feudal military districts.
- Shops and warehouses can be explored in market districts, although they do of course currently lack any items!
- Banks spawn in middle-class districts.
- Parliamentary buildings spawn in city centers of democratic nations.
- Farmhouses can be explored in the farms outside cities and towns.
- All buildings in hunter-gatherer nations now generate – longhouses, chieftain huts, and general houses – although they remain currently sparse.
- In fortresses, the player can now explore barracks, housing, and most importantly the oasis-like citadels at their centers.
- Altars for all religions now generate, aesthetically varied according to the archetypes and beliefs of each religion.
- Cathedrals and lesser religious buildings contain procedurally-generated reliquaries, incense holders, ornate vases, and much more, each distinct to a given religion.
- Everyday items like chairs, tables and beds also generate, with shapes and wood types distinct to each nation.
- Several buildings now contain candle stands which offer external sources of lighting that can be seen, even if the tiles between you and them cannot.
- Crypts are filled with sarcophagi, each with a unique generated image, within which is buried a figure from the world’s history.
- Save files are no longer in a single monolithic file, but now spread out so that no matter how many map grids may have been generated in a given playthrough, saving/loading speed never slows down.
- Various bug fixes, improvements, optimizations, etc, and a whole host of under-the-hood things implemented in preparation for 0.8.

I’m now working on 0.8 – the introduction of NPCs, conversations, face generation, clothing, the works – with an approximate target of four/five months from now, give or take. To finish off, here are some nice illustrative screenshots of 0.7 as it currently stands. Enjoy!
















Aukustus

  • Rogueliker
  • ***
  • Posts: 440
  • Karma: +0/-0
    • View Profile
    • The Temple of Torment
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #32 on: April 18, 2015, 02:16:26 PM »
I encountered a "ERROR: report me!": "This area is temperate, has a small lake sourced from the ERROR: report me!, and is at sea level."

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #33 on: April 18, 2015, 06:41:08 PM »
I encountered a "ERROR: report me!": "This area is temperate, has a small lake sourced from the ERROR: report me!, and is at sea level."

Heh, thanks!

chooseusername

  • Rogueliker
  • ***
  • Posts: 329
  • Karma: +0/-0
    • View Profile
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #34 on: April 18, 2015, 08:12:15 PM »
This is the last worldbuilding release! From this point onwards I’ll be pushing onto gameplay, starting with NPCs in 0.8. This release now establishes URR as one of the most detailed procedural worlds ever rendered – and one unparalleled in procedural cultural, aesthetic and religious detail – and marks the end of generating the immense world over which the player’s “quest” will play out.
Well done.  Are there any competitors to this claim, or are you trying to refrain from blowing your own horn too hard?  ;D

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #35 on: April 19, 2015, 12:11:52 PM »
This is the last worldbuilding release! From this point onwards I’ll be pushing onto gameplay, starting with NPCs in 0.8. This release now establishes URR as one of the most detailed procedural worlds ever rendered – and one unparalleled in procedural cultural, aesthetic and religious detail – and marks the end of generating the immense world over which the player’s “quest” will play out.
Well done.  Are there any competitors to this claim, or are you trying to refrain from blowing your own horn too hard?  ;D

Haha - well... I don't think so, re: any other competitors. DF is obviously a vastly more detailed procedural world in many directions than URR, but I think I can mount a strong claim in that direction re: generating cultures/aesthetics/religions/societies etc (and this will only become stronger in 0.8 once we have NPCs behaving according to their cultures etc!) :)

Aukustus

  • Rogueliker
  • ***
  • Posts: 440
  • Karma: +0/-0
    • View Profile
    • The Temple of Torment
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #36 on: April 19, 2015, 01:16:37 PM »
Is there a way of knowing which building is it I'm inside?

Rev_Sudasana

  • Rogueliker
  • ***
  • Posts: 175
  • Karma: +0/-0
    • View Profile
    • Armoured Commander
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #37 on: April 19, 2015, 07:37:57 PM »
Congrats! Had a quick run around in the world. Is there any way to preview travel destinations without actually spending the time it takes to get there, or do you need to actually travel in order to find out more about another district?

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #38 on: April 20, 2015, 10:49:17 PM »
Is there a way of knowing which building is it I'm inside?

Loads of buildings have signs outside (the '?' characters), whilst some of the others should (hopefully) be clear from what's inside, and you can always 'l'ook at the door to find out! I'm debating having it say "You enter the [building type]" instead of "You enter the [building]" in the future, and I probably will...

Congrats! Had a quick run around in the world. Is there any way to preview travel destinations without actually spending the time it takes to get there, or do you need to actually travel in order to find out more about another district?

Thanks! Er, currently you need to 'T'ravel, but in the future, you'll be able to find out information without visiting them directly, in order to help inform your decisions.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #39 on: May 02, 2015, 10:44:47 AM »
Procedural ANSI face generation is here!



Ok, so a little about the system. I basically wanted a system which adhered to four (five) major objectives. Firstly, it should be massively varied, and even if you spend a decent length of time just looking at the ordinary people in the street, it should take some time and under you see any two people who are identical. Secondly, it should be demographic – which is to say, each nation can have a set of preferred hairstyles, likely skintones, other signifiers (like turbans, tattoos, jewelry, etc), and these should be distinct in each nation. Thirdly, and following on from the second point above, there should be enough of these that (much like everything else in URR) you should be able to gain visual information: when you meet someone you’ve never met before, you should be able to make a reasonable guess about their nation of birth. Fourthly, any combination should be possible, as a means of undermining the idea that only “primitive” peoples will be found with certain cultural signifiers – in one game perhaps the people in the most technologically and militarily powerful empire all have extensive facial tattoos, for examples. Fifthly (I suppose), the objective was to make them look visually and aesthetically interesting, and striking, and distinct: as with everything else in URR, if I wasn’t able to make face generation look enough to meet my standards, I’d have just cut it.

I’m not honestly sure how many variations there are (since some variants cancel out other variants in the generation process, making the simple solution of just multiplying everything together inaccurate). Roughly speaking there are nine skin tones, thirty hairstyles for women, thirty for men, a dozen different forehead/chin/nose shapes each, a dozen hair colours (which are genetically placed around the world and are toned appropriately to reduce contrast with skin tone), four eye colours (likewise, genetically varied around the world), several dozens beards (for the gents), and then a massive range of other visual identifers. There are five below: paint/dye markings, turbans, brands (sometimes consensual/cultural, sometimes as identifiers of slavery), facial tattooing, collars (always denotes slaves), scarification, and a bunch I haven’t shown here. There are also some rare additions like scars, eye patches (like the lady at the top of this entry), and some other neat and extremely rare properties as well. These will always tie to that NPC’s history, so someone with an eyepatch will have a distinct event in their past where it was lost – you can sometimes, therefore, get a bit of “personal” data from someone’s face, as well as cultural/national/etc.



When you ‘l’ook at an NPC, you’ll get a new range of screens to cycle through in this coming release. If you’re currently in combat, it’ll automatically go to the screen showing their health; if you’re not (which will obviously be the case in this release) it will show you their face, and a little bit of data. There will then a list where you can scroll through everything they are wearing and bring up the appropriate attendant images for all of those (clothing, shoes, any holstered weapons, jewelry, etc). I’m going to remove anything you could not “physically” determine, until you know for sure: which is to say, an NPC’s lookup will never state their affiliations, unless you have explicitly talked to them and found out (though they might have lied…) or someone else has told you. Here’s a spectrum of the skin tones in the game, with a bunch of hairstyles and beard styles (where appropriate). Alpha Centauri players might also note the worrying but entirely unlpanned similarity of one of these nine women to a certain Sister Miriam Godwinson…



And that glorious image pretty much concludes this entry. I’m currently working on a bunch of optimizations for the game – primarily in terms of how data is saved, and the efficiency of the rendering and line-of-sight algorithm, since this needs some serious improvement so that you can see further than a couple dozens tiles in front of you. Once that’s done (which hopefully won’t take too long) I’ll probably get working on clothing generation, and then doing some major work on families, family trees, and how NPCs should be stored for remaining still and/or moving around the map, as an important precursor to getting them actually spawning. See you all next week!

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #40 on: May 02, 2015, 11:54:30 AM »
As I already told you, this is a milion times better than what I hope to achieve even though the general idea is the same (to have different skin tones/hairstyles/eyes/noses/mouths and maybe scars and tattoos).

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #41 on: May 02, 2015, 12:35:24 PM »
As I already told you, this is a milion times better than what I hope to achieve even though the general idea is the same (to have different skin tones/hairstyles/eyes/noses/mouths and maybe scars and tattoos).

Funnily enough, although I want to have scars, they are proving a nightmare to get them looking even remotely good! And getting them to integrate with all the other facial options is also proving surprisingly tricky... :\

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #42 on: May 02, 2015, 05:47:06 PM »
Gorgeous as usual. I'm looking forward to the upcoming releases, I must say. Did you already experiment with different shapes for eyes and noses (shorter/broader/crooked nose, piggy/fishy/narrow/slanted eyes etc.)?

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #43 on: May 03, 2015, 10:18:21 AM »
There are actually a few slightly different nose shapes (I think... two for men, three for women, if I recall correctly?) and some eyes are fractionally wider or narrower on the inside, outside, or both (if you look this might just be noticeable), but given the constraints of using ASNI glyphs, it is/was surprisingly tricky to make eyes vary all that much. Honestly, eyes are probably the best of the face I spent the most time agonizing over and fiddling with until I reached something that I was at least vaguely happy with...

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.7 released, 18th April!)
« Reply #44 on: May 10, 2015, 02:27:14 PM »
This week I haven’t been able to get any coding done, and the same will sadly be the case for the next seven days – I’ve been finishing off an academic book chapter due in very shortly, as well as doing some writing for various online game publications (links will be posted here once my pieces are published), and also writing three different conference presentations for three talks I’m giving at DiGRA in Lüneburg next week (so once I upload that, and my previous set of talks, I’ll be uploading six sets of slides for your perusal! I’ll get around to it folks, I promise). So, this week and next week we’re going to talk about some of the more abstract intentions/plans for 0.8 onwards, then hopefully after that we’ll be back to specific updates once I get working on 0.8 again upon returning from Germany (week of the 18th onwards). Two big abstract/worldbuildy changes in this release alongside the development of NPCs (!!) are policies, and nicknames, so let’s talk about these.

Policies

During the development of 0.7, I found myself making a major change to how national policies work. Originally the idea was for them to give abstract benefits to the player – one policy might yield a player who belongs to that nation extra strength, for example – but I found this increasingly uninteresting. So much of the game’s mechanics are meant to be about figuring out and understanding the generated world, and I realized it would be a lot more interesting if policies directly affected what spawned in each nation – so the macro of a nation’s political ideologies and policies then determine what buildings appear (or not) in cities, towns, within buildings, etc.



So, a pretty simple key. Green effects are policies which don’t relate to shops; yellow policies relate to types of shops which can spawn in that nation; which the red ?s, funnily enough, are policies I haven’t thought of a good effect for (any ideas?). Escort Cavalry is a nomadic-only policy, and Chiefdom is a hunter-gatherer only policy, but aside from those, any of these policies can spawn for any feudal nation (Monastic is in red because it is a new policy I haven’t yet added to the game or created an image for). At the bottom you’ll see two binary possibilities: from 0.8 onwards, nations will either be slaving nations or won’t be, and nations will either use gunpowder weapons, or won’t.

With this system policies will therefore seriously affect (I hope) a player’s path around the world and choosing which nations to visit, knowing that certain shops will only appear in certain nations, some will be more/less hostile to foreigners, some have different systems for payment (or not) when moving around cities, some nations will have different punishments if the player decides to commit a crime within their land, etc. Should add an interesting level of grand strategy to the player’s movement, and be a lot more interesting than “abstract policies” which affect the player, but fail to distinguish between nations.

City Nicknames

Credit for this idea must go to Retropunch on the Bay12 thread for URR. He suggested that I could add some distinguishing factors to cities which both make them stand out more from each other, and add the potential for nicknames. In this release I’m aiming to add this in over a dozen ways to make cities more distinct, and add in another “clue” – i.e. the nickname – by which cities might be identified. This means the generation algorithm for a small number of cities will be tweaked to ensure that something very noteworthy spawns in/around/throughout a given city, and then an appropriate nickname is generated. Some examples:

City with many slums: “City of the Downtrodden”, “The Evergrowing City”, etc

City with many gardens: “The Flowering City”, “The City of the Hundred Gardens”, etc

City near volcano: “The City of the Inferno”, “The City of the Red Mount”, etc

Slaving city: “The City of the Masters”, “The City of Shackles”, etc

City with many statues: “The City of Stone Watchers”, “The City of the Grey Men”, etc

And so on. I’ve got around fifteen ideas so far for feature/nickname combinations (you’ll be able to find the rest in 0.8!), so maybe five cities per playthrough will be granted some unique “overlay” (like lots of gardens, lots of statues, etc) and a nickname to go with it. So then the player will sometimes be told “Travel to [ City Name ]”, but will instead sometimes be told “Travel to [ City Nickname ]” – a small thing in gameplay terms, but something which’ll add some nice extra variety to the world’s cities and help the player remember which city is which. The idea of the nickname in general seems like something very promising, so I’ve also been working on adding nicknames to other things in the game, primarily rulers and important historical figures, and also noteworthy living figures the player will be engaging with, and it’s those I’ll be talking about next week!