1. Book of Hours
  2. News

Book of Hours News

The Skeleton Light

This is a new blog post from AK, almost entirely about Cultist Simulator (whose SEVENTH BIRTHDAY it is tomorrow). But there's a lot that's directly relevant to the design of BOOK OF HOURS, so I thought you BoH players might find it interesting, too. -- LB

****

"It's not a loop - it's a spiral!"


That's Alan Wake, in Alan Wake 2. If you try to attribute the quote in the normal way, you get this:

"It's not a loop - it's a spiral!" - Alan Wake, Alan Wake 2

which looks ineluctably like a typo. Anyway, spirals. Tomorrow is the seventh anniversary of the release of Cultist Simulator. A couple of thoughts about how we got here from there, and how we got there from somewhere else.

When I started making Cultist, I'd never coded anything in Unity at all. hadn't done any actual coding since I built the Fallen London CMS (once nicknamed 'Jonathan' and later rechristened StoryNexus). Once that was up and running, I focused on writing interactive narrative inside that CMS. Which did have loops, ifs, variables, a lot like a programming language - but a very soft-cornered, simple, limited one.



It occurs to me that it might seem odd for a programmer to go from using a versatile and powerful programming language to using a soft-cornered, simple one. One reason is that I wanted, from the start, to build a system that let a team work on expanding a big organic narrative - hence 'storylets' - and I knew that most people who wrote for Fallen London wouldn't be programmers. But there are two other reasons I want to talk about.



The first is that I like the player to be able to build a mental model of what's going on inside the game. Game mechanics can be poetic, in the way a skeleton watch is poetic. If the framework is simple, or even elegant, you can make that poetry visible by making it visible through an interface that works like clear glass - or at least a translucency through which you can see the glow of differently coloured lights.

The second is that the constant shift back and forth, between the writer-designer's stance and the coder's stance, makes one's brain ache. Ambiguity, surprises, the unconventional - they're not things you seek out when you're coding. Meanwhile all the deadly enemies of reasonable, readable, maintainable code are the friends and familiars of vivid writing. Interactive narrative lives in the lightning-riven hinterland between those two stances. If you just surprise your players, you get frustrating dream-nonsense. I went to Chris Avellone (still, for my money, the single most accomplished writer-designer walking the earth) for advice on Travelling, and one of the things he told me was "Treat your dialogue options like an interface selection screen." When you're trying to build consistent, stable, and bug-free mechanics on the one hand, and trying to make 'every word do as much as possible' on the other... you can't do both things at once. It's like getting out of a bus and on to a bicycle, but behind your eyes. Hence the brain ache.

So you minimise the ache by sketching out the mechanics first. You put placeholder text like GIRL SAY NO EAT PIG that you replace in a writing pass later. 99.99% of the time you replace it, anyway. Using a stable searchable phrase to mean 'UNFINISHED!!' is a showsaver. I favour 'fnord', a habit I picked up in my salad days from a gentleman named Towlson.

But still the brain, she ache. Coffee help, but coffee no cure. In a microstudio you can't throw the final product over the wall and forget about it. You have to keep going back and forth between text and mechanics, talking to localisers, fixing bugs. And the real problem isn't the brain ache, it's the mistakes. If you're driving a bus and still thinking like a cyclist, it's easy to miss things.



That's why I described the CMS as 'soft-cornered' above. It limits the harm you can do and it allows you to make small, intuitively accessible changes, without changing the fundamental framework. When I started making Cultist, my first goal was to set up a framework that I could change when I was thinking like a writer-designer, without having to shapeshift into a coder and back again every time. (Expecially since, as I said above, I'd never coded in Unity! I needed help with the UI part of Cultist, and I didn't want to have to go back into the non-framework code and change things that at the time I only half-understood).

In Fallen London, storylets are unlocked when your character has (or lacks) qualities at a particular level. Choices in storylets can then increase (or reduce) some qualities. Which in turn unlock new storylets. Round and round we go, a spiral not a loop.

