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

A big URRpdate this week, as we hit around 80% completion on the scheduling and pathfinding for all the world’s important NPCs, and also add some smaller additions like banners, drawbridge chains, and finishing off the upper floors of castles. At this point you can now track NPCs leaving their home and going INSIDE buildings – and this again works regardless of what the player does, where the player is, what maps/buildings have thus far been spawned, etc. This is, to put it mildly, a landmark moment. It works completely for guards in mints, and banks (though I have yet to test arenas and archives, but those are the first tasks I’ll be working on checking this coming week). It’s always hard to tell how much code written to deal with Situation A will actually also apply to Situation B until you give it a shot, when the Situations in question are so complex and have so many variables, but I think this code should be entirely transferable. I hope.

Scheduling

So, it’s time for some gifs! Various gifs here of guards leaving districts, entering districts, entering buildings, leaving buildings, exchanging guard duty with others, etc. Guards now work correctly for all outside guards, and almost all inside guards work correctly, and any and every weird combination of movement across the map and the player’s actions also, as far as I can tell, work perfectly.

Comigin


Intobuliding


Bankswitch


intogate


Guardout


However, all of this has given rise to a very amusing bug. So, consider this: the world map is split into map grids, each of which is 200×200 tiles when spawned but naturally starts unspawned, and each map grid might contain a range of buildings. When the world is generated I can check exactly what buildings will be in each district, but naturally in most cases I don’t know exactly where each one will be placed – since that would entail spawning the entire map, on the human rather than world scale, at world gen! Which would be absurd and take probably the best part of an hour or something, possibly more (I’ve never tried it and don’t intend to).

Now, consider this. The player is in Map Grid A. In Map Grid B is a guard, who is due to leave their house and move into Map Grid A, to relieve another guard on guard duty. Map Grid B has never been spawned. How long, therefore, should this first action – moving from B to A – take? No matter how any map grid spawns, moving from any point of a map grid to an appropriate edge can never take more than 200 turns, and therefore all movement of this sort, in unspawned areas, takes 200 turns. Were it spawned, it might “actually” take 20 turns or 190, but we have no idea what the correct number would be until spawned, and since it hasn’t been spawned, I play it safe and assume 200.

With me so far? Splendid. Now, let’s say that the guard leaves their (unspawned and nonexistent) home at turn 1000, and therefore is due to leave Map Grid B and enter Map Grid A at 1200. Now, the player is sat in Map Grid A. If the player waits until turn 1190, and then enters Map Grid B, it will then spawn all the buildings and have the NPC do 190 turns of their action. However, what if this building is near the edge to Map Grid A? Let’s say they get there with 90 turns left. Ordinarily, they would go through, and then take 90 turns on the other side… but that would mean if the player immediately went back through, from the player’s perspective, upon returning to Map Grid B, it would appear as if in two turns an NPC had just appeared and teleported ninety tiles up the map grid! Therefore, if an NPC is just about to cross grids, and the player is about to enter that grid, it takes them to an earlier step in their movement so that the player, just entering Map Grid A, sees the NPC for a few turns before they go into Map Grid B. However, what this means, is that if the player keeps hopping back and forth, the NPC keeps getting pushed back and never actually moves through until the player goes somewhere else! It’s very silly. I’m not sure how to fix it yet, though it probably needs some kind of counter that notes if the NPC has already been pushed back once in its current district, and resets after moving to a new grid. But still: it’s an interesting example of the complexity of the system, and some of the weird situations that arise, and how I’ve tried fixing them.

To further illustrate this point, here are some examples of the scenarios that can arise:

  • Player is in a map grid and an NPC moves into that map grid, and should physically spawn.
  • Player moves into a map grid, and all stationary NPCs outside buildings (e.g. guards) must spawn.
  • Player moves into a map grid and another important NPC is moving in that map grid, and must spawn in the right place, an appropriate way along their schedule according to the timing of their schedule.
  • The player follows an NPC into a new grid, and the NPC should be x turns away from the edge of the grid once they are spawned, despite having been unspawned after leaving the player’s grid.
  • NPC enters unspawned building, player stays in grid, things must happen in building that doesn’t exist.
  • Player is in grid with unspawned building and NPCs within that unspawned building need to leave.
  • Player is in grid, NPC enters building, player leaves, NPC must be handle its behaviour in unspawned building and unspawned grid.
  • As above, but player enters building first, leaving a spawned but unloaded building in a spawned but unloaded grid.
  • Player enters building part-way through NPCs doing behaviours within it, causing it to spawn for the first time, and they should all be at the right part of their schedules…

