Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 215 216 [217] 218 219 ... 221

Author Topic: Dwarf Fortress meets The Outer Wilds? "Ultima Ratio Regum", v0.10.1 out Feb 2023  (Read 585499 times)

Robsoie

  • Bay Watcher
  • Urist McAngry
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3240 on: December 27, 2022, 05:54:38 am »

The level of amazing is through the roof !
The amount of thought and work put into this is as always really impressive.
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3241 on: December 30, 2022, 07:24:39 pm »

The level of amazing is through the roof !
The amount of thought and work put into this is as always really impressive.

Thank you Robsoie! I really appreciate it :).
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3242 on: January 06, 2023, 08:19:57 pm »

Welcome back everyone! I think barring catastrophes this should release in around a fortnight, so this will either be the final update, or the penultimate update, before getting 0.10 out. I’m determined to stick to my schedule of putting out a new release every year – even if this is a relatively small release, albeit one that I’m really very happy with – and 0.10 will be put out some time in January. I think from now on January is a much better option than the end of December since although the holiday period is not something that I personally engage with to any great extent, it is for many people, and it just seems like a foolish time to do each release in terms of actually getting attention for the update. Anyway, given that 0.10 is a small release I have decided not to make a big fanfare about it, but instead to save that for 0.11 once (I hope!) I’m back into a rhythm of coding throughout the year rather in just a burst – albeit a very productive one! – in November and December. This has been another hard year for me, unfortunately, though I’m feeling cautiously optimistic about 2023 and beyond. But enough of that: let’s get to the updates!

Multiple purchases of supplies

To begin with, I have now implemented a ton more stuff in the “buying supplies” page which you can access whenever you enter or leave a city. The first thing you’ll notice are these five extra and appropriately colour-coded lines which tell you again what your current state of affairs is when it comes to supplies – how many canteens you have, how much water you have and how much space in canteens you have for more water, how many food rations you have, and how much equipment you have. Again, I’m not interested in what you get in many “survival” games where you have to eat every two minutes; instead, food and supplies here are strategic rather than constant concerns, and are much more about making sure that you have enough to safely get from one location to another, or you have enough to explore the wilds and try to hunt something down. You don’t consume anything when you’re in settlements (cities, towns, fortresses, mines, universities, monasteries, etc) – which is going to be a very large portion of the game – so it’s a very specific concern for exploration and nothing else. The supplies screen therefore does now give you a lot more info, not just those extra lines I mentioned but also the ability to stack how many of something you want to buy (the x1 and so forth on the right-hand side).



Pressing left and right (or 4 and 6 on the numpad, etc) will allow you to stack up how many of something you want to buy, and pressing enter will add or remove the total for that thing (i.e. the number of the thing multiplied by the cost of the thing) to how much money you’ll be spending. Confirming the purchase will then, just like in other shops, give you the option of adding each thing to your inventory or sending each thing off to storage in another nation. This is now an easy way to buy resources in bulk, and although obviously the precise costs of these things are certainly going to need some balancing in the future – this will become easier when smaller denomination coins are introduced back into the game, being one of the features that didn’t ultimately make it into 0.9 – this system is working pretty nicely at the moment. To help you decide what to buy you can also, by pressing ‘C’, access a screen where you can manage your canteens.



Here you have two options. The first to empty out whatever’s in a canteen and make it empty and free to get another liquid added, and the other is to combine canteens by pouring the content of one into another. When you purchase water (and this is generalise for any other acquisition of any other liquid later to be added) the game also now makes sure to fill up your canteens with water (and later on with any other liquids) in the most efficient way. If you have two canteens containing 0 water and one canteen containing 4 water and you acquire 5 units of water, for instance, it will always add it to the 4 water canteen taking it to 9, and leaving the other two free, instead of leaving you with a 0 canteen, a 5 canteen, and a 4 canteen. The game will always try to fill the canteens closest to already being full first, and then slowly work down from 9 to 1, and then only if all possible water has been put in canteens already containing water (or whatever the liquid is) will the game then start filling up empty canteens, and will of course try to completely fill a given empty canteen before moving onto another one. Nevertheless there are certainly scenarios in which canteens might be mixed and moved around a bit, and scenarios where you might want to pour Liquid X out of a canteen in order to make room for Liquid Y, hence the canteen management screen. With all of this added buying and managing your survival equipment is now way easier and way smoother than before!

