A roguelike game inspired by the literature of Jorge Borges, Umberto Eco & Neal Stephenson, and the games Europa Universalis and Dark Souls. URR aims to explore several philosophical and sociological issues that both arose during the sixteenth and seventeenth century (when the game is approximately set), and in the present day, whilst almost being a deep, complex and highly challenging roguelike. It explores questions of philosophical idealism, cryptography, linguistics and the writing and formation of the historical record, and will challenge players to hopefully think in ways and about themes that are rarely touched upon by games.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media

Ladies and gentlemen, I am pleased beyond words to announce that, as far as I can tell,all the AI requirements for 0.8 are finished! Now, I must qualify this: there are a number of NPC classes that do not yet exist in the game, but those that do exist perform almost all their actions, although there are a small number of events currently omitted (rare or unique events like religious festivals and the like). What this means is that around 80% of all NPCs now do 98% of their schedules, and I think they work correctly no matter what kind of strange behaviour the player involves themselves in with regardless to moving, saving, loading, spawning/unspawning areas, and so forth. As a result, I am indeed putting out the interim playtesting/bug-finding release in the next few days! If you emailed me asking to be on the list, you should find an email in your inbox with details of how to download the playtesting release, and some things to look for, within the week. For the rest of this blog post, therefore, I’ll go over the final additions and refinements done in the last week, and then from next week onwards, we’ll finally be on to dialect and speech generation! I’m so excited. But, first…

Finishing Castles

On Tuesday, Wednesday and Thursday I finished off everything that still needed to be done for castles, and so as far as I can now tell, all the possible NPCs that can spawn in a castle all function correctly with their schedules, their placement, their tracking whether the castle map grid is spawned/unspawned and whether the castle itself is spawned/unspawned, and so on and so forth. One major issue was with sleeping and waking NPCs, and in a few particular contexts guards who should be spawned sleeping in beds were spawned sleeping at their posts, whilst those who should have been on guard duty at their posts were on guard duty in their beds! This got fixed by copying a line of code which should have applied to all guards, but was instead applying to around 90% of them thanks to a typo. I then ran into some issues with entering a castle after the 1080 time of the day (which has 1440 “ticks”, each being ten “turns”) which is when all the guard schedules should switch over; for some strange reasons, the knights guarding the throne room were struggling to spawn correctly and causing a crash, which had *something* to do with beds, but I wasn’t quite sure what.

The “filled” doors are doors to the outside whilst the hollow doors are within one building, so here we see various guards and conscripts going outside. It’s slightly jerky due to all the debug processes printing, but I think it still looks rather snazzy, and I love seeing such a large volume of people going about their day without the game crashing! (You’ll also see slaves and knights in these gifs also just going about their daily business in the castle)

Finalguards


And then immediately after, the guards/conscripts who were guarding outside come back inside and head to appropriate beds:

Finalguards2


Finalguards3


Here’s a cache guard switching with another cache guards whilst various other guards/knights/etc on the same timetable also move to wherever it is they need to go in order to switch over:

Cacheswitch

Guards on upper floors wouldn’t behave


As a result, here are some guards and a knight in one of the towers finding their way down correctly, rather than misbehaving terribly:

Down


I ran into a bug whereby I sometimes ran out of beds on certain generations, but only for knights and guards. It took quite some time to diagnose what was actually happening here, but it finally became apparent that when the smallest possible number of beds spawned in the corner/side towers (four per tower, so sixteen total) and the game was trying to place guards and knights in those towers, and there was a cache in the castle, there simply weren’t enough beds, so the NPCs were stuck trying to find a bed; this meant I had to specifically enable their ability to climb up towers to find another bed, but only specific staircases (because the main staircases are in the main castle, rather than in the towers)! The disconnected nature of the upper floors of castles is unique, and has basically required adding in quite a few exceptions to a lot of NPC behaviour which ordinarliy wouldn’t have to think about impossible paths on a given floor.

After that, though, things went quite smoothly with servants, slaves, and monks. Here we have a basement in this castle containing the castle’s slaves, who were all going about their day most of the time and then filed into the basement as time went by:

Allslaves


And monks sleeping at night in their quarters:

Sleep