In Cultist Simulator - and later Book of Hours - recipes are storylets, aspects are qualities. There are two big differences: aspects are local, and choices are implicit. 'Aspects are local' - a Fallen London storylet can always see whether you've got Shadowy 50, but a CS/BH recipe will only know you have Forge 10 if you can fit it, via element cards, into the slots. 'Choices are implicit' - you never get a numbered list of choices  on a Cultist verb window. It'll show you the result you get from one particular combination of aspects, and you can (only) change the choices by changing the combination.



And these two differences are closely intertwined. Local aspects allow the player to experiment, implicit choices mean the results aren't visible before you find a solution. There are exceptions and refinements to everything I just said! but that's the principle of the thing. Neither approach is better than the other - they're different designs for different games (although I wish I'd hit on the elements-have-aspects relationship in Cultist back in the Fallen London days - it would have saved a lot of duplication).

On to Travelling at Night.

Our very early sketches had it using something like the aspects-and-recipes system (for reasons lost to time this is known as the 'Castle of Ghost Kittens' phase). But when we decided it was going to be, formally speaking, a CRPG, that fell away. The CRPG form expects dialogue trees. Dialogue trees mean explicit choices. Explicit choices meant we would need to take something more like the FL than the CS/BH approach.

I'll be honest, I wasn't thrilled about writing yet a third framework before I could get started on the content. Fortunately, as we've mentioned elsewhere, we could use a very well-regarded piece of middleware: PixelCrushers' Dialogue System.

The heart of PDS is this kind of thing, which will look comfortingly familiar to anyone who's used any of these kind of toolsets:



But where are the qualities and/or aspects in this?

Well out of the box, PDS gives you Lua scripting, an absolutely standard, versatile, powerful way to check and set variables, or add your own custom functions, like this:



Coder or not, you can probably get a general sense of what that code checks and does. But coder or not, you would probably struggle to remember the syntax and the variable names when typing it in a text box. And coder or not, you would have to be fairly sharp-eyed to notice that there are three typos in the 'Script' box, one of which would crash the game. Lua scripting is not soft-cornered. It's not the kind of thing you can slip casually back into halfway through a writing session, without risking mistakes.

This is not a flaw in PDS or in Lua. Power and versatility are edged and bladed weapons, and Lua is such an anything-goes environment that it's not straightforward to validate it. Fortunately, one of PDS' many virtues is that it's really customisable. I spent the last couple of weeks getting friendly with Unity's GUI system, bolting my own tooling on to the side, and can now do this inside PDS:



and this:



...which makes writing sessions considerably less of a white-knuckle experience.

It was nice going back to 'Qualities'. Aspects in Cultist Simulator were nearly called 'Qualities'. It's a usefully versatile word. I went with 'Aspects' partly because of the occult context, but partly out of an irrational desire for reinvention which I've now grown out of. I'll talk another time about how Qualities in Travelling are different beasts than the ones in Fallen London - more vertebrate, you might say. A spiral, not a loop, like the man said when OOPS NEARLY A GIANT ALAN WAKE 2 SPOILER.

I have just now noticed that I made it 'cashRepublic' not 'cashState', which is serendipitous because I didn't have a good end for this blog post. As it is, I can now show you this snippet:



and this godawful vexillological delinquency. Pétain adopted it as his personal insignia in the Vichy years, and in our divergent history, where the wars are won but France remained divided, it flies yet over Antibes.

Japanese beta now available

"Language is the key. It was language that opened the doors of the Mansus; without language, we could have had no peace; without language, we would still be beasts, worms, mud."


We’ve missed you, Hush House! Today we’re launching a Japanese beta for BOOK OF HOURS. From today’s update, anyone whose OS is set to use Japanese will automatically see BOOK OF HOURS in Japanese on load. You can revert to the original English at any time by using the ‘Language’ button on the main menu, and of course anyone who’s feeling really spicy can select Japanese (or any other language) from that same screen.



Only the base game is translated right now (BOOK OF HOURS has a huge word count, and our translators are currently working on HOUSE OF LIGHT). But we’ll be updating the beta with new translations as soon as they’re completed, until all 200,000+ words are ready.

If you speak fluent Japanese, we’d love you to play the game and let us know your thoughts. It will really help polish the localisation! So if you come across any bugs or typos, or if you have any other feedback on the translation, please also send them to [email protected].

We expect to release full Japanese later on this year, after gathering feedback with this beta. You can’t get a better localisation than one played and approved by people who really get the game and lore! And remember this…?