More speed improvements

There are also a number of new and substantial improvements and optimisations to in-game speed to report on this week (as part of this release’s overall project of making everything smoother, faster, easier, etc). These new issues fixed this week all came again in the turn-by-turn functionality of the game. As I continued playtesting two rather annoying sources of time loss became apparent to me – one of them was taking place in cities, and the other was taking place in anywhere that wasn’t cities but contained people, so towns, fortresses, settlements, and the like. In both cases I was able to find a part of the set of functions that gets called each turn that was sometimes, or always, taking vastly longer than it should be taking. Both of these issues took quite a long while to resolve, but I’m pleased to report that URR is running even more smoothly as a result of dealing with both of these residual issues. As I’ve noted before this sort of very technical bug-fixing isn’t really my forte (nor my passion) but I’m pleased that I was able to hunt them both down and get them both sorted.

In the first case, we had a very rare but quite significant burst in the milliseconds used to iterate a turn that would appear when the player was walking around a city. This seemed to happen around one in every thirty or forty turns and would be a significant spike in time consumption that the player would notice as moving around; the player character would seem to just “stick in place” for a noticeable fraction of a second before coming loose again and continuing to navigate the area. In having the game print some debug logs in order to have a look at this, you can see the milliseconds consumed for each part of taking a turn (aside from rendering the field of view that the player can see), and the spikes in milliseconds that rarely appear here (in two categories, not just one) are very obvious. (And yes, I notice that one part of one turn apparently went backwards in time, but I assume this is just some strange artefact of how Python tracks these things, and is not actually indicative of my discovering time travel.)



So there were two possible spikes here, each one happening in a different part of the turn-handling sequence. The former one, i.e. the third from the end, took place during the game trying to take a turn for the NPCs who had already spawned in a map grid. The latter one, i.e. the second from the end, took place during the game trying to spawn a new general NPC, of the sort who just make up the general crowds in areas that keep things looking interesting. A little bit more investigation showed that the latter one was rarely an issue in cities – but when it was it tended to be a big issue! – whereas it was a ubiquitous, if slightly lower-level, issue in towns…



…while being even more (horrendously) pronounced in fortresses:



As you’ll see from the top screenshot in this section this was, in cities, rarely longer than the briefest heartbeat of time being consumed, and also often registered as a “0” in some cases as well, but in all kinds of settlements this could potentially generate issues. This was the first one I tackled because the spawning-a-new-NPC function is – relatively speaking – pretty simple compared to an AI actor taking a turn, basically because URR’s NPC AI is (reasonably) complex while spawning a new general NPC to be part of the crowd mingling around a settlement is a fairly short function. With that said, though, it took quite a bit more investigation until I was able to zoom-in on and really pin down where the issue was, which is to say the issue mostly appeared when the new NPC was trying to find a position where it could start, and when it was trying to find a position it should be moving to. The function for both of these, called pick_new_local_target(), turned out to be a block of code that I had clearly written in some kind of cataclysmic mental fugue. It was indicative of an issue that a lot of my early code had – thinking that something that might take, say, 10 milliseconds on average really wasn’t all that much, while neglecting to appreciate that a) this function being called multiple times in a given second, and b) the timing of this function is on a bell curve rather than a guaranteed 10 milliseconds, were both enough to add up to serious potential efficiency problems further down the line. The main issue in this function turned out to be how the game looks for a door either for someone to come out of (i.e. that is where they spawn from, and the game is pretending that they were always inside that building all along) or for someone to go into (at the end of their movement around the map). The game would basically pick a random x and y coordinate on the map grid (of 40,000 tiles)… and then just keep doing that, over and over, until it found a door. On some more sparsely-populated map grids this could take a while and is very indicative of the kind of utterly incompetent innocent and amateurish coding a few bits of the game still exhibit. It was the work of a moment to add a list of all doors to the generation of any map tile, and this function now uses this instead, and those 10-20 millisecond computation times (and sometimes far more) have now disappeared. This fixed the majority of the issue here and has led to the whole game being sped up noticeably, and having fewer jerks / sudden pauses, when you are walking around.

