Author Topic: Ultima Ratio Regum (0.8 released after five years!)  (Read 258138 times)

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Ultima Ratio Regum (0.8 released after five years!)
« on: December 13, 2014, 01:49:28 PM »
So, I'm starting a year of full-time development on URR. This means I am working on it as my main occupation for that time and living off my personal savings. As such it seems sensible to add a regular update thread here as well as my blog, Bay12, TIG and the various other places I have such a thread, and to cross-post all my weekly updates to here.

For those who don't know about the game:

Ultima Ratio Regum ("the last argument of kings") is a ten-year project, of which 3.5 years have been finished via coding part time whilst completing my doctoral work. It's a game which aims to integrate thematic content on historiography, philosophical idealism and the rise of modernist grand narratives, with the deep, complex and challenging gameplay one expects from a "classic" roguelike (and, of course, an ANSI display and permadeath). Set approximately around the Scientific Revolution, the objective of this year is to finish all remaining worldbuilding (~2.5 months), and begin to integrate early gameplay focused around strategic choices, NPC interaction, and hopefully combat too. Screenshots:

Loading a game with player information:



Exploring the generated desert fortress of "Redsnake Bastion":



One district among many in the city of Smithvale:



Wandering around a graveyard outside the city of Foolrock Precipice (every grave of which has a name, a date, and is linked to the world's history):



I've just released version 0.6 after seven months of development, which now gives you the ability to walk around farms, towns, vast cities (each able to support a population of ~300,000+), fortresses, slums, graveyards, hunter-gatherer settlements, and more. I'm now working on version 0.7 - having tackled the exterior for every building on the planet, we need to tackle the interiors.

You can download the game at http://www.ultimaratioregum.co.uk/game/downloads/, and my blog there is updated every week with a detailed entry on the week's coding developments, and sometimes more general games crit/design commentary too (though I intend to cross-post them all here from now on).
« Last Edit: May 20, 2021, 02:02:58 AM by UltimaRatioRegum »

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #1 on: December 13, 2014, 09:04:46 PM »
Still aiming for semi-seasonal releases with this new schedule for the new year or changing it up somehow or another in consideration of it being quite the change of pace versus the road that has led you to the present release?
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #2 on: December 13, 2014, 09:07:53 PM »
Still aiming for semi-seasonal releases with this new schedule for the new year or changing it up somehow or another in consideration of it being quite the change of pace versus the road that has led you to the present release?

Now I have more time on my hands, I am definitely aiming for one a season - next in March for a smaller release, then July for a slightly larger one, then probably September/December. It has been impossible for me to keep to the seasonal release schedule before, but now - at last - I think I actually have a shot.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #3 on: December 20, 2014, 02:49:20 PM »
Well, it took longer than expected and ran into a million delays (as these things also do), but I am very pleased to announce that from (roughly) now onwards, I will be working full-time on URR for approximately a year. This means my doctorate is no longer my #1 priority (it is effectively finished, and due to be bound and submitted on Jan 31st) and URR my #2, but they have been reversed – my academic work obviously remains important, but development on the game will take precedence for the coming year.



So, what does this mean in practical terms? Well, it should mean four releases this year. My plan is to release 0.7 (building interiors and major code optimization) in March, followed by 0.8 (NPCs!!) in July, 0.9 (strategy, coinage, travel) in September, and 0.10 (combat!) hopefully in December 2015, or just after the start of 2016 if not. It will mean the weekly blog updates will continue with the usual mix of URR updates (90%?) and general game design/history/criticism posts (10%?), and I’ll simply be able to spend significantly more time on coding the game and get through what I want to get through far, far faster than I have over the last three years.



However, there are some contingencies. There are currently several potential academic positions in the works for me, and if/when one of my applications is successful, and when that research project starts, will obviously influence the full length of this full-time development period. As much as I’d like to “guarantee” a full year, the academic jobs market – especially when one is trying to very suddenly change field! – is not to be trifled with, and I cannot with any degree of sanity consider extending to a full year and sacrificing a promising position I would otherwise had taken, if one comes up. As ever I’ll keep you all posted. The other contingency, of course, is that I cannot devote 100% of my time to URR – a significant portion of my time (roughly what I’ve spent on URR in the past few years) will obviously remain on my academic work, for there are a wealth of papers I intend to publish this year and close to a dozen conferences I hope to present at (including hopefully GDC Europe, if all goes well). Regardless, this is a major increase in the time I can commit, and the speed of development should reflect this!



So there we go. Coding development on 0.7 will begin in the next few days once I’ve finished planning out the technical improvements/optimizations, and March is the target for major coding optimization and the generation and storage of every single interior within the current game world (or at least the overwhelming majority, if some turn out to need other releases in place first before they can be designed). I have a few other end-of-year updates lined up for this blog, then regular updates will resume in a couple of weeks.



Last but not least, I just wanted to put up a brief summary of the last week’s 0.6 release. The download rate has been pleasingly rapid, and thus far I’ve had two very, very rare bugs identified, each only by a single person. Given that we hit 1000 downloads within just a little over the first two days (thank you all!) and they haven’t been reported more than once, I feel confident saying these are highly unusual rare bugs. One is in world generation and appears to take place when the game attempts to give a feudal civilization a hunter-gatherer religion (which should be impossible); and the second was a crash at a particular point of worldgen, but with no more information, so that one is sadly just too vague to pursue unless I can get an error log for it. If the person who reported the crash after the “C” and “F” of the worldgen screen is reading this, I need more information! There are a million different functions going on there and an error log is pretty much essential to hunt that crash down. As such, I’ve decided it’s not worth the effort to release a 0.6.1 (unless some major game-breaking bug appears or many more people report these same issues) and to simply push onto 0.7.0 and fix these bugs in the process.

Next week I’ll be posting an end-of-2014 summary of URR’s development (and a couple of other things), and then the entry afterwards I’ll be posting about where we go from here and the plans for 0.7! See you all then.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #4 on: December 21, 2014, 03:09:49 PM »
What kind of RPG system have you planned for this game? It looks impressive, all that details and the huge size of world, but how about the actual gameplay? By the way, when I have programmed the next version of Teemu I have actually downscaled the size of some level themes. In fact I think it's best keep levels as small as possible to avoid lots of walking from one place to another, but big enough to keep it interesting.

mushroom patch

  • Rogueliker
  • ***
  • Posts: 554
  • Karma: +0/-0
    • View Profile
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #5 on: December 21, 2014, 04:31:04 PM »
I too would like to know how your game really plays. It's all well and good to talk about details and post screenshots, but how can anyone have any confidence in something you can't even play?

By the way, I also have a new version of a roguelike I released a number of years ago called mold simulator. Previous versions were too much like stuff tryhards like you have released, with all the rooms and levels and stuff. I try to keep it simple. In the new version, the mold spawns next to stairs in a 3x3 room and waits for adventurers to come down -- then the game is afoot!

Anyway, your work is really awesome, except for the ways it differs from my stuff, like being too big and not having the orgasmic gameplay I've planned for mushroom patch simulator (MPS).
« Last Edit: December 21, 2014, 05:34:00 PM by mushroom patch »

Aukustus

  • Rogueliker
  • ***
  • Posts: 440
  • Karma: +0/-0
    • View Profile
    • The Temple of Torment
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #6 on: December 21, 2014, 11:14:09 PM »
It's interesting to see what kind of projects come out of the Python tutorial at RogueBasin. This is definitely from the most complex end.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #7 on: December 22, 2014, 12:47:47 PM »
What kind of RPG system have you planned for this game? It looks impressive, all that details and the huge size of world, but how about the actual gameplay? By the way, when I have programmed the next version of Teemu I have actually downscaled the size of some level themes. In fact I think it's best keep levels as small as possible to avoid lots of walking from one place to another, but big enough to keep it interesting.

One akin to a turn-based Dark Souls; I love the Dark Souls mechanics based around timing and using the distinct "movesets" of different weapons, and that appeals to me much more than bump-to-attack (which is fine, but I think something different is more suitable here). Combat is going to be rare, but consequential - no enemy you encounter should be a "popcorn" enemy. A *lot* of the gameplay mechanics are going to be based around gathering and using information, strategy-layer decisions (coinage, safe/hostile civilizations, travel time), and also, I hope, some fairly dense social/NPC mechanics. Large parts of these three should be coming in 2015 now I have more time to actually work on it. Exploration, also, should be a MECHANIC, not just "moving around a world map", i.e. the movement and choices around the map must be consequential, and discovering new areas has to be meaningful, rather than just a backdrop. It's tricky, but I have some good ideas in mind for this part, which'll be appearing in the coming months.

I too would like to know how your game really plays. It's all well and good to talk about details and post screenshots, but how can anyone have any confidence in something you can't even play?

By the way, I also have a new version of a roguelike I released a number of years ago called mold simulator. Previous versions were too much like stuff tryhards like you have released, with all the rooms and levels and stuff. I try to keep it simple. In the new version, the mold spawns next to stairs in a 3x3 room and waits for adventurers to come down -- then the game is afoot!

Anyway, your work is really awesome, except for the ways it differs from my stuff, like being too big and not having the orgasmic gameplay I've planned for mushroom patch simulator (MPS).

MPS hype! (And thanks :) )