Basically, consider every variable of 1) the player’s action, 2) spawned grids, 3) spawned buildings, and 4) important NPCs moving through all these, and I cannot begin to describe all the variations. Naturally in many cases a piece of code I wrote to resolve Scenario #14 also worked for Scenario #26, and so forth, but in many cases it didn’t and a massive amount of code had to be written to handle every possible variation and permutation. But I think a large part of it is now done.

Drawbridge Chains

What is says on the tin, really.

Chain

Next Week?

Dare I hope… AI pathfinding/scheduling… finished?!?!?!?!

Banners and Castles

Banners and Castles

News 4 comments

Banner generation and the upper floors of castles, alongside just a small AI update (although massive work is being done).

Scheduling Progress, Clothing Implementation, Counties, Jails, Harems

Scheduling Progress, Clothing Implementation, Counties, Jails, Harems

News 4 comments

Lots of AI and scheduling improvements, alongside a bunch of snazzy new graphics and generators.

Nomadic Clothing, Tribal Clothing, Class Variation

Nomadic Clothing, Tribal Clothing, Class Variation

News 2 comments

2016's first major URRpdate - finishing off procedural clothing generation in dramatic fashion!

Procedural Castle Generation

Procedural Castle Generation

News 2 comments

Procedural castle generation is finally implemented, and it has turned out extremely well.

Post comment Comments  (40 - 50 of 137)
Guest
Guest

I wanna play naaaooow... you can even have my money if you want !!!!

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Haha, thank you! Having been developing this entirely in my spare time for the last three years, I'm thinking of a Kickstarter so I can spend a year working on the game full time. Check back in a month or so :).

Reply Good karma+2 votes
Spacew00t
Spacew00t

I'd plop down a good 25 USD for this game! That art style alone... it's crazy how well you've translated the ASCII experience!

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Well thank you! That really means a lot. I'm still working on the specifics as I'm trying to come up with some more interesting rewards than "your name goes into the name generator database!", and I think I've come up with some good ones...

Reply Good karma+1 vote
El_Primeministere
El_Primeministere

Wow good to see this on ModDB (Or whatever the other 'sister site' you can view this on is called), I remember e-mailing you a while ago with some questions pertaining to Python 2.7 and converting it to an .exe. Still looking forward to this a lot :)

Also, it's nice to see you have so much patience for something like this, 3 years is a long time!

Reply Good karma Bad karma+1 vote
UltimaRatioRegum Creator
UltimaRatioRegum

Three years is a scary length of time, there's no doubt about it! I'd say we're approaching the 1/4 point :).

Reply Good karma+2 votes
Guest
Guest

If you plan to do a kickstarter be ready to devote pretty much your entire days while it's running to promoting the game and getting the word out there.

If you can I would definitely suggest talking to some people who have run their own kickstarters (whether it was funded or not) to see what advice they have if you haven't done this already.

Looking forward to seeing the completed URR game.

Reply Good karma Bad karma+1 vote
UltimaRatioRegum Creator
UltimaRatioRegum

Thanks for the comment! Yeah, I realize that if I decide to do one, that is a full-time thing for the duration of the month. I do intend to contact some people who've run them - I do know one individual in person who was part of a very, very successful one, but I'm also going to give a few others a shout too. So am I! Thanks for following this far, though :)

Reply Good karma+1 vote
SaschaWillems
SaschaWillems

Just wanted to download the last release from your blog, but it seems the download links are broken.

Instead of links I only get [wpdm_file id=26] (which I guess is the link format for your wordpress download plugin ;) )

Any chance of fixing them so people can take a look at the game?

Reply Good karma Bad karma+2 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Looks like you tried in the one minute earlier when I was updating the site's plugins! They're back up now :). This version has been out about six months, and the next version is due out in a month or so.

Reply Good karma+2 votes
Sphyrna
Sphyrna

Seeing the screenshots, I am immediately reminded of Dwarf Fortress.
I am thoroughly interested how Ultima Ratio Regum will turn out to be.

Reply Good karma Bad karma+3 votes
UltimaRatioRegum Creator
UltimaRatioRegum

Glad you like the look of it :).

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
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
510 members
Articles
131