In the process, however, I discovered a secondary part of this was to be found in the act of creating the NPC itself, i.e. making an in-game object, giving it all the appropriate stuff (facial detail, clothing, items, political and religious alignments, and so forth), and sending it out into the world. Again a heck of a lot goes into this, but after some serious searching I found that the issue was in the assigning of clothing to NPCs, and specifically in the creation of rings (a character, including the player, can have one ring per hand). Only when a ring was being created were 10 milliseconds being lost, and again this seems like nothing, but when potentially being done in substantial volume and over a long period of time, and alongside other 10 millisecond delays that sometimes appear, the time losses do actually add up to noticeable jerks in the smoothness of the game. A quick bit of research later and I was able to ascertain why exactly rings were so slow to generate, and I fixed it – the issue lay in generating a location-based ring showing a local flag of a town or a fortress, and trying to find an appropriate location in a shockingly slow manner.

With all of these issues resolved, the timings on the turn now looked like this in cities, towns, and fortresses:



…which is an immense improvement over what we had before!

However, the second issue remained, and still needed sorting out…

…except it didn’t. I soon discovered that the rare huge jump in milliseconds in the other category had actually been solved by fixing the first category! I therefore think it was something to do with more unusually high times trying to find a location for an NPC to go to (possibly for a very rare kind of door?). I’m not entirely clear which of these various above fixes also fixed the other issue, but they did, and that’s fantastic. With all of these changes made, walking around the game world is just so much faster now and an infinitely more pleasant experience.

Wilderness general messages

I have now implemented general messages for all the wilderness areas! When you are in any settlement it currently totally overrides wilderness messages and doesn’t give you anything about the specific terrain or biome you’re in – I might change that later, but I think it’s good to have a clear difference here in terms of atmosphere – but when you’re outside a settlement you instead get appropriate atmospheric / background / general messages for the biome you’re standing in. There’s again quite a large set of these, though some biomes were much harder to write good messages for than others, but they again really help to flesh out and develop this feeling that the world is a little more alive. Here are some examples:









However, I also realised that we needed some different comments to come up on some more obscure terrain areas. When the player is on a river or a lake or a coastline, for instance, they should get messages appropriate to those as well as the terrain type (e.g. temperate, desert, etc), whereas on things like mountains and volcanoes the underlying terrain type is generally not particularly visible, and so it should focus on the mountain or the volcano instead. With a little bit more work, therefore, I implemented a system that would notice your presence on a river/lake and add new messages for that, and the equivalent for if you’re on a coastline (you’ll also see in one of these a time-specific message):





And then I went back and added words for volcanoes and mountains that override the usual set, instead of just being added to them:





Indoor speed optimisations

As mentioned in a previous blog entry, indoor speed rendering is also far too slow – this is especially unforgivable given how simple indoor rendering is because a) the areas are far smaller and b) the game never has to think about the alternative heights of things on an indoor map. I devoted a fair bit of time this week to working on this stuff, and I’m pleased to say the process of optimising the speed of the indoor rendering was, largely, the same as the process of sorting out the outdoor rendering. You can read about this is unnecessary extensive detail in the previous blog post, but essentially the problem here was the same set of issues that were taking place outside – rendering far too large an area, rendering the inner area unnecessarily especially if it might not be changing, failing to adequately define the area around the player that should be rendered, and going about some aspects of the whole thing in just a generally slow manner. I believe these have all been resolved, and the rendering speed of indoor areas is once again now cracking fast.



Custom bookmarks without normal bookmarks

The game now correctly handles areas where they are potentially plenty of normal bookmarks – i.e. areas with no existing normal bookmarks the player might find such as buildings or other constructions and the like – but the player hasn’t found any of the normal bookmarks, but has found custom bookmarks. It now shows up correctly on the world map, and when you enter that map to start walking around:





Custom bookmarks in the wilderness