I then turned my attention to priests, who – in castles – can fall into two categories. In religious nations you’ll find a single large chapel with a priest walking around inside, whilst in nations that have freedom of religion you’ll find a large number of small chapels, each with a priest (and altar, book, etc) of the appropriate religion. Here’s a priest wandering around a full-size chapel for a nation dominated by a particular religion (you’ll note various servants coming and going at the same time), and then various priests in smaller chapels in a castle in a nation with a plurality of religions:

Chapel


Priest


Priest2


And I must say there were some cool religions in this castle. Jaguars for the jaguar god!

Jaguar

Then, servants. They work the same as slaves (aside from being on the ground floor instead of underground), and these worked pretty much immediately thanks to all the code in place for slaves. I then moved onto torturers and jailers, who should be spawning in a different section of the basement, away from slave quarters (if slave quarters are present) and who keep to a very simple schedule. Sure enough, these folks seem to work perfectly well now too. Here’s one of them wandering around (I also really love how under-castle jails look, don’t you?).

Jailer


And heading to bed:

Jailhome


And here’s a torturer checking out the cells under their control (where unfortunate people will one day appear), and in a later version there will be various unpleasant things in the centre of this room, which will vary from nation to nation (so different nations have different methods of torture, if torture is their thing).

tort


And slave quarters and a dungeon in the basement of the same castle, with two different staircases. This is a rare-ish scenario, but meant I had to make absolutely sure that slaves returning to their quarters knew which staircase to take (servants, being on the ground floor instead of the basement, don’t have this issue)…

Jaguar

And that’s pretty much all the NPCs for castles! In future versions I may add in a couple of extra NPCs, like book-keepers for archives and the like, and also I need to add in concubines at an appropriate point – and the actual leaders themselves! – but for now, castles still appear very active when the player wanders around them, and that’s what matters for 0.8.

Final Check, Final Bugs

The last thing to do before sending out the playtesting release is to active all possible AI actors and spend a little while wandering around the world and trying to break them myself. I’ve now done so, and to my absolute delight, I have thus far discovered that everything seemed to be working correctly, although I do still harbour a tiny, tiny concern that certain NPCs in certain houses might not always appear in their houses at the correct times, depending on the player’s actions… but I couldn’t produce any bugs here, so that’s down to be super-secret super-elite playtesting team to figure out.

I’m also going to implement a few debug tools for my playtesters, so they can now look at a debug print-out which shows all the important NPCs in that area, where their homes are, what their current tasks and schedules and objectives are, and so forth. This, naturally, will not be in the final release, but I thought it was a pretty essential feature to maximize the potential of the interim playtesting beta.

Although I have ever confidence in my team, the complexity of all this stuff does mean it has to be possible that the final 0.8 release will go out with a few minor issues still in place. This would be disappointing, of course, but so long as there are no AI related crash bugs present when 0.8 hits the shelves, I’ll be content – it would obviously be even better if there were no AI bugs of any sort whatsoever, but I’m being realistic. Pathfinding and scheduling is massively complicated already and made even more complex by the variety of permutations of spawned/unspawned/loaded/saved areas the player can bring into existence or push into the background through their movements in the game world, and despite my best efforts, I’m sure it’s still possible for an NPC to duplicate, or to vanish into nonexistence, or something else of that sort. But we’ll see! Maybe the playtesting release will be remarkably stable and nobody will find any problems whatsoever.

HAAAAAAAAAAA.

Next Week

DIALECT GENERATION! For the next week or two I’ll be working on the underlying mechanics for generating different styles of speech for each in-game culture (in the average game we need to produce around 40 very different styles of speech, and ideally many tens of thousands possible across a long enough stretch of time). I’ve started to draft this in various forms over the last month or so, and so next week I’ll give you all a run-down of what I have in mind here. After that we’ll be onto designing the conversation screen! I’ve also been giving this a lot of thought, and I have some idea how this is going to play out, and how it will connect to the dialect/sentence generation stuff I’ve been quietly putting together and experimenting with in the background. See you in a week!

Castles and Bugs

Castles and Bugs

News 0 comments

We're within a week of the URR 0.8 interim playtesting release, after a full year's work, and here is a big update on castle AI and NPCs!

The Hopefully Penultimate AI Update for 0.8

The Hopefully Penultimate AI Update for 0.8

