Hello everyone! This week I am proud to report a major bug-purge, and the list of URR bugs continuing to dwindle to a very small number now (from having been many many hundreds before). In this first block, though, I must give my appreciation to the various bug reporters who discovered these and sent them along – thank you so much! These had all been fixed as of 0.10.3b, which has been on the downloads page for the last few months:

  • Fixed a bug where part of the guidebook would cause a crash if you looked at it and didn’t currently have a world loaded (whoops!).
  • Fixed a bug where the encyclopedia inaccurately gave the number of gods in a polytheistic religion.
  • Fixed a crash bug where looking at a dye would sometimes result in the game collapsing because it wasn’t sure what shader (not a real “shader” in the Unreal Engine sense of the world, but URR’s equivalent) to apply.
  • Fixed a bug with all religions being visible in the encyclopedia, even if the player hadn’t actually discovered them yet.
  • Fixed a visual bug with snail-based gods not generating their shell entirely correctly in the image of the religious statue.
  • Fixed a crash bug where throwing something at a door – directly at a door – would result in the game losing track of what item it was monitoring, and hence not knowing how to describe the item’s outcome (e.g. smashing, hitting the door and falling to the floor, etc).
  • Fixed a crash bug where going up stairs in taverns (and a couple of other places, too!) no longer worked after I made some long-term optimizations to the staircase code.
  • You can no longer walk into some of the signs announcing the names of mansions and manors in upper-class housing districts.
  • For plural noun items, such as coins and binoculars, the game no longer says “it hits a…” when thrown, but instead “they hit a…” when thrown (unless there’s only one coin in the coin stack, in which case it does indeed go with “it hits a…”).
  • Fixed a crash bug (several, actually, though they all triggered at once) that resulted from asking diplomats about the politics and ideologies of their home nation.
  • Fixed an issue with genderless (rather than “female” or “male”) deities not appearing correctly sometimes in statues; the game now always selects appropriate components to generate the image rather than crumbling and sometimes crashing as a result.