You can now add custom bookmarks to wilderness areas and can correctly fast travel to the. This took a little bit more work since a lot of the game is designed to handle a lot of this stuff only in settlements – cities, fortresses, towns, whatever – and so a fair bit of effort was required to integrate the ability to fast travel and present the player with useful menus, etc, when you’re just doing wilderness stuff. Nevertheless this now all works perfectly – and as mentioned last time a small ‘?’ symbol is added to the world map when you place a bookmark in the wilderness – and it’s all very fast and intuitive.





Draining the marshes (for now)

There is a very, very rare biome type in URR which I call the “marsh” biome, and it can only appear in tiny numbers each world generation (if it even appears at all). By chance on one of my test runs I generated in a city with the marsh as the surrounding terrain, and was able to have a look around, and enjoyed reminding myself of how interesting and novel this terrain looks.



However, it also became quickly apparent that because this biome is so rare – and having small ponds of water scattered through it, so very unlike every other biome – I have been unable to test it regularly with all the new content added in the next few releases, and there are some serious problems. For example, I walked into this slum and found a patch of water that was somehow on a higher z level than I was, and was therefore essentially floating in the air:



And, as you can see, deeper into the slum I saw that these lakes had basically destroyed the generation algorithm of the slum while the algorithm had nevertheless placed soil (instead of marshland) around them, resulting in some very profound weirdness going on:



As such, I have decided to remove the potential for the marsh / swamp biome to generate – but only for now. It’s novel and I’d like to include it, but that’s something to bring back later when I can a) have it generate in far higher volume so that it becomes a meaningful part of the world generation rather than a rare niche exception to the norm, and b) where I can test it extensively with all the different things that might need to generate on it. Farewell, swamp – you will one day return!

Vines

I noticed this week that vines in tropical areas, or rather how they appear in the look-up window, is absolutely dire.



The terrain image generator is one of the earliest I ever made, and while the main generator itself is still perfectly adequate, these vines placed on top are… truly, truly shockingly awful in how they look. I actually couldn’t quite believe how bad these looked when I saw them again – what on the planet was I thinking allowing something so aesthetically repugnant to exist in the game, even back when I starting out?? Truly horrific. I have removed the vines part of the image generator and at some point in the future will update this to a modern-standard image, but for now, it’s just too awful to appear and so vines will appear on the map you’re actually walking around (as in the rest of the screenshot here) but just not in the lookup image.

Bugs and the like