It's interesting to see what kind of projects come out of the Python tutorial at RogueBasin. This is definitely from the most complex end.

Thanks - and I agree, I think the tutorial is really tremendous, but definitely open, flexible and most importantly *clear* enough for people to take that basic code, figure out how it works, then move it in a bunch of different directions. I don't think a single line of the tutorial remains in URR, but I would have seriously struggled without it (and tcod).

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #8 on: December 27, 2014, 03:44:11 PM »
This week's update, cross-posted from my blog (www.ultimaratioregum.co.uk):

And thus, 2014 draws to an end. What did 2014 mean for URR, for my experience of making URR and everything that happened this year, and where does this mean this game and blog and all the rest of it will be going from here?

2014 began immediately after 0.4, my unwise attempt to introduce gameplay before the game was ready for it. Although I was reasonably happy with what you could do in Ziggurats, it lacked any real spark when the world was otherwise so empty, and I realized that it was time to finish off the worldbuilding before actually trying to add any more gameplay (only one release to go!). At this point I turned to fleshing out the detail of the world, and creating a space to interact with that should be every bit as dense, nuanced, and sometimes idiosyncratic, as the real world of a couple of hundred years ago.



From this work I released 0.5 in April, which gave us history generation, a vastly improved world map, religions, coats of arms and families, religion and civilization detail, and was the first release that took place after I finally figured out what the game was actually going to be about! I was very happy with this release, and a lot of people who had previously been sitting on the fence about whether or not I was ‘committed’ to finishing the game were persuaded at this point. Success!