And now, onto the rest, which are an ongoing project of fixing and polishing:

  • Resolved an issue with tablets sometimes repeating the same word in an ancient engraving, and sometimes ignoring words altogether; this was due to a slightly clumsy piece of code that has never affected me before in comparable scenarios, but really knackered this one. I have since learned a new way to do the thing required, and in the process, I have grown as a person.
  • Adjusted the wording for the “quality” of stone tablets; that term doesn’t really make sense for something not mass-produced, so for instance a “low quality tablet” is not a “crudely etched tablet”, and so on.
  • NPCs with facial tattoos, scarification, or a slave tattoo on their face, can no longer have their eyes positioned in such a way that the scar or the tattoo overlaps with their eyes and looks weird and hideous and totally bizarre.
  • Banking is temporarily disabled while I just totally redo / rethink it (in light of the recent stuff that affects how money works and thus what the hypothetical value of a bank would be in this world / with this gameplay).
  • A brief “Loading…” thing now appears for cathedrals, as well as for all the other large buildings that take a second or two for the game to actually generate (castles, mints, parliaments, monasteries, and the like).
  • University campuses are now full of people going in and out of classrooms, the great hall, accommodations, and so on!
  • Two different words can no longer get the exact same assignment in a language’s symbols (by which I mean “the” and “and” cannot both generate as “5&=” or whatever it might be).
  • Fixed a bug where furniture would sometimes not appear at the very start of the game, until you had entered and left a building at least once (that was a weird one).
  • Removed the very buggy menu that comes up when you press the pick-up-item button standing over a pile of items (which would ask you to choose which ones to take and which to leave), and for now, it just picks them all up instead. That menu is 10+ years old and the code is rancid, so I’ll just remake it later.
  • Fixed a new bug where the player character could – in very exact circumstances – be duplicated upon saving/loading the game, and this of course could cause all manner of chaos.
  • Religious masks always spawn in the appropriate colour(s) for the appropriate religion.

  • Picking up a stack of coins now correctly notes when it’s just one coin (“you pick up a single coin”), or when it’s a specific number up to around thirty (“you pick up twenty-six coins”), or with a sliding scale of other phrases for larger numbers (“you pick up a large number of coins”).
  • Fixed (I think) a rare bug with the player under very unusual circumstances becoming duplicated, and then adding the player to / removing the player from map grids became very complicated, and would quickly yield a crash.
  • Holy books in churches and monasteries now generate opened, rather than clasped shut.
  • Religious symbols on some religious chests now no longer appear on the wrong place in the generated image.
  • Entering a religious building in a religious district is properly added to the journal, and no longer yields a crash.
  • The player now finally starts inside the museum of their starting university, and thus the game’s opening is looking far more logical and clearly-presented (though we still need a procedurally-generated opening ASCII / ANSI cutscene, but I’ll get to that later).
  • Fixed a bug in road name generation where the same word could be used twice, e.g. “Sword Sword Road”, or other silly things like that.
  • Fixed a bug where I had used the same variable name for two very important things, and it was causing issues when you tried to do certain things involving universities.
  • The “print hand” and “print head” space bar prompts are now accurate depending on what part of someone you’re looking at.
  • A few graphical errors with nomadic shields have been fixed, ensuring that the relevant patterns are always correctly centered on the shield.
  • Coins with the “fish” design now correctly pluralize themselves when you’re buying things, spending things, gaining money, etc – so “six Silver Fish” instead of “six Silver Fishs”, and so forth.
  • Cults can no longer worship coffee houses (I realise this comment sets up a lot of potential jokes about certain sorts of people and certain sorts of caffeine establishments, but I am above such things, and so I will not make them).
  • Adjusted some of the museum code to make sure the tutorials always play correctly; this will need to be returned to later to ensure all varieties (currently disabled) are catered for, but this was becoming a wildly difficult task, so for getting this release out, this simplification is fine.
  • Fixed a visual issue with parts of the UI not always correctly re-drawing after looking at something.

  • Fixed a crash bug where carpenter shops sometimes couldn’t find sufficient wood items to actually put in their stores and on their shelves.
  • Fixed a crash bug with volcano names where the game would sometimes struggle to find a pairing of words which wasn’t linguistically repugnant.
  • Fixed a similar issue with mesas as a result of some of the generator changes I’ve implemented recently.
  • Removed a town name generator that was no longer valid / viable.
  • Leaving the inventory screen no longer incorrectly reprints one corner of the user interface around the map the player is walking on.
  • Fixed a silly typo bug that could incredibly rarely lead to a map grid crashing the game when it tried to look outside the map to see whether it was next to a city, and hence should have some city wall running down one edge.
  • Fixed another silly typo bug that would previously have caused a similar issue in other circumstances.
  • Removed a bunch of stuff that no longer relevant now I’ve removed the water / climbing gear / food systems.
  • Merchants definitely say the right things for buying and selling (this is minor given that a huge speech overhaul will be coming for 0.12, but still worth doing as a quick fix for now).
  • Resolved an issue with tutorial prompts sometimes not appearing in the university when you start the game within specific circumstances – and these were important ones, too.
  • Prevented some really disgusting names for locations generating within one name type – something like “Pebble-Coast” or “Leaf-Rock” are fine, but “Beach-Coast” and “Stream-River” are kind of awful because they repeat the same idea (and are thus no longer allowed).
  • Names of rivers can no longer overflow on the map screen.

  • The game no longer crashes if you walk backwards into the first staircase you see in the tutorial zone.
  • The game also no longer prints the initial tutorial explaining the importance of looking at things incorrectly if you can’t see all the museum when you first enter it.
  • The baubles on religious staves that possess baubles no longer sneakily move themselves around each time you look at the staff.
  • Keys no longer regenerate on look, and are thus ready for full implementation.
  • Fixed a bug where translation guesses on a tablet would sometimes skip over a word if it was exactly the same length, and on the same line, as the previous word (this one was tricky to find but a very pleasing realisation of what was going wrong when I did figure it out).
  • Great halls no longer keep regenerating when you step outside them and then back in again.
  • Scrolls (much like tablets) no longer regenerate each time you look at them, but now have a fixed and unchanging form (as they will soon need!).
  • Selling an item to shopkeeper when you have none of the relevant currency in your inventory no longer tries to “add” a number of coins to an existing stack (which doesn’t exist), and thus gives you no money (what a scam!), but now instead correctly creates a new coin item and gives it to you, in the appropriate volume.
  • You can no longer sell your journal, nor drop it, destroy it, or throw it – at the moment this the only item with these traits, and I suspect it’ll be the only item which ever has them (I’m not a fan of the Elder-Scrolls-style “invincible NPC” logic to essential items, since it’s more interesting to have multiple solutions for things, but this is such an essential item I think we just can’t have the player chuck it down a well somewhere and then wonder what the hell to do for the rest of their playthrough).
  • Adding the journal implementation created some new problems with other books (and scrolls) we can’t yet read sometimes causing crashes when you try to read them, so I’ve fixed those.
  • Fixed an issue where certain letters in certain locations on a page in the journal, on certain more coded-advanced pages (i.e. where there is a lot going on under the hood in this sort of mini programming language I’ve created for books), could vanish and not be correctly printed.
  • You can no longer sometimes start with the wrong currency, thus leaving you absolutely knackered.

