Lots more has been coded in the past couple of weeks, so let’s get to it!
Supply consumption and use
I have now implemented an initial working draft of supply consumption use as you walk around the game world. So first off, here I am after a few days of walking around in a city (exactly 24 hours / one day increments each time you change map tile, whereas it’s in moving around on a map tile that moves time forward on a minute-by-minute level) and you’ll see that there are no messages in the message window talking about the fact I’m consuming food, and the counters for my three types of supplies in the sidebar are greyed out. Whenever you are in any kind of settlement – city, fortress, town, monastery, even a farm or a mine or (later) a university, you will not require supplies, the rationale here being that you’re able to get food and water in the place you’re staying.
However, I’ve now moved out of this city and two immediately important things are happening. Firstly I am using one ration of food per day as I move around (see the message log on this), and also the relevant part of the sidebar is now lit up to emphasise that these supply considerations matter because the player has now journeyed outside a settlement of some sort.
Later I find my way to a town, and although I’m not exploring it in foot, entering it is enough that my next movement will not cost any food (or water or equipment were I in desert, or polar / mountainous, terrain) because I’m in a settlement.
I then leave again and keep exploring, and two important things happen here. I find a desert, and roughly as I enter the desert, I use up my final food ration and the game gives me a warning to let me know that I’ve used up all my food supplies, and that unless I eat soon I’ll be in danger of two illnesses. A lack of food, a lack of water, and a lack of equipment, now all come with two potential dangers. A lack of food can bring on malnutrition (weakening the player) or starvation (potentially fatal); a lack of water in the desert can bring on dehydration (weakening the player) or heat exhaustion (potentially fatal); and a lack of equipment in polar or mountainous regions can bring on frostbite (weakening the player) or hypothermia (potentially fatal). I’m still working out the exact gameplay impacts of each of these – while also keeping in mind that combat will be coming soon and so I need to think about some of these in terms of effects to the player character’s body, abilities, etc – but this message is the warning that the first of these might be on its way before too long.
A few days later – note again that the messages are telling us we’re using a water ration with each step we take in the desert – we also run out of water, and are now in danger of both malnutrition and dehydration. Oh dear!
The same is also true for your use of equipment in mountainous or polar terrain:
There are still a few minor bugs I need to iron out here involving some potentially unusual map movements always correctly consuming supplies, and making sure that the sidebar is always correctly grey / not-grey depending on where the player is, but this is all coming along nicely.
General messages finished
Next, I’ve now finished the general messages that can appear when you’re just wandering around. This had several parts. Firstly there were a number of message contexts that I hadn’t finished writing out when I posted the last update, particularly potential messages for if you’re out in the wilderness (i.e. you are not in a settlement of any kind) and also potential messages for some of the more obscure cultural possibilities and combinations within a given civilization. Secondly I needed to implement a system to make the initial words in each one actually vary, and so rather than them all saying “You hear people” or “You hear someone” you will see in the screenshots below way more variation here in how the messages are actually framed and presented by the player. Thirdly, I needed to add a system that keeps track of how long it has been since you entered an area, and how long it has been since you’ve seen an ambient message, and to have that tick up over time as you’re going around and doing whatever you’re doing in a given area. This took a little while but wasn’t too difficult, and the game now works hard not to repeat these messages and also not to swamp you with them. Fourthly and lastly, and related to the last bit of the above, there is also now a system to prevent the same message from appearing twice even if the exact wording would be slightly different, so you can’t get “You hear a distant argument” and “You find yourself overhearing a distant argument” in immediate succession. I’m very happy with how these are working, and they definitely bring some nice extra life to the game world!
Bookmarks
You can now save your own bookmarks in any area in order to fast-travel back to that bookmark! You can do this by pressings the ‘B’ (or ‘b’) key and in each area you can, at present, place up to five bookmarks of specific tiles; when you do so the game asks you to select a description from a large number of presets (rather like the messages system in From Software games, except without quite so much potential for euphemisms) and to say what direction you should begin looking when you come back to this area. You might, therefore, save a bookmark as “Mystery Plant” or “Strange Statue” or “Important House” or “Cheap Merchant”, or whatever it might be. Any bookmark, once saved, is then added onto the end of the list of fast travel locations when you re-enter that district, so you can go straight to a shop, for instance, or instead go to the bookmark you placed in a location where you think something important might be buried, or which might be outside the home of an individual you think might be very consequential. You can also place bookmarks in areas that aren’t even settlements, so if later on you find something strange in the wilderness and want to come back to it later, you can put a bookmark on that. I really like this system, and again, it’s just another little quality of life thing that will start paying dividends more and more in the coming years or two of development. I haven’t yet programmed in the ability to return to them (that’ll be coming shortly), but the ability to save them is now fully implemented. So first you press ‘b’ and select a tile with the crosshair, shown here to the right of the player:
Then you put in the name for the bookmark you want:
And then your bookmarks, up to a maximum of five per map grid, show up on your map:
I’m really happy with this! In a game that is going to be all about information, discovery, exploration and the like, the more systems I have for the player to keep track of things, the better.
Plants
Now, let’s talk about plants. For several releases now the game has had appropriately generated images for plants in farms, with an appropriate range of permutations and the like. Although these were actually pretty early in the whole procedural graphics thing, I remain very happy with how these look (especially as a lot of standard farm vegetables and grains are surprisingly hard to make into interesting ASCII-esque graphics).
However, this doesn’t cover procedurally-generated plants which should be filling the game world, varying according to area and climate, and (like everything else) potentially being a part of a puzzle (e.g. maybe a riddle directs you to a place where a specific plant grows in immense numbers?). The original intention (And by “original” here I mean “in the early to mid 2010s”) was for plants to be important things that one could pick up and use to craft various things (this is obviously a common idea in many games), and back when URR was essentially a Dwarf Fortress clone, I was really inspired by the use of plants in things like Ancient Domains of Mystery and Skyrim, and felt this would be an interesting addition. I seem to recall I even – although sadly I can’t find the documentation now, ha – that I developed some interesting systems in my head for how plants would spawn, spread, potentially interbreed creating new strains, all these sorts of things. However, as URR moved away from “Dwarf Fortress clone” to “procedurally-generated clue-finding mystery”, I abandoned this and binned it. Nevertheless plants could appear on the map, denoted by a different symbol to the normal grass or savannah terrain or whatever it might be, and the game would generate names for plants that would be found in appropriate local areas. However, at some point I removed plants from the maps altogether – I think they were causing generation issues of some sort? – and somehow after five years I haven’t got around to putting them back in. This is particularly strange because the presence of plants as a terrain “type” was actually quite important for making some areas – such as city centres and upper-class housing districts – look a little bit swankier or more interesting, and without them some areas do actually look surprisingly sparse. Then, finally, because I just wasn’t sure what role if any plants would play (wanting to avoid implementing any kind of mechanic that encourages tedious grinding or searching around for valuable plants in a see of useless ones), I just shrugged and decided that I would figure out what the heck to do with plants at some later point.
Well, that time has finally come, and now plants have returned to the game-world and are merely decorative aspects to make parts of the world a bit more interesting. They now show up on the map and make areas look, frankly, a lot more interesting with these involved. It took a surprising amount of wrangling old code to get them to appear again, but here they are:
Don’t they add a ton of colour to the world?! Even better, though, is the fact that we also now have an image generator for all in-game plants! Whereas previously this was limited to the plants in farms – which have a relatively small number of possible visible permutations – this has now been extended to all of the game’s generated plants as well. Each plant essentially has three generated components based on the name of the plant. The first word – e.g. “lush” or “bristling” or “budding” or “broad-leaved” – determines what the stalks of the plant look like, how many leaves they have, their size, their number, these sorts of things. The second word or the first half of the second word – e.g. “azure” or “sun” or “somber” or “copper” – determines the colour of the flower, and also the colour with which this plant will appear on the human-scale map (as above). The third word or the second half of the second word – e.g. “lily” or “cup” or “flax” or “thistle” – determines the shape and size of the flower that the plant has. Combine these three, add in some general variation in stalk colour and some low-level grass and turf in front of the plants, and, kaboom! We have procedurally-generated plants, where the name of each plant and its geographical / climate distribution is determined during world generation, and you can now find them in the game itself.
The stuff at the bottom also varies of course based on the terrain the plant spawns in, so you might get things like this:
There are many thousands of possible generated plants, and as with everything else these will potentially be mentioned in clues, hints, riddles, and so forth, and I’ll be working on other ways to give you information about the local flora (and later fauna) too. Again, as well as adding lots of life and colour to the game, these – like everything else – will be in the pool for potential clues, such as hints pointing you towards areas where a certain plant grows, or areas where the plants are certain colours, or even second-level clues like one that mentions the plants researched by a particular scholar, and you need to study that scholar to discover the plant they studied, and then use that to discover where something might be located. And so here, finally, are some examples of the player in-game checking out some of the local plant life:
I have to say I’m incredibly happy with these, and with them appearing on the map again, they really add a ton of new life into the game world.
Bugs / polishes / etc:
- Given that black markets don’t actually appear or generate in game (and maybe never will, we’ll have to just see whether I can think of an interesting and worthwhile way to integrate them), they are no longer listed as appearing in districts.
- Resolved a number of lingering issues with several of the fast travel mechanics in cities, such as a Currency Exchange building in a market district adding to your fast travel list multiple times, the homes of noble families not adding correctly, castles failing to place you at the correct door when you fast travel to them, and various other minor issues.
- Fixed a bug where farmhouses would appear surrounded always by some other kind of terrain rather than the local terrain of the map grid they’re on. This was a rather strange one and I’m not entirely sure what triggered it, but it has now been resolved.
- Fixed a bug where sometimes a mysterious plant would appear in farms called “livestock” and the game would utter the immortal sentence “this is a clump of livestock”, which makes absolutely no sense at all.
- Cult shrines in cities no longer take a random potential shape for their basis, but instead use the appropriate shape that their home nation likes to use in its aesthetics.
- Fixed a laughably long-running (and often reported!) bug with the area of vision around the player being just one tile miscalculated when you’re facing in one of the four cardinal directions. I can’t even imagine how long this one has been here, but it’s gone now!
- As well as ‘?’, the Guidebook is no longer accessed via ‘B’ or ‘b’ (as those are now needed for the bookmarking function), but rather by ‘G’ and ‘g’.
- Fixed one of the last lingering bugs from the conversation from Python 2 -> Python 3, which is that (for some reason) the colours of water in the game (rivers etc) are all basically an identical blue, rather than a nice variation of lighter blues and cyans and so forth. This has now been resolved, and water looks rather lovely again now.
- Also done the equivalent of the above for lava, and now lava (on the rare time one actually, er, climbs a volcano?) shows up as a nice mix of red and orange colours that change each turn, rather than a uniform dull red.
- Fixed a bug where you could very rarely get on a ship without actually having the required money to pay your way.
What next?
Next I’ll be working on the illnesses and ailments that you can get while out exploring the world, polishing how supplies are used (in both gameplay terms and data management terms), and starting to look at how we can get some more optimizations out of the game, both in terms of map generation when you enter a map grid, and in terms of showing that map on the screen. Looking at the code now with my old (early 30s) eyes I see my earlier (early 20s) attempts to be, frankly, abysmal, and I’m sure that there are huge improvements to be made here. Again, 0.10 is a release for making everything faster, smoother, easier, and this is a big part of that. More in a couple of weeks!
Congratulations! URR is becoming more and more incredible! I look forward to the caves and mines to explore. Do you plan to implement the ability (in the game 🙂 ) to spend time working somewhere to earn money?
Thanks Paolo! Right now earning money means making good trades, and I’m keen for that to remain a/the central money-making method, though I’m sure quest givers or equivalent will appear at some point before too long…
Dude, why don’t you release URR in Steam…? I’m pretty sure a lot of publishers out there would want to help you publish your game, so you can make some money off of it. This is frankly just incredible stuff
Thanks zzz! One day I might, but I don’t think we’re quite at that stage yet? Thanks SO much for the kind words though, I seriously do appreciate it a TON! 🙂