This also pointed the way to the next release: making all these cities, towns, farms, settlements, fortresses and so on actually explorable, rather than just icons on the world map which told you “You can explore these in the next release!”. So, 0.6 began, and ended up being the longest release I’ve ever done, but also by far the largest. The amount of content in 0.6 is probably equal to, if not more than, all the other releases put before it (especially since 0.1/2/3, back in the day, were basically my attempts to figure out how to program a game whilst also programming a game, an approach which may have been a tad unwise). I committed to making every district unique, every fortress generate according to its own algorithm, and basically maximizing as best I could the length of time until players could/would become “used to” what they were seeing. This process isn’t finished yet, and 0.7 and 0.8 will both contribute heavily to this, but it’s a major development along the path of making URR as dense and varied a world as I want it to be.

Released a couple of weeks ago, 0.6 is the first release that I feel stands on its own, even as just a detailed ‘world simulator’ at this point. Although naturally the four planned releases for 2015 should be great and introduce some gameplay, I don’t feel the need right now to keep telling people “but just wait until the next version!” when they look at 0.6. It gives a good impression of the kind of world we’re dealing with, and something about the kind of game that’ll take place within it, and I’m very happy with that.



It was also during this year that I finally realized that Science and Technology Studies (STS), the field of my doctoral research of the last few years, was not where I wanted to be, and that game studies most definitely was. The first thing I ever did in this field was a presentation on the semiotics of roguelikes (which I am currently writing up into a full journal paper) which I gave at the Canadian Game Studies Association Conference, and the response to this (and my overall experience there) cemented for good my shift to game studies. As such, although right now I’m putting the final touches to my doctorate (submission mid-January, at long bloody last), all my other academic work is now on games. I’m incredibly happy that I’ve made this shift, that my early work has got such a positive response, and indeed that a number of people within game studies have shown an interest in URR themselves. I love the possibility of academic/creative crossover in my work, and we’ll have to see where this goes from here.

