1. Arbitology: Dei Gratia Rex
  2. News

Arbitology: Dei Gratia Rex News

January Update

The first Saturday of the month has come and gone. Apologies. I'm kind of behind on everything right now. I have an unfortunate amount of things going on right now, and will for some time to come. I'm still doing as much work as I can despite that, but sometimes things like update posts slip through the cracks a bit.


Family events, continued


As expected, these events are continuing. One of the reasons I saved these for the end is that I expected they would interact with lots of other systems. This expectation turned out to be accurate. Just for one example, a promised hunt and some interactions with previous systems:



Also as expected, the fact that many of them are secretly seven events masquerading as one to hit all seven personality templates, it's slow going. This expectation also turned out to be accurate, I'm afraid.


Traits and continuation


Ages ago, I wrote about a design goal of having no entirely good or bad traits. I think the examples I used then were having sufficiently angry, shy, or dull characters having options available in some events that neatly sidestepped some unwanted consequences.

This is something that I have continued through the entire project. One thing that is often hard is finding downsides to generally positive traits. I did find the good fortune of discovering a few places recently in which frugality and kindness were less than ideal. Of course, as always, spending willpower can allow your king to act out of character.



Continuation events are another things I wrote about ages ago. Briefly, these are events that have delayed consequences. These continue to be written as well.




What's Next


More family events for the foreseeable future.

A New Year begins

The first Saturday of the month — and year — is upon us. First of all, I hope everyone had a safe and happy Christmas, Hanukkah, Steam Winter Sale, or whatever other winter observance you may happen to celebrate. Now is a time for reflection on the previous year and looking forward to the next.


2022


Perhaps the thing I am most proud of this year wasn't writing any events, quite the opposite in fact! In June, I finally deleted a certain temporary event. Much of the content I wrote before this point was player-directed content and content contained in specific modes (like warfare, the itinerant court, and the introductory phase in Normandy). As of last summer, I finally had enough main-phase random events that I could delete a min-weight placeholder. Hurray!

That's not all of course. Looking back on some older updates, I find the old book texture a bit jarring. That was among the visual updates.



That reminds me, I really should update the store page with screenshots that showcase these new visuals.

Otherwise, lots of content! I wrote hundreds of events of many types, from simple random events touching traits, factions, and locations, to complex systems of interfacing with laws. I'm very much looking forward to the future.


More visuals


I knew my schedule would be a bit fragmented in December, so I shifted gears to work on a few systems that don't necessarily require long periods of concentration. One of these was another go at the handwriting effect which I outlined previously.

The basic idea was good, but there were some problems. The goal was to better simulate text written by hand, while still remaining easily legible. To that end, I introduced a subtle jitter in spacing and letter form. This was all fine and I'm actually a little proud of it. However there was also a random jitter in opacity which, in retrospect, does not make all that much sense. This was changed such that ink levels start high, decline slowly up to a point, then rapidly decline. After a threshold is reached, the digital scribe, so to speak, refreshes their ink and continues.



In the second paragraph, you can notice that the scribe is running low on ink when they get to the word "skill."


Options menu


I also finally got around to making a functional options menu.



I had an unexpected chance to demo the game in real life somewhat recently. Unfortunately I was just hand-editing options in a JSON file at that point. So when I did the demonstration, it had to be without the benefit of music, which was tragic. The options menu solves that particular problem, should it happen again. It was about time, honestly.

Conspicuous by their absence are options involving resolution. Worry not, that's on the agenda. I have a bit of a wild idea that should result in incredible flexibility, should it work as well here as it does on my website. On the other hand, I'm not sure it's going to be performant. Should that fail, I will at least create a few common resolution layouts by hand.


Spouse events, continued


This is still on-going. I find writing these events a bit slow if I'm honest. In the first place, they say "write what you know." It may come as a surprise to some, but I've never actually been married to a stranger for political purposes. The sources don't offer as many details as I'd like here, either. I find myself having to invent situations and then proof them for historical accuracy.

