1. Arbitology: Dei Gratia Rex
  2. News

Arbitology: Dei Gratia Rex News

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!

August Update

Once again we have reached the first Saturday of the month, so it is time for another update.

More Faction-based Events


The previous work on faction-based random events focused on the main concerns of the kingdom: nobility, clergy, and peasantry, as well as the nascent class of burgesses. These are important enough to be shown at all times, but there are other concerns in the kingdom as well.

Bandits are one such concern. There are numerous ways for bandits to infest the kingdom: dismissing mercenaries, poverty and ruin, angry peasants, and even some event outcomes. On the whole, having bandits around is unpleasant.

That's not to say it is all bad, though. If the problem festers, you might be able to ask for certain favors that are not available elsewhere.



Another of these concerns is the Jewish community. In our timeline, William I resettled many Jews from France to England, primarily to serve as moneylenders. Before this time, the economy in England was only semi-cash: some obligations were still paid in kind and William much preferred coin. In exchange for this, he placed the Jewish community directly under him without any intermediary. Should anyone do harm to a Jew, it directly concerned the Crown. On the other hand, English kings had a free hand to extract extortionate taxes from Jews.

Despite these protections, Jews frequently were the target of suspicions, accusations, and even violence. Shamefully, 12th century England was the birthplace of the blood libel in the case of William of Norwich. However, it was also a place where Aaron of Lincoln prospered to become the richest man in England, holding even more liquid wealth than the king. Moreover it was a place that could attract prominent Jewish scholars like Abraham ibn Ezra.

In short, it was a complicated time. It would be very safe and easy to ignore all of these things. However taking that path would not be compatible with "hard historical fiction." I've endeavored to present as much nuance as I'm able, while neither whitewashing the less savory bits nor indulging in gratuitous barbarity.



The treasury is also one of these concerns, if an abstract one as it is not really a faction. It is important enough to be shown at all times, but unlike the others it can't directly force you into a game over. Running it too low can, however, accelerate one of the other failure states. On the other hand, having an abundant treasury can open new possibilities, albeit very expensive ones.




What's next


I'm presently working on the interplay between the county-local values of unrest and ruin, and the global values of prosperity and banditry. This is mostly code, but there will probably be a tiny number of events to support this as well. Next I plan to work on tying up all the loose ends, mostly with making sure all the legal stuff affects what it should.

More next time!