“BOOKS ARE THE MEMORY WHICH DOES NOT DIE.”

(inscribed in five languages over the gate of Hush House)


Different languages are key to an occult library, and including Japanese, we’re now up to four languages for BOOK OF HOURS. Maybe we’ll end up doing one more…

***

ON ANOTHER BUT RELATED NOTE

In case you missed the patch notes earlier this week, it's also now possible to create community localisations for BOOK OF HOURS. Read how to get started here.

2025.4.c.3

Japanese language beta!

2025.b.2 : LOCMODDING

It's now possible to create community localisations for BOOK OF HOURS!

Details here:

https://weatherfactory.biz/book-of-hours-locmod-creation-reference/

A letter from the Witch of Lagash

First things first: Cultist Simulator is 50-70% off as part of the Lovecraftian Days sale, so if you haven't played BOOK OF HOURS' elder brother, now's a great time to try it. (Cultist Simulator is a crueller game, but if you like BoH, you will probably enjoy CS too.) For those who are already counted among the Know, we are also running a 20%-off-almost-everything in the merch shop, so fill yer boots.

Now, some LORE. Be warned: minor spoilers for Travelling at Night, and inconsequentially minor spoilers for BOOK OF HOURS. Don't read on if that concerns you! We are also now switching from Lottie writing (hello!) to Alexis, so good luck.

***

Three years ago, I sat down to write an in-game letter for each Wisdom. The one below was for Hushery. We were going to release it as part of the Book of Hours marketing run-up, but it was a particularly opaque effort. Less opaque if you’re steeped in Secret Histories lore and know that Winter-long are immortal only until their specific date of expiry. Or that Winter-long who ascend under the Sun-in-Rags are sometimes dismissive of those who win their immortality from the Elegiast. Or that the actress and painter Nina Lagasse was sometimes identified with Nyn, the Witch of Lagash. Or why Julian Coseley didn’t get on with Solomon Husher. A number of these things became clear in Book of Hours, which I recommend you play, if you hain’t already.

But obviously the letter proposes a couple of new opacities, in particular how Nina Lagasse is still kicking around fifty years after her holy, irrevocable, Hour-enforced time of dissolution:



I spose maybe we should just keep reposting this image with every blog:



I hoped we were going to get to go to Ortucchio in Travelling at Night, but we probably don’t have budget for DLC. We’re not going to Paris, because Nina has excellent reasons to refuse ever to return there. But our itinerary does include some time in the mountains.

Anyway here’s the letter.

Kerisham
July 1894

Julian, dear:

February the 9th, 1895. There, I have said it. I had long been certain it would be February – long, in fact, before anyone had thought of naming that angle of the year as ‘February’. But the detail of the year came late. I had hoped for another hundred. The news came from our Patron when I saw you in Paris last. You did remark that I seemed out of sorts at dinner after the recital. Yes, that was because of the news of the year. I think you had guessed as much.

But I think you had not guessed that the news came during the recital. I am sorry, Julian, I have always found Satie pointlessly languid, but I had no wish to upset you; and by my age one has learnt how to nap with one’s eyes open. So I dozed through the tinkle tinkle plonkle and I found myself in the Mansus, much quicker than I might have expected. I felt our Patron’s chill, and I began at once to fear the worst.

It didn’t come in person, of course – I didn’t even see its light – but its emissary was a full Name, a gratifying condescension indeed, and she left no doubt in my mind. The choice of February is an honour, if not a surprise. The choice of the year, well, I would have liked to know sooner. I hope you will excuse my irreverence if I wonder whether our Patron had forgotten the matter, or had at least not made up his mind. He is, as they say, not as he was.

‘I hope you will excuse my irreverence.’ Of course you will. Most raggies would have cast my letter into the fire when they saw me share my date – they would have found it in very poor taste – or even suspected some intrigue. But you have always been irreverent, dear Julian, and as my end grows nearer, I find that my own reverence wanes. Do not surrender yourself to excitement. I have no interest in your great project of cosmic abolition or celestial overthrow or whatever it is you are calling it now. But it is a relief to cast off the pieties.