0.10.4 Release

As part of all this, 0.10.4 is now out! This version contains all these bug fixes, but also contains the working journal (more on this in the next blog entry, but you can time travel and experience some of that new blog update right now by downloading 0.10.4!) and various other new features, as I continue to work on the really big ones – keys, padlocks, riddles – for the major 0.11 release, either late this year or hopefully, if not, then early next year. This means the game now gives you a narrative for everything you do, gives you information about the various factions you encounter in the game world (currently just nations – working on the religions side of things at the moment), and also has the tutorial system properly implemented. If you fancy it, please do give it a spin! I’d love to know what you think about the journal and its usability, the initial tutorials, any bugs or issues you find with those aforementioned features, and anything else worth adding, really. You’ll also find a far less bug-filled world to explore, hopefully far fewer crashes and more to look at and explore, and a lot of stuff which is shortly going to be integrated with the riddle generation to – I hope – give us something quite special indeed.

What next?

So, with all these bug fixes in place, we’re now down to just around a hundred on the list, which is down from around four hundred at its largest number. This has been a long and massive process over the last two years, but as we move towards 0.11, and the degree of visibility I’m really hoping to get for that release, things are reaching a point where I just can’t afford to have all these trivial errors continually popping up in players’ experience of the game. I know this is a shorter entry than most, but the bug-fixing is always important, and sometimes I do just get into a mood where this is what I want to work on instead of entirely new content; the “polishing” headspace is very different from the “creating” headspace, and whenever I do find myself in it, I always know I need to really take advantage of it (because I know it’s generally short-lived and can vanish rather rapidly). I’m very pleased with all these changes and it’s just so nice to be able to open up my bug list file and see it looking so much shorter than it has been in recent months and years. There are still around a hundred to fix, but that’s a fraction of what it once was, and I’m confident that at some point in the coming months another mad bug-fixing mood will seize me, and I’ll cut through as many more as I can before the 0.11 release (maybe even all of them???). Anyway, thanks for reading everyone, and as ever, please do chuck in a comment with your thoughts! I hope you enjoyed these bug-fixes and enjoy checking out the new release, and I’ll see you all in a fortnight for a much more substantial and weightier “new stuff” entry – it’s the biggest update in months, and one I’m really excited about :).