Lastly, you may notice a NEW BUTTON (www.ultimaratioregum.co.uk/game/support) on the menu at the top of the blog. This is the first step towards redoing/reworking this website over the course of 2015, and is a response to the very generous comments from lots of people who want a way to directly support the game. That contains a link to a donation button, but more importantly, I note on that page that I would actually much prefer that people support the game by ‘spreading the word’ than direct monetary support (though I certainly do appreciate that immensely). So, if you like what’s going on at the moment, and what I’ve got planned for my year (roughly) of full-time development over 2015, please give it a look and see if you’d like to give me a hand spreading the word of this glorious Scientific Revolution world to every corner of the internet.

In the mean time, I hope everyone has a great new year – I’ll be back next weekend with a post about my plans for the coming year and, indeed, the coming five years, and then regular URRpdates and the odd game analysis piece will return to normal the week after that. See you then!

Aukustus

  • Rogueliker
  • ***
  • Posts: 440
  • Karma: +0/-0
    • View Profile
    • The Temple of Torment
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #9 on: December 28, 2014, 04:26:03 AM »
Just a minor thing, though it might just be me, but the triangle walls feel somewhat weird. I think a square might look better Otherwise it looks really nice.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #10 on: December 28, 2014, 10:52:58 AM »
Just a minor thing, though it might just be me, but the triangle walls feel somewhat weird. I think a square might look better Otherwise it looks really nice.

Ah, that's not just walls, it's for all terrain - it shows that the terrain is 2 z levels or more above your current location! If it's only 1 z level, it shows a ^ instead :).

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #11 on: January 11, 2015, 02:05:07 PM »
I've now started work on 0.7, beginning with some of the graphics and new objects. 0.7 is all about building interiors, so this means all the obvious stuff - tables, chairs, beds, etc - and the rather more obscure and intriguing stuff - altars, thrones, etc. To begin with this week I've focused on two components of this, primarily the "mundane" household/building items, and also the floor tiles for the more expensive and up-market buildings (upper class housing, cathedrals, parliaments, etc). I decided to start working on the aesthetics first before moving to too much coding, as I wanted to have a good image in my head of the world (and the variation in the world) that I want reflected throughout building interiors before I thought about their layout. As with everything else in the game, all civilizations should vary - now, admittedly there is only so much you can do to vary a chair, but I think I've done a pretty good job:



As well as these I've also done tables and beds, and various designs on those too, bearing in mind furniture items are not "to scale" (i.e. they are designed to take up the entire size of the lookup window regardless of their actual relative size). The more up-market the location the item spawns, the more elaborate the decoration, and the choice of wood colour is naturally based on the biome the furniture is found in:





I also want to take this entry to point out a certain... hidden aesthetic consistency within cities. I don't know if anyone will have spotted this - and it is becoming more pronounced in the next version - but I rather like this. If you've ever looked at the gatehouses in cities, you might notice that there are several different shapes:



In total there are five - squares, octagons, diamonds, circles (as best as possible with a tiled square grid), and crosses. Each civilization picks one at random. It's a minor additional detail, but then if you look at shop signs, you'll notice that those also have different shapes:



The observant player would then perhaps also notice that the floor tiles in cathedrals, parliaments or castles have a range of different patterns based on various shapes (and also their colouring is dependent on the flag of the nation in question):



Therefore, in each civilization, the shapes throughout the civilization are consistent throughout! In this case, octagonal:



That's just a minor thing, but I think helps with just a little extra distinguishing between civilizations. Now I've done a very good portion of the new graphics for this release already in just the first week of serious coding (perhaps a third of new graphics?), my next task is the challenging technical task of hacking down saving/loading times, and changing the game to saving the map in chunked sections within a folder on one's computer, rather than in chunked sections within a single massive file. It's a hefty change, and one of those which will either be weirdly trivial and only take me a day, or drag on for the week. We'll see. Coupled with this is creating the new infrastructure for building interiors which is going to be handled in the same way, and from 0.7 onwards saving/loading times are going to be reduced to a fraction of what they are now, and  they will no longer rise the more of the world you've saved (which it currently does - a serious oversight). Either way, next week I'll be talking about these technical changes in a (rare) semi-technical blog entry - see you then!