- Fixed one of the handful of major long-running bugs in the game, with NPCs walking around and doing their thing in certain buildings being, very rarely, unable to figure out something to do and causing the game to get stuck in a loop. I think this is now totally resolved and I can no longer get an NPC frozen without a task. In the process I discovered the system for making these choices is appallingly inefficient, though since it still takes up so little time, it’s not a priority to change; but one I’ll keep an eye on for the future. (Seriously though: it’s shocking. I should have known better by 2017!)
- Fixed another major bug involving the game rarely deciding to crash when entering areas of the world – such as city centres, or towns with diasporas of foreign citizens, etc – which should be spawning NPCs from a range of different backgrounds. It would sometimes get confused between which name archetype to use in generating the name for each person (i.e. the archetype of the home nation) and which to use in trying to display their names (the archetype of the local nation). This might sound like a trivial fix but was actually surprisingly complex because of how it’s all handled, but this crash bug is now well and truly purged.
- Resolved a related issue where very rarely in other contexts the game would try to use the wrong name type to present an NPC’s name, potentially leading to a crash (e.g. if they didn’t have a middle name and the game was specifically asking for a middle name).
- Fixed an issue where holy books in religious buildings could spawn almost anywhere (including in reflecting pools and on top of an altar!) despite the fact that they should be only spawning on tables. They do now, indeed, only appear on tables.
- The game now correctly says “You have explored…” or “You have not yet explored…” on the world map, in a long overdue bugfix.
- Fixed a rare crash bug when, upon entering an area of a city containing a river running through that district, and doing so from a particular direction, the game would sometimes be unable to figure out where on that map grid the player should be placed, and would wind up just placing you nowhere.
- Changing the colour of water each turn no longer causes the leaves of trees to change colour (and mysteriously become liquid?) if the tile is water but some tree leaves are hanging over it.
- Fixed a problem with the game sometimes not being able to calculate the time it will take you to leave the map grid when using the travel function if you’re on a river tile, and the game can’t work out how long it will take you to cross to the other side. This is a pretty obscure one, and will have to be adjusted again once swimming is implemented, but for now it just doesn’t cause a crash – and that’s the important thing.
- You no longer consume ludicrous amounts of food while on a ship (we’re treating ships here as moving settlements, i.e. you are fed and have somewhere to sleep and get water and all that stuff rather than needing to purchase supplies to do all of this). Again, it’s only out in the wilderness that you need supplies.
- Some weird black bars no longer appear on the screen when you use the world map looking function to look at a city that you haven’t actually yet found / explored, which thereby allowed the player to figure out things unseen on the world map.
- Cult shrines no longer incorrectly appear as a ‘u’ or a ‘d’ on the map when you’re looking at them from a higher or lower z level than the shrine itself.
- Fast-travelling to a training ground in a city centre (which appears when the nation has gladiatorial combat as its method of justice) will now no longer cause a crash, and correctly puts you where you should be and facing in the right direction to see the training ground.
- Looking at certain types of rings on nomadic people no longer causes the game to crash.
- Entering a farm under very specific circumstances – when the game is looking to try to place a political delegate in a democratic nation, but cannot find one to place there – no longer causes a crash.
- Fixed another potential crash bug in farms where, very rarely, the game had not properly recorded the number of farmhouses there should be (I believe this only happened if no “important” farmer was generated, i.e. no NPC that the game absolutely must track even when the player isn’t physically present) and couldn’t work out what to do when generating a farm tile and it came to spawning farmhouses.
- Asking people about religious relics no longer sometimes causes a crash when they can’t figure out what relic they should be telling you about. The fix here for now is just a temporary fix before really enhancing and developing the in-game religions, but it gets the job done.
- The game can no longer assert that “You purchase 0 more storage space” in a civilization.
- The list of key commands in a dockyard no longer appears and disappears sometimes when you navigate around the menu.

What next?

Another update in a week probably, and that might well be the final update before release. Again, given that so much of this update is improving / optimising / tweaking I’m not going to make a big fanfare on this one, but I’m really happy with all the work I’ve been doing and how well this sets the game up for the future, for being so much smoother and more playable, and for not buckling under the weight of whatever features get added in next. Thanks so much for reading everyone! As ever, please do share about the devlog with anyone you think might be interested if you enjoyed it, and I’ll see you all in a week or so :).
Logged

Egan_BW

  • Bay Watcher
  • Perhaps I'll
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3243 on: January 07, 2023, 06:43:56 am »

Tons of good work there, wow.
Logged
Down at the bottom of the ocean. Beneath tons of brine which would crush you down. Not into broken and splintered flesh, but into thin soup. Into just more of the sea water. Where things live that aren't so different from you, but you will never live to touch them and they will never live to touch you.

Iduno

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3244 on: January 07, 2023, 06:11:14 pm »

Beautiful ASCII. Better than I remember from TOME 2 and ADOM, although hopefully *some* improvements have been made in the last few decades.
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3245 on: January 08, 2023, 08:47:40 am »

Tons of good work there, wow.

Thanks Egan! :)

Beautiful ASCII. Better than I remember from TOME 2 and ADOM, although hopefully *some* improvements have been made in the last few decades.

Thank you Iduno! I really appreciate it :).
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3246 on: January 22, 2023, 07:35:31 am »

Welcome back, friends! This is probably now the final (or penultimate) update before release, which I am tentatively going to schedule for the first week of February. A slightly slower couple of weeks this time as there has been a lot of start of term work to get sorted (and my only family member is over here in Sydney visiting me at the moment) but I’m pleased with all the polishes and final steps I’ve been able to put into place. There’s very little left to do and barring any catastrophes I think a release at the end of this month should be workable. I also think it’s quite a “good” date to make approximately regular for future years in that (as previously noted) it avoids the holiday period quite nicely.

Anyway, here’s what I’ve been working on in the past fortnight:

Death

You can now die in URR! A tremendous addition, I think we can all agree. Upon death the player is given a record of everything that they achieved in that particular playthrough – how many cities they discovered, how many universities they visited, how many shipwrecks were uncovered (it’ll be fun to add these!), and also how many of what I think will be the three distinctive quest elements – how many secret locations you found, how many high-quality chests were opened (a generator I look forward to working on), and how many “puzzle pieces” were found. I’ve been working for a day or two now on this death screen and I’m actually really happy with how it’s looking at the moment! There might be more added here in the future (and I need to finish implementing all these collection systems for keeping track of the various things you can find or do in-game), but I think this does the job for 0.10 very nicely indeed.



(Also, whew, 1040 books generated in a single world! Working on generating the content of those books, and making it highly meaningful and logical and filled with potential game clues, is going to be a lot of fun.)

Number items and weight

The weight of canteens, food ration bags, and equipment packs, now changes logically as you consume the stuff which is in them. Food ration bags and equipment packs both have a weight of “2” – for having 6/7/8/9/10 rations / pieces of equipment in them – and now go down to a weight of “1” when they have 1/2/3/4/5 inside them. The same is also true of canteens, with a base weight of “1” but going up by 1 for every two units of liquid inside them, up to a maximum of a weight of “6” for 10/9 units (and “5” for 8/7 units, and so on down). These update and change whenever you use them and as far as I can tell this works in all contexts now that it should be working in. So for example, here are your supplies when you start a new game, i.e. a canteen with ten units of water and four packs of food rations with ten rations each:



And then after some exploring over half of the rations in this food pack have been used up, and so the weight (and the player’s total held weight!) have both reduced by one:



And then later after eventually finding our way to a desert and using up some of the canteen, it no longer contains 9 or 10 units or water (for a total of 6 weight, 5 per 2 units and 1 for the canteen itself) so now weight 5 instead (4 of which comes from the 7-8 units of water it holds and from 1 from the canteen). All of this also has the nice side effect that the more you explore on an expedition the more weight you’ll free up in your inventory to bring back what you find. This was a key mechanic in one of my favourite games from two years ago, The Curious Expedition, and I don’t mind admitting that I think it’ll work really very nicely here as well.



Religious issues

I also found a graphical issue with some religions in the “normal” archetype (i.e. not a “demonic”, “Lovecraftian”, “pantheon” or “Egyptian”-style religion – the “normal” archetype is generally use for around 75% of the religions in a generated world with a smaller number selecting one of the other types). This graphical issue was manifesting in two places, with the religious symbol on religious books sometimes appearing very strangely indeed (on the left hand side of this image) and the symbol on altars sometimes just deciding of its own free will not to be shaded at all, and consequently looking rather strange (on the right hand side).



It took a little while since it has been a long time since I did anything with this particular graphics generator, but I was able to hunt down the issue and deal with it. Incredibly this was a hangover frmo the transition from Python 2 -> Python 3 years ago and was – I hope – the very last thing that I hadn’t previously noticed as being a little bit amiss as a result of making the shift. I believe these are all now fixed though, resulting in some much nicer looking religious altars and holy books:



At the same time I also noticed another bug, which was that the colouring of the religious robes for the priests in some religious buildings is incorrect. It seems to always be correct when it’s for one of the special religious archetypes, but for the “generic” religion archetype the wrong colour of robe was definitely popping up from time to time. For instance, here’s a book, altar, and robe for the religious building I was testing the above thing in…



…and one can pretty clearly see that one of these does not match (and one can also see that one of the image qualities here is much lower than the others and came from a much earlier time of working on procedural image generation, and will need updating to come in line with the image quality I’m working with now, but that’s a task for another time). A quick bit of fiddling and work later, however, and this problem appears to be solved, with the game now correctly giving priests the right (if aesthetically mediocre) robe for the religion in question:





I also in this process noticed that holy books were sometimes not spawning in appropriate numbers in some religious buildings. This issue seemed to be focused on the tables that might spawn in the branching sections away from the core of a religious building, i.e. holy books might spawn on tables in the middle of a religious building, but seemed very disinclined to spawn on tables in the branches (which in the generation system are placed later on). Again it happily wasn’t too much work to hunt down the issue here and get it fixed:





On foot

A number of the new features and mechanics were working fine when used how the player will normally be using them, but were causing some lingering issues when being used in other contexts. These particularly involved doing things on foot rather than with the travel menu, which is always an option and needs to be appropriately catered for. The main two issues were the time of day iterating correctly when you were on foot – specifically when the day changed from one day to the next after passing through midnight – and the game giving you the menu to decide what you wanted to do at a city gate after unloading the current area but before passing through, leading to a crash if you just decided to turn back around and various other bizarre (both programmatically and visually) outcomes if you chose some of the other options.

In the first case the game can now correctly move from one day to the next by simply the time ticking over midnight – instead of the normal thing of moving one day to the next when you move across a map grid into the next one along – and doesn’t cause any weirdness with the visuals, nor incorrectly saying rubbish about you being in a town when you are not, actually, inside any kind of settlement. As a result of working on this I have also decided on a model where food and the like are only consumed when moving map grid – this might seem just fractionally strange ordinarily, but I think will work well under gameplay conditions, i.e. preventing scenarios where from the player’s perspective you are randomly charged a food or a water supply while you’re just walking around a map grid talking to people or doing whatever you might be doing. In the second case the game now gives you the menu you get at a city gate when you move into the city gate but before unloading the area you are currently in, allowing you to potentially turn back around and do something else without the game misbehaving, and allowing you to also use the other options (exchange currency, buy supplies, etc) and then be able to immediately go back to moving around the map grid you are on without a crash, a need to reload, or any other blasted weirdness.





Fungus

The game presently generates large numbers of plants and animals – though only the plants at present actually appear in the game world with lovely new generated images in 0.10 – all of which are designed both to enhance and further the alive-ness of the game world, but also to serve as potential clues.



Maybe you learn a mansion with a garden full of plants with particular properties houses a great secret, and you need to research with herbalists and through books which plants possess that property, and hence which plants to look for in the gardens of local manors. Maybe you hear of a treasure buried in the area where the Two-Antlered Snow Deer performs its mating rituals; then you find a book about that animal and discover the exact location; and then you go there and try to find what’s buried. Although they might not appear for a little while, I’ve now also implemented a generator for fungi. I think these are mostly going to appear in cave / underground areas once those are implemented (though maybe also, far more rarely, above ground – or perhaps the more they appear above ground, the closer you are to a cave entrance?) but it was a really fun hour to design this generator and get these names implemented into the game’s tracking for future reference, future image generation, and future clue integration.



Bugs and the like

- General / walking-around messages in areas where the main thing is only in the centre of the map grid, such as monasteries and fortresses and towns (and later mines, universities, etc) no longer trigger if you’re at the edges of the map grid. This is a good change since it seemed a bit strange when you were talking through trees and the game said “Two people walk past you discussing [whatever]!”.
- Fixed, for what feels like the fifteenth time, the bug with priests sometimes perching themselves on top of altars like some kind of mad religious bird. I am now pretty certain priests will never stand on top of altars, and at most will stand next to them, regarding them with fervent awe.
- Entering the travel menu, moving into an exit from the city, and then choosing to turn back around rather than go through that exit, no longer results in a crash.
- Spawning a religious building, leaving and then coming back under a very specific set of circumstances, no longer causes the game to crash trying to figure out what the priest should be doing when you return.
- In anticipation of replacing reliquaries with the actual relics themselves in 0.10 (and because the reliquary as an item/feature no longer really works with the ideas I want to develop for religions), all reliquaries have now been replaced with offering tables in religious buildings, and will subsequently next year have relics spawning atop them.
- The text on the edge of the currency exchange screen will no longer sometimes get chopped off when dealing with currencies that have particularly long names.
- The starting year, month, and day of the game are now lightly randomised.
- Buying something or a number of somethings from the supplies menu now correctly and at the right time updates the sidebar showing your supplies of food, water, and equipment.
- Offering tables in churches now actually have different colours for when in vision, and outside of vision.
- Trying to place plants in a snowy biome can no longer sometimes lead to a crash; instead the game looks for plants that can spawn in that location, but if it finds none it selects a nearby area of tundra and uses the plants from that instead. Plants are also relatively sparse in snowy biomes compared to the others.
- You can now use the numpad 5 and the numpad enter to confirm things on even more menus which previously didn’t allow this (such as exchanging currencies).
- Indoor water now flickers and shimmers and changes colour each turn just like outdoor water does, and although one cannot currently find any kind of lava indoors, just in case this one day changes, the same would now work for indoor lava as well.
- Fixed a problem where monks would sometimes struggle to work out what religion they should belong to, and would instead opt for atheism, and crash the game.