9 Comments

  • I started a new game, started in a university and in a room just next to some sort of artifact chamber star…and had a jump scare when I found there was a human heart, a bloody cracked skull, a severed finger, and a bone mask among the relics.

    Also bug already, pressing 5 when viewing something that doesn’t have a 5 command on screen (like translate) crashes the game.

    • Hello Traz, welcome, and thank you for the comment! Haha, I can only apologise for the jump scare :). And, gosh, damn, that’s frustrating, that shouldn’t be happening – I’ll fix it now and get a 0.10.4b out ASAP. Thank you for reporting it! I *really* appreciate it, and it helps me out a lot.

  • Hey Mark, I’ve been watching this project for quite some time now checking in occasionally to have a poke around with whatever the latest build has been. Looks like you’ve made a *lot* of progress since I last checked in, really excited for where this is going! Wondering if it’s possible to force fullscreen, it is more immersive for me is all. All the best,

    Tom

    • Hello Tom, welcome, and thanks so much for the comment! Fullscreen is a frustrating one; I used to have a fullscreen mode on a previous version of tcod (the roguelike library I use for a bunch of foundational stuff), but since updating the version the fullscreen mode no longer works, and I haven’t been able to find a solution to it yet. I really do want a fullscreen mode, though, and I hope to get it re-added as soon as I can figure out a solution. I will also, for 0.11, be adding a 14×14 font size, so that’ll at least be closer to fullscreen! I really do appreciate the feedback though – it’s really good to know this is an important thing for others (as it is for me, honestly).

  • Great progress on the bug-squashing, and I’m excited to see key elements of the main game coming together such as the player journal and the museum start. It’s amusing to see some of the strange and inappropriate combinations that the naming generators can come up with. Although now you’ve got me curious about the “linguistically repugnant” volcano & mesa names. Can you give me a particularly repugnant example to warm my English major heart?

    It’s a shame that we can no longer have coffee house cults in URR (ha! Here in America, I sometimes wonder if Starbucks is a cult), but maybe there can still be coffee-worshiping cults that meet *in* coffee houses? Coffee actually has an interesting history in real-world religious and mystical traditions; see: https://www.bbc.com/news/magazine-22190802 and https://www.magellantv.com/articles/sacred-brews-a-history-of-coffee-and-religion

    Thanks for the update — the next New Stuff update sounds exciting! I’ll try out the latest version when I get a chance, too.

    • Thank you kindly crowbar! Hahaha, well, I think it was things like “Hot Heat Mountain” or “Lava Magma Peak” or others in that sort of category – just vile, vile stuff. I don’t actually recall the really bad mesa ones now, but I promise you that they were Very Bad and thus had to be disposed of. As for coffee, though, wow, these are fascinating links. Thank you! Really enjoyed reading them both.

  • I’ve been monitoring this project for the last three or so years. It’s interesting, yet still suffers from following problems:
    1)Laggy
    2)Buggy
    3)Too much focus on “extraneous” features rather than gameplay
    Mark, while the features you’re making are kind of interesting, as far as i recall there’s a total lack of gameplay loop. It’s a roguelike-styled visual novel as of today, there are not many interesting interactions at all, and the world is static. I believe you should work on more general systems like combat and whatnot.
    I played Dwarf Fortress in ASCII for years, and i really don’t care much about flavor texts. I mean, hell, Toady One is famous for dropping half-baked features, and most of textual descriptions and whatnot regarding music/display character is nothing but a flavor text to the experienced player like me. What really got me into the game are somewhat clunky but interesting systems like damage and interactions between NPCs (even though they are mostly flavortext-ish too, they’re at times unpredictable and interesting to observe).
    You, Mark, as a man well-versed in games, at least according to the bio, should know that an open-world roguelike, specifically hack-and-slash type, should let player go full “Postal 2” mode. I mean, hell, even Postal 2 is interesting by interactions…. And in URR, with a city full of somewhat moving NPCs and chat system, i feel locked in. There are no sufficient ways to interact with the world. I can’t start fragging inhabitants, i can’t talk one inhabitant into attacking me. I can’t start a rebellion, can’t steal. But i can look at different furniture, wow!
    For this reason i also feel like you’re building game outside-in, and you will eventually run into, in fact already did, tremendous technical debt. I believe you should focus on gameplay, rather than flavor features like text descriptions and ASCII artworks, because these are pointless if they have no in-game value. Wow, a chair in some city! Wow, another chair in another city! They look different, but else? Hypothetically they could sell for a different price if i stole one, but damn, for now there’s no incentive to trade even.

    Also, since you’re doing it as a hobby, apparently with no intent to sell the finished product, and provide extensive devlogs in academic/publication manner, i suggest that you make URR opensource. It’s much better to see both “log” and the “dev” part, and damn, your code, at least URR in general, is buggy and laggy as hell, so opensourcing could help improving the code with the help of random Python-versed passersby

    • Hi catrus, thanks for these comments – I appreciate the frank feedback, and I’m certainly not someone interested in just endless praise (lovely though that is!).

      However, by the standards of a one-person project, of this size, over this length of time, done entirely in a person’s spare time, URR is really not that buggy. Indeed, for a game of this sort (of which very few exist), it’s remarkably stable (keeping in mind that the 0.10.4 release is brand new, and I’ve been actively fixing player-reported bugs from it – and ones I’ve found myself – for over a week now). I’ve also never, after many many thousands of downloads of the beta versions, had a single other person suggest the game “lags”, so I’m not sure what to make of that. Speed is nevertheless something I continue to improve with each release, and working on optimising and improvements to speed remain at the top of my list all the time. I wonder whether a little more understanding of the challenges of the one-person spare-time development life would go a long way, here, to explaining some of these concerns you’ve raised.

      More generally, there is definitely a misunderstanding of the core goal of the project here. You describe the strangeness of no combat in a “hack-and-slash” roguelike… but that’s not what I’m making. That’s in many ways the opposite of what I’m making.

      You’re right, however, to say that there’s no core gameplay at the moment, and this has indeed long been the challenge of making a game whose gameplay is not merely based in, *but contingent on*, an ultra-detailed world. I’d encourage you to check out some other posts, such as…

      https://www.markrjohnsongames.com/2025/09/14/ultima-ratio-regum-0-11-update-43-the-players-journal-3/

      https://www.markrjohnsongames.com/2025/08/16/ultima-ratio-regum-0-11-update-41-padlocks-riddles-keys-hidden-messages-and-maps-and-symbols/

      https://www.markrjohnsongames.com/2025/06/21/ultima-ratio-regum-0-11-update-38-religious-books-maps-in-books-book-secrets/

      https://www.markrjohnsongames.com/2025/03/15/ultima-ratio-regum-0-11-update-31-continuing-notes-continuing-books/

      …and especially…

      https://www.markrjohnsongames.com/2025/03/02/ultima-ratio-regum-0-11-update-30-tutorial-design/

      …and this video as well…

      …which should shed more light on the direction I’m moving in with the project now. As you’ll see, I am working on gameplay systems – and extremely novel ones at that – and working very hard on them. But this isn’t a combat-focused roguelike, and isn’t going to be. I am saddened you’re not excited by the project, but you have every right to feel that way – just as I have every right to be incredibly excited by the creative and technical directions I’m pursuing. We can disagree, and that’s okay :).

      Nevertheless, I thank you for the thoughts; I hope I’ve cleared up some misapprehensions; and I wish you all the best finding the game you do want to play, which I think probably isn’t mine!

  • In addition to my previous comment, i’d like to summarize that i’d like to see consequences for pressing the click. It’s a game after all, isn’t it? When you press the click, something MUST happen, and it shouldn’t be flavortext.
    I have an example of a game that i tried like three years ago and absolutely hated for this particular reason. It’s called “Yes, your Grace”. It’s basically a visual novel that tries to be a game, except if you scratch at it there’s just one value you need to keep above zero to win. It’s a horrible amount of flavorEVERYTHING just to hide the fact there’s just one value, and even for visual novel, your choices DON’T MATTER AT ALL. For different endings you get 5-6 flavortext slides at the end.
    I have another example of a game that i tried and absolutely loved for its intricacy (albeit, if i find power to overcome the UI). It’s Nethack. Nethack, if you check the code, is pretty much a bunch of if-else statements, not much generated at all. But it’s magic of its own, since developers actually managed to cover tons and tons of actions and interactions possible, so if you try something silly, you won’t get a crash, you won’t get a bug, you won’t get a “INTERACTION UNDEFINED SOMETHING SOMETHING BLANK OUT”. You will get an interaction or a flavortext that states that developers already minded that.
    And then, there’s an example of Dwarf Fortress. I’m a gamer, not a poet, i play games for the gameplay and interesting game interactions, not for storytelling. And long story short, DF is clunky, but it’s one of these games where you play against the game itself, experimenting against it.

Leave a Reply to Mark R Johnson Cancel reply

Your email address will not be published. Required fields are marked *