And... some strange altars have been popping up.


UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #12 on: January 17, 2015, 07:09:58 PM »
This week I’ve been working on two things – improving saving and loading, and beginning work on the technical aspects of handling interiors, keys, doors, multiple floors, and a million other things intricately related to interiors and handling all the appropriate amounts of data. Firstly I’ve made a major change to how the game is saved. Until now each work was stored in a single huge file – “World1″, “World2″, etc – which meant that each time a particular chunk had to be saved or loaded, that huge file had to be opened, examined, and shut. So, rather than a single massive monolithic save file which gets larger and larger with each area you explore, and therefore the computational load of opening and closing that file each game gets larger and larger, I instead present you with a new data folder:



Each file is for the coordinates shown (obviously) and contains both the outside map grid, and any buildings that have been generated within that grid. Therefore, that is all that needs loading and saving each time you move between grids, rather than adding something to the massive older file. This has made the initial loading times for the game low, but as more and more areas are generated, it never gets slower! There’s also a code in each of these files to ensure it relates to the correct game instance, to ensure no crafty people switch around the save files to advantage themselves…

This is the first of three stages to the game’s optimization. The second stage involves changing how each individual tile is stored. Currently, every tile has its full set of colours – dawn, dusk, night, in player’s sight, out of player’s sight, etc – stored in every instance. This is horrifyingly inefficient. Instead, it needs changing to numbers that refers to where in the colour database the appropriate colours are found, and which doesn’t save/load them every time. In turn, the third stage is to adapt the rendering code to reflect this. I’ll probably be working on that in the next week alongside more general interior work. As with this first optimization, I expect this to take some time, but if we’re lucky it’ll be just as simple as the file/folder change was! And should hack the size of each save file down by… 40%? Maybe more? We’ll see.

SECONDLY, I’ve started work on interiors. Naturally I want interiors to be as complex and as varied as the external world; you should have to walk around for a long time before you see things “repeating”, and the interiors should be heavily dependent upon civilizations, religions, factions, geography, etc. I decided to start with religious buildings. Just as each one is distinct on the outside and the layout is procedurally generated… so too (as I’m sure you’ve come to expect from me by now) is the inside. The inside is naturally broadly consistent across all religious buildings from a certain religion, but each interior across religions is highly distinct. Some may contain statues, some may not; they’ll have different layouts of things like tables and chairs, *very* different altars (see next week’s update, maybe?), different places for offerings, naturally different NPCs, and also different secrets (if any). So, a religious building from the outside:



And on the inside (early days, don’t be too judgemental!) with some chairs (the backwards ‘t’), tables (the tall ‘pi’ symbols), doors within the building and leading outside, statues (in each of the ‘wings’), an altar (purple in this casee) and a staircase leading to the second floor…



…where we find a corridor running around the outside of the building, and two more stairs leading up to the top floor… but we’ll have to keep that one secret for now.



My intention for the remainder of this week is to finish off all possible variations of religious building interiors, which should yield something in the high tens of thousands of possible interior layouts! I’m also having to plan ahead to think about what kinds of secrets should be potentially spawning in these buildings, and how they should be accessed if so, so that’s also influencing the development process. I might also try to finish off all the altar graphics this week; the variation I have so far is amazing, and I think you guys will love them when I unveil them (either next week, or the week after). And that’s all for now!

Aukustus

  • Rogueliker
  • ***
  • Posts: 440
  • Karma: +0/-0
    • View Profile
    • The Temple of Torment
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #13 on: January 18, 2015, 10:47:40 AM »
Will the large images of furnitures be viewable through some sort of looking command?

Just a minor thing, is the "Poi" bar shorter than the other bars?

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Ultima Ratio Regum (v 0.6 released, 13th December!)
« Reply #14 on: January 18, 2015, 09:07:36 PM »
Will the large images of furnitures be viewable through some sort of looking command?

Just a minor thing, is the "Poi" bar shorter than the other bars?

They are indeed; pressing 'l' for 'l'ook (or ';') will let you view anything in-game, and everything has a generated image alongside it! It is, yes, though that might get changed in the future when combat mechanics are fully developed later this year...