On a technical level, these are also large events. Consider that DGR tracks thousands of characters, most of whom are randomly generated. It would not be possible, nor especially desirable, for me to write thousands of different sets of events based on one's spouse. On the other hand, writing one set of events for highly varied personalities wasn't all that appealing either. In the end, I decided on the compromise of seven different templates. From a very early point I was using templates for random characters anyway, so it seemed natural.

Here is a small taste of that in action. Depending on your spouse's personality, they will have different interests, reactions to your deeds, and requests of you.




What's next


I feel as though I've said this before, but finishing the family-based events. I think I have a workable framework to get these done a bit faster now, at least.

More next time!

November's Post

A little late perhaps, but the time for the monthly update post is here.

I'm actually at a bit of a loss as to what to write in this one. Lots of things have conspired to steal time from me lately. This happens now and again; other activities sometimes have to take priority over unreleased games. Annoyingly, the work I accomplished doesn't show well. I had considered just postponing, but in retrospect that's not wise for other reasons. Anyway, a quick list of things I've been working on, then a larger discussion of relation-system changes in anticipation of family events:


Changes
  • Two missing pieces from the Magnum Concilium (I know, I know): first nobles can ask for land, and second relations are actually affected when forging ahead with only partial support. The latter differs from doing things with no support. This was meant to be in earlier, but slipped my mind.
  • Bugfix: a number of events have weights that grow over time, for example the negotiations for wedding terms and advisor missions. The math on all of these had to be adjusted significantly, as there's now too much content to multiply the base weight. Seriously, in testing, it took like 25 months in order to get the negotiations to fire, and the woman had already married some other noble, every time. I could queue the event at a fixed time, but I reserve that for things that cannot use the event system, like the death of bishops.
  • Bugfix: The player character no longer checks his relationship with himself on the wedding night.
  • Autosaves: I think there's a data race. Tragically, like most race conditions, it is devilishly difficult to reproduce. I wrote a lot diagnostics to try to catch this. It's not done yet, but I think I'm closing in. On the other hand, the "circa 2010 hardware" I mention in the system requirements is in the process of dying, so that could be the source of the corruption. Either way, reproducibility is a major goal in DGR: from a given seed, the same sequence of inputs needs to result in the same set of outputs. This is fine on normal saves and usually autosaves, so finding out why it occasionally isn't on the latter needs to be solved.



Types of relationship


For most relationships, DGR uses a single number. If you've played certain other character-based strategy games, this may be familiar to you. Zero represents indifference. Lower values indicate disdain while higher values conversely indicate approval. This is a simple system and an unreasonably effective one. There are some things I do differently, but those things are the one set of features I'm playing close to the vest. More on that later, but hopefully not too much later.

Despite how well this works for most things, there are a few places where it doesn't work. I think the classic example is you could start a day with a near-maximum relationship value with your romantic partner, and at the end of the day discover clandestine infidelity. Your relationship would most likely change quite a lot, but it would never pass through indifference.

I believe the prevailing narrative design advice is to forgo the numeric relationship value and use flags instead, but that would get unwieldy with thousands of randomly generated characters when I mostly only care about the overall value. Other games, like that character-based strategy game, throw around a lot of +/- 100 adjustments for certain things, but that can result in your rivals still having positive relations with you. Instead of either of those, I am keeping (for characters for whom it is relevant) a number of different sorts of relationship scores concurrently.

It is possible to like someone but not love them; a friend who doesn't share your love is a common tragedy, after all. More confusingly, but very humanly, it is possible to love someone, but not be in love with them. It is true that in a world of arranged marriages these things don't quite carry the same meaning as they do to us moderns. They do mean something, though. The ideal situation for medieval nobles was that love might be found in marriage eventually, even if it begins with two strangers. This system is now more or less in, but content using it remains to be written.


What's next

Writing said content! And trying a bit more to get to the bottom of that data issue. One way or the other, expect a more visual update next time.