What next?

Release!
Logged

Dorsidwarf

  • Bay Watcher
  • [INTERSTELLAR]
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3247 on: January 22, 2023, 02:46:06 pm »

Just skimming through but looks like some good stuff! Fixing ooold bugs has gotta be satisfying
Logged
Quote from: Rodney Ootkins
Everything is going to be alright

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3248 on: January 22, 2023, 09:06:55 pm »

Just skimming through but looks like some good stuff! Fixing ooold bugs has gotta be satisfying

Thanks Dorsi! And *yes*, absolutely it is, my goodness.
Logged

Lidku

  • Bay Watcher
  • Enclave here, why isn't your video feed working?
    • View Profile
    • [IMG]http://i.imgur.com/Ylvdlc5.jpg[/IMG]
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3249 on: January 26, 2023, 05:58:54 pm »

Will you add supernatural monsters to the game? One's that you can hunt down, or some that can turn you into a supernatural?
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3250 on: January 27, 2023, 05:47:09 pm »

Will you add supernatural monsters to the game? One's that you can hunt down, or some that can turn you into a supernatural?

I'm pretty confident that nothing of that sort will ever be appearing! I'm going for a 99% realistic world, though with a few slightly weird things here and there, too :).
Logged

EuchreJack

  • Bay Watcher
  • Lord of Norderland - Lv 20 SKOOKUM ROC
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3251 on: January 28, 2023, 05:45:48 pm »

I'm reminded that city folk don't know what Cows look like, so Supernatural creatures are overkill...

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3252 on: February 01, 2023, 08:55:44 pm »

I'm reminded that city folk don't know what Cows look like, so Supernatural creatures are overkill...

Haha, well that is also true!
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3253 on: February 03, 2023, 09:13:53 pm »

Well, I think we’re basically done! I have three extremely minor bugs to fix and aside from that I’m just playtesting. I was hoping to release today but we’re just not quite there – it is now going to be next week, but 0.10 is essentially finished. I’m just playing and playing and testing and testing and having a few friends and colleagues test as well to make sure the release is as bug-free as possible. It’s never going to be entirely bug-free when you have a game of such size and scope and only a handful of testers, and this is a smaller release I intend to make far less fanfare about than 0.11 – but nevertheless I want it as polished as possible before I put it out. The final remaining bugs that I know about are all very minor and shouldn’t be at all challenging to resolve, and I’ve been having a great time exploring, reading the flavour texts that appear as you explore, using some of the new facilities, and enjoying the speed with which everything now goes! I’m really pleased with all of this, as 0.10 represents both a bunch of new and valuable features, but also a lot of deep foundational work that has massively streamlined the game and on which the foundation of a main quest will actually be built! Something of this scale can start to creak with time and age I’m pleased with how massively faster and slicker everything is now, and it’s this kind of efficiency that everything else can be built upon in the coming years.

So: barring the discovery of some game-breaking nonsense, I’ll release 0.10 next week at some point once a final few bugs have been squashed! See you all in a week 🙂







Logged

Dorsidwarf

  • Bay Watcher
  • [INTERSTELLAR]
    • View Profile
Re: Ultima Ratio Regum (0.9 released Dec 31 2021!)
« Reply #3254 on: February 04, 2023, 03:55:49 am »

Exciting! The adventure finally begins
Logged
Quote from: Rodney Ootkins
Everything is going to be alright
Pages: 1 ... 215 216 [217] 218 219 ... 221