Welcome back everyone!
Lots of new developments again, so let’s take a look:
When you enter or leave cities you can now stock up on supplies. These take four forms – canteens, food, water, and equipment. Canteens, food ration bags and equipment have generated images while water is a slightly more abstract image. In the case of canteens, these are empty containers that can be filled up with any liquid, and the player starts off with a canteen filled with ten units of water (which allows for ten days spent in desert). The images are of course generated with around a million or so permutations I believe – so hopefully you’ll never see the same canteen, as they are handmade after all! – and are pretty expensive items, but they have a lot of value for exploration so I think that’s justified (again, as more and more gameplay elements come in through 0.10 and 0.11, all of this will need balancing later on). Food is the only one that is needed in the everyday for moving around outside of settlements (except when on ships) and is consumed at a rate of one unit a day, and you buy food in blocks of ten; food, like water and so forth, is not needed when you’re in settlements, but only when you’re out in the wild. The image used here is an alteration of the graphics used for the gunpowder bags, and I’m sure I’ll find some more value for the “bag” image archetype further down the line. Water is bought separately and can be used to fill up canteens, and is again fairly cheap, and required when exploring desert in order to avoid dehydration and sunstroke (see hopefully my next update for info on these sorts of ailments etc!). Finally, equipment is the equivalent of water but for polar and mountainous regions, consumed at a rate of one per day, otherwise frostbite and hypothermia will be lurking just around the corner. I don’t see many games that model interesting conditions and illnesses and I think these will make for interesting strategic considerations (with some light alterations from how these work in real life), but that’s all to come later. Finally, as part of this the player now also starts the game with a supply of food, and a canteen filled with water, but not with any equipment nor any additional canteens.
As part of what I discussed last time – building-specific fast travel – I have also made changes to how locations are recorded. In 0.9 simply setting foot into a map tile would immediately tell you (on the world map) what was in it, i.e. entering a market tile and then going into your world map would tell you precisely what shops were on that tile, even if you (the player character) had not yet actually seen them. This worked fine for a while as a basis but given the new stuff I’ve implemented above about allowing you to fast-travel to specific buildings within a map grid, it seemed to make sense to also go back and make this fine rather more finely-grained than it is at present. To do this there is now a system in place that, while rendering an outdoor area, takes note of any doors you happen to see and then looks over those doors to see whether any of them are noteworthy doors (i.e. they don’t just belong to normal homes, for example). If the game finds a noteworthy door within your line of sight on a particular turn, it then checks to see what that is a door to (e.g. a shop, a cathedral, whatever) and then checks whether or not that building has already been stored in the player’s knowledge of building. If it has then it does nothing, but if it hasn’t, then the game adds it in and posts a little message in the text log below along the lines of “You have discovered a new X”, after which you will then be able to fast-travel back there next time you are on that map tile. URR therefore now keeps track of every important structure you find, and when coupled with the above, this makes exploration – and moving back and forth – almost ludicrously faster than it once was.
I’ve improved a couple of the old generated graphics in the game that just weren’t up to the current standard. Firstly, archery targets are now correctly shaded, which brings them a little more “up to date” with the quality of the other procedural graphics in the game; I’ve also optimised the image code here to make them generate / draw faster, as they were painfully slow. These are an extremely rare thing to see in the game – though now that I’ve put in the time to improve them like this, I am certainly incentivized now to make them appear in a few more places! – but they no longer stand out as a very poor graphic. Similarly, fountains have also now been significantly enhanced in order to bring them in line with the quality of the generated images in the game. These are rather more common so I think this was far more time well-spent, as the player (currently) starts in an upper-class housing district full of fountains, and many of the most interesting areas of cities and the like have fountains. These were not hugely time-consuming things, but I’m glad to have them done; readers will remember that in the 0.9 release I redid the graphics for the world generation because the original graphics were very outdated compared to the quality of visuals I’m making now, and it didn’t really do for the first thing the player sees to be something so rubbish! I’m not sure whether these meet my quality standards for the long-term, but for now updating these just adds a little bit of polish and smooths off a rough corner remaining from the game’s much earlier days.
As further part of making navigation of the in-game world both easier and more interesting, I’ve taken a leaf from the book of games like NetHack and introduced messages that appear when you enter a new area. Naturally in NetHack (and other games that do similar things, like Spelunky and Noita) the idea is partly to warn the player in advance of something coming up in that area or acknowledge an unusual procedural generation choice, whereas here it is partly about flavour, but also partly about letting the player know that a particular thing might be present in this area which they might want to take note of. At the moment this takes two forms. Firstly, an “introductory” message will now always appear when you enter a district of a city, a town, a fortress, a settlement, and soon on things like mines, universities (see below), etc. This will give you some flavour and will also point you towards important things. For example, upon entering a lower class district in a city, it might say – depending on the cultures / policies of the area – something like…
“You enter the lower class housing district. As you watch the people in this area, you see items and goods often being traded from hand to hand. In the distance to the north-west you see a tall building with barred windows.” (A “barter” nation, and a prison with its location identified)
“You enter the lower class housing district. A call to prayer is being sung out from the north-east, and to the south you hear the roar of a crowd.” (A location hint for a religious building, and a location hint for an arena)
“You enter the low class housing district. You hear people talking about the outside world, and notice that their comments doesn’t quite match up with your ideas of lands beyond this one.” (An “isolationist” nation)
…and so on. By my calculations there are many hundreds of thousands of these possible messages across different locations with different sets of combinations present, and just from doing my own playtesting around the world these add a real lot of texture and feel to the world, and give a sense of greater weight and consequence to each particular area the player might go into. When coupled with the discovery messages mentioned above, the message log in URR is now far more full and far more active, and has things constantly being told to the player rather than just an endless sequence of “it is a new day!”, which can seem a little bit silly sometimes. I think these are a really important addition for, again, speeding things up, helping the player have a sense of where they might want to go in that area, and also deepening this sense of the world being a little more alive and a little more active as you walk around it.
The other sort is what I’m calling “ambient” messages show up every x turns since the last message has showed up, and take a similar form to the above messages, giving you information but on a much smaller scale. So, for instance, in a city centre district you might see messages like…
“You hear nearby an argument between some clerks about taxation for the outer areas of the empire.”
“You see in the distance an individual wearing fine clothes, who seems to be an emissary of some other land.”
“You notice a fine ring on a local passerby, marking them out as a person of high rank.”
…and so on. These again depend on the specific of each nation but are far less general than the first kind and don’t point to anything specific, but give a lot more life to each area. I’ve written a large number of these, including allowing them to vary and change depending on the specific place and context, and there’s also code in place to make sure that they don’t repeat too soon. Both of these systems are relatively small additions, but I’m actually really happy with how they’ve come together, and they give a heck of a lot more life to the world! Also, in the case of these ambient messages, the game keeps track of which ones have been recently used and doesn’t recycle until a large number have been gone through; it also slightly randomly generates the precise wording of each one in order to boost variation; and the time between these messages gets longer the more time the player spends in an area, in order to make the full selection last longer and because a player spending quite a while in one map area is probably working on something specific, rather than necessarily exploring. I think these are another really nice addition, and while the database of these isn’t finished as I write these – though there’s already hundreds! – I’m really happy with how these have worked out so far.
(A large number are shown in these testing screenshots, but in practice, they are far rarer, and have more variation in phrasing!)
Starting Relic Generation
One of the objectives for 0.11 will be generating religious relics. These will be very important items, having a lot of value (obviously) to particular religions, but also a lot of trade value if you can find the right people to sell to, a lot of potential for religions to become very pleased with you if you are able to return a relic that perhaps is being sold in a distant land, and relics will also sometimes be the rewards that one can get for figuring out the location being referred to in a treasure map. I’m really keen for these all to be very interesting, striking, distinctive items, that really get the player’s attention and signal clearly that this is something of high importance. As such, I have begun laying out the basic foundations for generating the images of the relics. As mentioned previously there are now several dozen different archetypes for religious relics, some tethered to particular archetypes of deity or religion (e.g. a “Lovecraftian” relic or a “Demonic” religion) while others can appear for any religion type, or most of them. I have posted a bit about how the image generation process in URR works before – both in the sense of “how do I design them?” and the sense of “how does it work under the hood?”, and I’ve just been making a little bit of progress beginning to sketch out some very basic initial text grids. Even without the slightest degree of colour or shading or anything else, some of these initial drafts are already giving a sense of how interesting and colour and distinctive some of these items are going to be, and I’m really happy with this initial groundwork I’ve been laying now for next year.
I’ve made a major decision here for the game – given that the game is / is going to be about information, discovery, exploration, reading, cryptic puzzles, etc, I’m not sure any more how much sense it makes for the player to begin the game in an upper-class district, or to begin the game in any way as part of a noble house. I’ve also been thinking for a while about adding in “university” areas to the game, similar to “towns” or “fortresses” or “mines” and so forth, and the more I think about it, the more I like this idea. I think starting the player off in a university would be a very novel opening; would enable me to develop a very cool and interesting little opening cutscene (which I will say no more about until I start working on it); and would give the player a very clear framing about what sorts of thing this game is about. It would also be a logical way to get the player started on the main quest and to give them a few initial items – maybe a book or two, a note or two, a cryptic item or two – to help them out on the start of their journey.
My current thinking right now is that universities will contain classrooms, halls, student accommodations, libraries (maybe you can pay to access any book there, but it costs more than finding the book in the wild and buying it? Would be strange in the real world but makes more sense in gameplay terms!), study rooms, maybe a museum of some noteworthy items (the University of Sydney, where I’m based IRL, has a number of these), and I think an observatory will be a cool addition as well (but I won’t say any more about that just yet). They will also vary, of course, across nations depending on their policies. For example, the university in a nation with “populist” politics is probably going to be quite limited (no intended commentary on the real world inverse relationship between educational attainment and voting for populist candidates should be inferred) whereas a university in a nation whose culture is far more focused on intellectual and cultural attainment will likely have a far larger university. Nevertheless, all nations will spawn with one university – for the player to start in – while I might perhaps have more intellectually inclined nations to have an extra university or two elsewhere in their territories. Like towns and mines and the like, these structures will be outside of cities and will be found somewhere in that nation’s territory (though I’m going to set them to generate near to the city to encourage new players to head into the capital city of that nation first when they depart the university starting location).
Anyway – at present I’m not sure whether this will be something for this 0.10 release, or for 0.11, but I’ve begun sketching out the initial code required to generate these areas, populate them with people, etc etc, and I’m really keen on this rather more novel start than what we currently had. More on this in the near future, I am sure!
Bug fixes / tweaks / etc
- Resolved a long-standing bug that somehow neither I nor any player had noticed for years (!) in which, rarely, the last letter in a sentence in a multi-line message would be chopped off and not displayed in the message window. In fairness URR has until now had very few multi-line messages, but I still can’t quite believe how long this one survived for!
- Fixed a bug with animal-archetype religious altars barely having any colour distinction between the background and the foreground of the altar and the design on it – it was very hard to make out the image, but is now much clearer.
- Given that I’m actually looking to do a big overhaul of the dialogue system to make it far more fluid and “human”, I’ve temporarily removed the variable questions (“What do you think of [X]?”) with the intention of coming back to them in 2023. The initial work on the questions and the replies however will still be useful – it just won’t be in this release!
- Fixed an issue with certain items very rarely not possessing the properties required to draw them correctly when in the player’s inventory, but only if they were added in a very specific manner.
- Dealt with a bug that very very rarely caused world generation to crash when it was trying to figure out embassies in city centres for certain kinds of civilizations (or rather, civilizations in certain contexts).
- Put in a few more optimizations and improvements to the systems that draw the terrain around the player when the player moves; I am keen to really improve this further in the future, but another little set of small refinements here again supports the objective of making the whole game a bit faster, a bit smoother, and a bit easier to navigate.
I’ve decided to shift releases to January instead of December, because releasing between the 25th of Dec and the 1st of Jan doesn’t really get much visibility because people are, generally, busy during that time. I’m therefore going to try a model of instead releasing “some time in January” the default going forward, and we’ll see how that goes. My next objective is to working on food / water / equipment consumption out in the wild, and start programming in some dreadful maladies to befall the player should they venture too far beyond their means; I’ll also in the next few weeks be working on bug-testing and refining these above systems and the ones from the previous updates, and working to clear out more bugs and polishes on my larger list of these as well. Next update in a couple of weeks, everyone!