News 0 comments

Another AI update with major progress on castles and those who occupy them, other developments, and bug fixes!

The Antepenultimate AI Update for URR 0.8

The Antepenultimate AI Update for URR 0.8

News 4 comments

Another AI update - farmers, innkeeps, monks, and a huge host of bugs fixed!

More AI, of course!

More AI, of course!

News 6 comments

Possibly the penultimate AI update for Ultima Ratio Regum 0.8!

Post comment Comments  (10 - 20 of 143)
Lisek89
Lisek89

Livin' the dream, baby! You are doing God's work :)

Reply Good karma Bad karma+1 vote
UltimaRatioRegum Creator
UltimaRatioRegum

Hahaha, thank you!

Reply Good karma+1 vote
VagabondPraetor
VagabondPraetor

I have to say, your work both amazes me and scares me at the same time.

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Ha, thanks! That... is pretty much exactly the reaction I'm after.

Reply Good karma+2 votes
l30sh00t
l30sh00t

Amazing!!! :DDD So cool man. I just noticed something that kinda bothered me, are you thinking of changing like the overall skull structure instead of just skin tone/hair and nose? Because I feel like they are all the from the same mother, and I feel like a bit of skull structure modification will completely remove that feeling. Just wondering. Keep up the good work! :)

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Awesome, thanks! Very glad you like it. The problem is that everything has to adhere to a grid, i.e. I'm using ANSI characters, so I can't easily change the size of things; if I do that, then suddenly all the other features might not line up, or might need changing, or all kinds of things. Changing the basic shape of the skull would make everything vastly more confusing (though I don't agree with you that they all look like siblings! But then, I am biased). Thanks! :)

Reply Good karma+1 vote
negoay
negoay

I've just downloaded and explored around the planet I choose. Wait... Whoah I even choose the planet?! The art, user interface, solar system-planet-terrain-town generation are all well made. I've tried this kind of roguelikes before but this feels really comfortable. This truly is a good job, keep it up! Oh by the way, I've seen some little mistakes (or maybe not, I might misunderstood them):

-When a day passed (15 Sept), the notification below said "It is now 14 Sept" or something like that, it seems one day off?
-In the Guidebook, where it explains about the bars below the screen, it says "four bars" but actually there are five bars listed.

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Thanks! (Though you're always on the Earth; the other planets will just be tying into things later on, and I'm probably going to remove them from the world-gen screen in the next version, since "choosing" them is highly arbitrary/unnecessary and can make the player think they are more "important" than they actually are). Glad you like it though! And nice find on both; will fix :).

Reply Good karma+2 votes
ethanethan
ethanethan

Any plans to support alternate control schemes? Ive been using HJKL and YUBN (diagonals) with Cataclysm lately, and it works well with the laptop. Game world looks great, looking forward to interacting more. Like, building, and killing.

Reply Good karma Bad karma+2 votes
ethanethan
ethanethan

So sorry that i'm stupid. I see your numpad toggle now. But doesnt 'd' overlap with drop?

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

It does, and that's an issue with the numpad toggle. I don't think there's really a perfect solution to diagonal control schemes without a numpad, but I really dislike the HJKL solution, so I have no intention of adding that in (entirely personal preference, I know, but still). I think the toggle is going to stay as my solution to the problem, though I don't think it should be too problematic (when you have a weapon drawn, in future versions, you are going to be specifically restricted to orthogonal directions, so you'll always have all the keys accessible in combat). And thanks!

Reply Good karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Additional: I forgot to say, I'm going to be doing a little bit of key rebinding soon, all inventory actions will be done through the 'i'nventory instead of different buttons for 't'hrow, 'd'rop etc, so that problem will disappear soonish!

Reply Good karma+2 votes
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Icon
Ultima Ratio Regum
Platforms
Windows
Engine
Custom
Contact
Send Message
Release date
Game watch
Start tracking
Share
Style
Genre
Roguelike
Theme
Realism
Players
Single Player
Project
Indie
Boxart
Boxart
Twitter

Tweets will appear soon from

Embed Buttons
Link to Ultima Ratio Regum by selecting a button and using the embed code provided more...
Ultima Ratio Regum
Statistics
Last Update
Watchers
518 members
Articles
139