October report

Yet again, we've reached the first Saturday of the month, so it is time for an update.


The Magnum Concilium continued


In the previous update I mentioned a fair bit of hidden complexity in the Magnum Concilium. The good news is that this feature is almost entirely finished! More on what "almost entirely" means later. The bad news is that it consumed way more time than I was expecting



To review, the Magnum Concilium was a great council of lords convened now and again by English kings to discuss important matters within the realm. In the time of the Conqueror, it was not particularly formalized and was held at the king's will. In later centuries, this body evolved into Parliament. In our time period, it is far closer to the former than the latter.

Not only can laws be affected, as discussed last time, but so too can other things. When acting in unison with the lords of the realm, many things can be done cleanly that would otherwise be considered tyrannical. Perhaps you want to increase taxes or disseise an enemy? These are among the possibilities.



Of course there's no guarantee that your tenants-in-chief will agree to such things. If you share a common enemy, then naturally they will want to see them suffer. Likewise lords who feel they do not possess enough land will happily support you in a bid to conquer more land, as they're likely to gain some of the spoils.



Other methods of building consensus are available as well. You could always try to argue in favor of your proposal. Favors gained through various methods can be called in as well.



Perhaps most interesting though is that the other lords have certain ideas about what aught to be done at these councils. If you lend your support to their causes, they might well support you in turn, assuming they aren't among your enemies of course.




What's next


When I say that this feature is "almost entirely" finished, I mean that everything is done that presently can be done. From the beginning of this feature, some actions were planned that involve the player's heir. Holding a grand knighting ceremony when he comes of age for example, or compelling the lords to pledge loyalty to your intended heir as you enter your twilight years.

While NPCs have no problems marrying, reproducing, and all that, I removed the player character from that system when I wrote the courtship and marriage content. At present, the player character isn't exactly producing heirs. I want all of that to be handled via events, as these sorts of things are fairly momentous life events, after all.

That content is next on the agenda. More next time!

September in Review

It is, once again, the first Saturday of the month. It is time for another update.

The Magnum Concilium


The Magnum Concilium, that is the "great council," was an important instrument of governance in 12th century England. Now and again the king would summon all his tenants-in-chief, as well as the most important clergy in the realm, to discuss matters of great importance. In later centuries, this body morphed into Parliament, but in our time period, this is the object of our concern.

From a gameplay perspective, I didn't think it was fitting that legal changes were only forced on the king. In previous posts I wrote about dealing with the major and minor factions. Sometimes they wanted a decree in their favor, other times they were willing to let slip a previous legal change in service of a beloved king. The clergy, in command of the power of binding and loosing, could even remove a pesky law imposed by others! However all of this is reactive. Being able to proactively make decisions is much more fun, so the main purpose of the Magnum Concilium is to allow for such player-directed interactions with the legal system. There are other matters the council can address, like war-making and revoking titles, but the law was the primary motivation.

The feature is still under active development, as it has proved a bit more complex than I had intended. Working on this even managed to reveal some performance bottlenecks(!) in autosave code(!!), so suffice it to say, some things may change.

Attending this council is a right granted only to the great lords and the king's personal advisors in the household, chapel, and exchequer.



Gathering the great lords is an excellent way to get focused advice from many voices. This is often higher quality advice than you might receive from individual meetings or at feasts.



You can make a number of proposals. However, the other lords will have certain ideas in mind as well. You might need to work with others to get their support, supporting their goals to win support for your own. On the other hand if you're feeling a bit tyrannical, you can force through what you wish even without support; the other lords will remember it though.




Location-based random events




The interplay between global prosperity and banditry and local ruin and unrest is largely finished, requiring only some balancing. Some random events were indeed written to support that.

It seems the good prior's concerns regarding Buckinghamshire were warranted.


What's next


Finishing the Magnum Concilium. I definitely think it will be worth it when finished, but there's a lot of hidden complexity here.

More next time!