I am going back East for the end. I don’t want to spend my final days alone. Dagmar wanted to accompany me, but I know she will get emotional and I’m afraid she will do something foolish. There is a young woman of good family – I will call her Gertrude because that is her name, but I shan’t tell you her surname because I don’t want her getting mixed up in your nasty schemes. Gertrude has recent knowledge of the region, as well as an unslakable enthusiasm for alpinism. I will find both very useful. She is quite well-connected and determined enough to want to travel alone, and I think a little suspicious of me, but I have won her with secrets.

Before I go, I will entrust a will to my lawyer here. You will find it aggravating when I tell you that I am going to name you in my will. You will find it more aggravating when I tell you why. I am doing it to win our argument. We have talked before about Solomon Husher, and his aesthetic ideals. You expressed a poor opinion of those ideals – very forcefully. The palest painting – you said – was an ambition for ghouls and not for raggies. You suggested Solomon was no true raggie. Very forcefully, Julian. I found it difficult to get a word in. And in any case I have always found it hard to explain in words what I find in Solomon’s work.

So instead I am going to paint it. And I am going to leave you the paintings. And although you have little time for his approach, you are going to examine them carefully, and you are going to see my point. You are going to do that firstly because I am your friend and I will be dead and you will feel so obliged. And secondly because I am going to put in them all that I have left of my secrets. Now I will tell you what I mean.

The first painting will be called ‘Abydos Uncrowned’. The second, ‘Nix Abolix’. The third, ‘Sunset Celia and the Unleashed Flame’. Do I perhaps now have your attention?

I will paint the first at Ortucchio. I have long wanted to stop in, and now I learn – did you already know? – I learn that Duffoure has a little girl. ‘The Line of Antaios’ – you wrote in your silly Letters – ‘the Line of Antaios ends not with the Wheel’. There are two things you might have meant there, I suppose, but indeed the Line still runs, and she its newest course. Perhaps I will bless her, like a wicked fairy. Back to Abydos. I’ll climb one mountain or another with Gertrude, and conceive the ruins of Abydos at its summit.

Husher wrote of the continuity of endings. You scoffed. So I will paint what happened at Abydos after the eight years of Chione’s silence – after the Shouts. Perhaps I will even paint what was woven from Chione’s hair.

The second I will paint in the hills outside Heraklion where the hawthorn blooms. Gertrude will not want to go to Crete, but I will promise her a hidden mountain in the Zagros and I think she will humour me. If I bring the proper offerings, the Horned-Axe might grant me audience in the Mansus. I doubt it. But if the subject matter opens any doors that I cannot close, the Axe will be on hand to close them. She will not be pleased with me, but at this late stage there is little she can do. And if I am going to paint the Cross’ fate, it is fitting for me to do so beneath her gaze. If they were not her children, they were certainly her servants. I’ll paint all the detail I can, Julian: how the Cross passed into Nowhere, and how they did not, and how they met with Worms, and how you may discern them now. Husher argued for the journey of colours. You disagreed. Perhaps I can still change your mind.

The third I will paint in the Shadowless Labyrinth. I don’t like the place, but it will be difficult to get the light right anywhere else. Gertrude will be the model for my Celia, if I can convince her. I will find a likely lad to stand in for the Sovereign of the Flame. I will paint the Sun as Celia’s shadow, and the Forge as the likely lad’s. I will paint myself as Winter, pining in the shadows or officiating at their union: Husher’s own paradox.

You fancy yourself an authority on the Sun’s Division, and I happen to agree with you. But I was there in every History when it occurred, and you were not. If you think you have nothing more to learn of the Division, then you need not look at my last painting.

In fact I will ensure all three are delivered to you veiled safely in black. If you’re afraid you might lose an argument with me, even after I am gone Nowhere, then you can leave them that way. Or you can be rid of them. The last three paintings of the Witch of Lagash – I can’t guess the price those might fetch at an Oriflamme’s auction. Although of course, no buyer is likely to understand the work as you might. Sell them, and my last secrets – which might have uplifted your anarchies – will go with me Nowhere.

Or not; there is one last vulgar alternative to Nowhere that I will investigate on my way East. But I suspect that bird has flown.

May the Patron’s ragged rays rest kindly on you, Julian. In all sincerity, when you have decided at last what it is that you want, I hope that you find it.

Nin