The Silver Masque - Excerpt: "Traitor, they said" (January, 1919)

No snow fell on the streets of Berlin that clear winter's night. Wilmersdorf, a district built to that distinctly Parisian style of the early empire; here they made that final stand. Two companies of Freicorps rifle guardsmen advanced on the hotel my father's volunteer unit held, out-manned ten-to-one. Fact. Tactile, comforting to recite. Two maxims stationed in the lobby, each manned by four Spartakusbund riflemen. Cold comfort. Fifteen Freicorps casualties recorded, with six fatalities. Colder still. Here the facts end, save one; twenty-seven insurgent casualties, all fatalities. Yet, the truth will out.

Weiss readies her rifle — sights aligned steady, aimed into the darkness of the boulevard. After the power failed, they had set up a half-dozen carbide lanterns in the lobby. Cruel shadows these cast, dancing out over the machine-gun emplacements into the night. "Tell me how they cut the lights, again?" she asks. 

"Hit the breaker on the district transformer." He — my father — prone beside her, replies quietly.

She shakes her head. "Feels like Berlin herself is against us." she says, gripping her weapon tighter — the old lacquered wood comforting in its familiarity.

False silence in the thunder of storms distant and discorporate. He thinks of me, one last time.


"Tin man, tin man!" I shout under the roar of a departing train. Those ever inquisitive eyes of mine — the eyes of a girl of six — had caught a glimpse of a disfigured veteran, his lacerated face held together with tin and suture. I point and shout, "Tin man, tin man!" The soldier turns for a moment, and looks to me with ... sadness, understanding, contempt? I could not know, for these emotions will never again cross his face — his expression forever locked in that frigid stare of the reconstructive mask.

"The war took his face, my dear," father replies softly, "but you needn't worry your pretty little head, his heart is as real as yours or mine."

I frown. "Did it take hearts too, daddy?"

A pause, then with a soft sigh he replies. "Yes. I watched the war take the heart of many men, but..." I watch his guard drop as he says this, the sadness he kept so well hidden from me leaking through one final time. He never finished that sentence of his, but in a strange way I know him better now than I ever did as a child...

"-but sorrier still are the men who tore out their own to survive, to go without a heart in a heartless world."

I was left with more questions, I open my mouth to let them out but he quickly shushes me, and kneeling down to look me in the eye — he says his last goodbye.


"Spielmann's not coming back is he?" asks Weiss. "Must be near an hour now that he went to check our stores." She sighs, glancing below at the stoic faces of the men of the Spartakusbund. "Fuck, man — I can hardly blame the coward. He has a family, right? Two daughters and that son he won't shut up about..." She's thinking out loud, in fear and guilt. " poor Elena, an orphan. She's never going to forgive me for this, is she?" Almost recoiling in fear, she uses every ounce of resolve to keep her hands on her rifle. Yet she had steel in her heart, a resolve even the utter brutality of the Freicorps could not break — she would not yield.

My father listens in silence, and seeing her fear turn to conviction he smiles. "I've spent enough time with that child to know forgiveness isn't her virtue," he replies calmly, "but I don't for a moment think it'll be you whom she blames."

"I do this for her," she replies, eyes downcast. "Someday she will understand."

"I was never a convicted man," he tells Weiss. "My ideals are hard fought; every step forward — each tore a scar. In the Namib, I fled in drink from the horrors I had committed. As I had from the academy to the field, I drifted from the infantry into the world of espionage. When my loyalties were tested in Alsace, I didn't even have the backbone to turn. Then the war had the grace to cripple me; and here I am. I'm done running, leave that to the men who can."

"And your daughter?" asks Weiss, before pausing to reflect. She shakes her head, "Ester's too young. Only time will tell whether she will see in our sacrifice the future we tried to build for her — or the future that died with us."

It's too painful to reply, even for him. And with that, Spielmann returns with two strips of 8mm. Without a word, he rushes down to hand out the ammunition. Out of cover for a split second, he stands to return up the stairs. A short crack in the distance, and the back of his skull explodes in a cloud of blood and bone. A beat. A fraction of a moment, then with the sickeningly low thud of oxygen consumed by flame, twin streams of fire envelop the foremost machine-gunners.

Hand in hand, Lydia Weiss and Ernst Eisner make their last stand.

Procedural Surface Toolkit - Static Geometry Primer

Each parameter group is organised around a specific surface layer, or blending weight method, with the exception of the Core group, which controls global settings. Please note: when you can, boolean options should be set to the disabled setting as this can save a ton of instructions, greatly improving performance.


'Enable Tertiary Material'. When enabled, this setting will allow use of a third surface layer. This is significantly costly, but when used well can provide another level of detail. The Tertiary layer differs in one key regard from the other two, as it can be locked to the upvector, meaning the layer will cluster around surfaces facing the sky. Useful for snow or water, and takes into account the normals of the previous two layers to take into account extruded features such as brick walls or jagged rock.

'Final Desaturation' and 'Final Diffuse Scale' simply control the final base color saturation and brightness respectively.

'Use Specular', when enabled allows each layer to have its own separate specular term. This is quite expensive when used with Deferred Lighting as the shader needs to be rerun in full for each value. When off, this setting defaults to a neutral 0.5 rather than 0.0, as this is more physically correct. 'Use Metallic' is similar, disable when no layers need be metallic.


These settings control the 'Context' in which the surface layers will be blended, such as contribution of Ambient Occlusion and Edge Wear. '[Layer] Occlusion Degree' controls how much this layer will be affected by the occlusion environment, and '[Layer] Occlusion Power' controls the curve of the occlusion contribution, lowering this will increase the overall surface area affected and vice-versa. '[Layer] Edge Context Degree' determines how UV edges will affect the context, if this setting has been enabled in Core. Note: all degrees can be set to negative values to invert contribution. However, you can also just invert the particular context channel in Core.


This section covers each of the three layers, Primary, Secondary and Tertiary as the settings are all identical (unless specifically stated otherwise). Note: layers are not calculated in parallel, they each act as a physical surface layered above eachother. Feel free to create layers that are specifically designed to take advantage of this, for example a water Tertiary layer that emulates opacity by having a low final blending alpha.

'[Layer] Diffuse Base' is the first value at which the base color channel is calculated. Usually this is set to 0.0, but you can dampen the contribution of your inputted texture by having this set to higher values. '[Layer] Diffuse Intensity' is how much your diffuse texture will contribute to the base color. If your surface layer does not require a textured base color, you can disable these settings with '[Layer] Use Uniform Diffuse' which will then allow you to specify a uniform color to be applied. '[Layer] Map Tiling' controls the tiling of the calculated UVs used to sample this layers' texture maps.

You can define layer normal intensity with '[Layer] Normal Flatness'. A value of 0.0 will use the normal map unmodified, a value of 1.0 will completely flatten the normal and a value of 2.0 will invert the normal contribution. '[Layer] Roughness Base/Intensity' etc work in the same way as the 'Diffuse Base' value, only sampling the diffuse map's R channel as an emulated roughness value.

'[Layer] Use Height from Diffuse Alpha' allows you to save memory and performance if you take the time to package your height value as the Diffuse Map alpha channel. '[Layer] Use UVs' will use your model's own UVs to sample these textures, rather than calculating them on the fly.

These following two sections controls how this layer is blended with the layer below, and thus do not apply to the Primary layer. 

[Layer] Scratch and Grime

Scratch and Grime are two separately sampled values stored in each channel of a 'variationscratchgrime' mask, with the former occupying the Green channel and the latter the Blue. Two sets of UVs will be calculated for both Scratch and Grime separately in order to provide maximum chaos, so be sure to take advantage of this by setting both 'Tiling' values to very different scales. 4x works well, for example if you have a 'Scratch Tiling' value circa ~125 then a 'Grime Tiling' value of about ~500 will work well. How the two intensities play off each other is not an exact science, so be sure to play with these until you find something that works well for your surface.

[Layer] Alpha

These are the values that control the final blending for this layer. '[Layer] Alpha Power' controls the transition between layers, a value higher than 1.0 will be more immediate while a lower one will be smoother. '[Layer] Height Dependency' sets how dependent this layer is on the Height value of the layers below. This can be effective in creating materials that cluster or avoid the cracks and crevices of the layers below. And the final setting, '[Layer] Final Scale' defines the exact scaling of the final alpha value used to blend this layer with the previous ones and should usually be set to 1.0 as lower values will prevent the layer from fully expressing itself.

The Silver Masque - 2nd Timeline Fragment (The La Rouille Incident)

What little I can find on this matter point to two primary sources, 'Children of Rust' by Eugénie Faure and 'To Burn in Memory' by Eva Salandré—both long out of print. The first was published in French by a small, now defunct printing house in Paris, but as to the second I can find no mention.

Here are the fundamentals I've been able to assemble from scattered secondary references, starting where the events took place; a town on the western bank of the Rhine, near Strasbourg. Strangely, no record mentions a name. Quite the child of the Industrial Revolution the city itself was built in the 1850s, largely as a Haussmann inspired project fueled by local nobility moving into commercial enterprise. 

Naturally this prosperity came to an abrupt end thanks to the Franco-Prussian War, the annexation of Alsace-Lorraine leaving the city to the now destitute working class. By the 1900s the place was ostensibly the spitting image of Ligeia's "Decaying city on the Rhine" as I'm sure Salandré would be apt to remind me in that overwrought prose of hers.

The incident in question is centered on a revanchist movement of disenfranchised youth. Lead by radical students from a nearby university town, they took to calling themselves the 'Les Enfants de la Rouille'—the Children of Rust. Occupation was their weapon of choice, and they had no shortage of viable real-estate. In addition to this they took to a early dadaist form of art-as-agitation.

The records end around May 1908, during which they seemed to have crossed some line of acceptability, bringing the Prussian military down on them in force. The leaders were summarily executed, with the exception of Faure—who crossed the border and later made a name for herself in the Paris art scene. The international community paid little mind; par for the course as few thoughts are spared for the massacre of working class lives. A small diplomatic incident it made, and soon all small concerns would be swept away by the tides of war.

-Weiss, Alena (1939). Letters from Exile.

The Silver Masque - 3rd Fragment (The Red Hunt)

Elena would spend the summer with us, using what little her mother had managed to save to cross the border by train. Outwardly my aunts tolerated her with a bourgeois reluctance, though she was in her way charming; and to take an street urchin into your care is a charity few could judge harshly. In Berlin she had lived street to street, outside the factory gates and along the railroad tracks. Here, ever the game was to mold her into that perfect young lady of the Austrian petite bourgeois.

On Sundays the aunts rose early to catch the sermon in town, and we would have the day to what we would call — with whispered words and furtive glances — our little hunt. At first a hunt in name only — chasing rabbits through the underbrush — as we reached our teens Elena began to arm herself. The blood would draw wolves, and we would arrive home with cuts and bruises from our scramble to escape them.

I remember breathing the alpine air to wolves howling from across the lake, the sound of her ragged breath, the lazy wind on the water as we ran along the shore. And, our laughter.


1918. Boarding the train with that little skip of step in that warm summer air — I never thought that this would be the last I would see of my homeland. Or, of my father. Yet, part of him knew. I see it in his eyes, now.

Parents taken before their time by the march of history; Elena and I would share in our loss. Our hunts grew longer. From the high ridges along the southern border we would watch the lights of Italy glisten in the night air. Here, some few hours walk from the village we had found an old border post. Long since overtaken by nature, we made it a task to turn this stead into a semblance of shelter.

Over the long months it would come to be stocked with the trophies our hunts would gather; the skull of a deer we found in the underbrush, a bronze necklace found caught in a crevice, a hefty shovel (useful). Yet, we left to their rest the many darker treasures of the mountainside.


It was cold that last night we were to spend in our little sanctuary, though the night was clear. We saw torches in the distance, heading up from the Italian side — and heard the cries of hounds and men. A true hunt. Yet, for what? Or whom?

Cautious, we kept a watch. It was only moments before we spied their prey. There was fear in his eyes as he rushed for our humble shelter, a young man of about twenty dressed all in black. Without hesitation and without words, I led him through the small opening in the undergrowth, hidden below the rot-laden floor. Through this Elena was still, expressionless.

The host grew nearer, and we began to hear their song. Men and women alike, there was faint dirge-like quality their voices. They knew the tune well, yet I felt it was not for pleasure alone they sang, but to steel themselves for what they must do.

I turned to Elena, to see something had changed in her; pale as I'd ever seen her — yet she did not seem afraid. She rose as the hunters approached, and as she rose she pointed — aim clear to all in the torchlight — towards the cowering boy. Their song ceased.

In time I would come to understand why those villagers had taken the boy, but with understanding came not sympathy, instead that numbness born of the same cold acceptance I had seen in each cold face. Each, the face of a hangman steeled in resolve to kill that pitiable young Fascist.

The Silver Masque - Timeline Sample I

Outbreak of World War I

-July 1914

The Great War leaves one burning question in the mind of us survivors. "Why?"

Ask this of a thousand men, and a thousand different answers you will receive. Better a question to be pondered in the cathedral rather than the academy. Yet, "How?"

Now this is a question which I can try my hand at answering. To kill a man in war is not a task for the individual, for every casualty there is a massive chain of men and metal that drives bullet and blade into the tender flesh of the enemy. This chain has always existed inseparable from war, only now it's fully automatic, water cooled and plated with two inches of Krupp steel. Don't blame Pandora, blame the sick fools who devised her gift. So we must ask, "What now?"

To these men of our new Italy, the answer is clear: Revolution.

 -Chiavoni, Luca (1920). The Chain.

After the assassination of an Austrian noble by a Serbian nationalist, the resulting diplomatic meltdown between the great powers of Europe ruptures hair-trigger tensions and deep seated enmities into a four year conflict that takes 17 million lives. An unforgiving crucible for those who experienced it, the Great War caused an entire generation to question everything they thought they knew; and like the war that birthed them, these questions would linger in the politics and culture of the century to come.

Ruhr Unrest

-January 1919

I was only a child of ten, but with my view from underfoot I saw it all with a ragamuffins quick wit. For half a decade they had worked day and night in those factories, to feed a war that had taken their brothers and sons—and now revolution had broken out in the capital, a revolution that promised to them a new order without war and servitude. They took up the arms they had built and marched on the factories they claimed as their right. They met little resistance, and set about fortifying and stockpiling to secure their claim. 

They were always kind to me, and whenever I came scampering by set aside a portion of bread and cheese from what little they had. Each day of their occupation those vast metal skeletons of the factories would echo with music as they assembled the barricades. But the Freicorps cared not for their generosity and spirit, and there would be no music heard as their replacements scrubbed the blood from the walls.

 -Weiss, Alena (1939). Letters from Exile.

The war took its toll on the working class of all involved nations, and after the cessation of hostilities in November 1918 many took to the streets in outrage against the states and systems that they saw as the cause of such misery. Inspired by the February and October Revolutions in Russia, the industrial heartland of Germany—the Ruhr—rose in revolt.

To Burn in Memory - What I learnt.

It's been about six months, so here we go!


It's okay to write short punctual sentences. But make them flow. Like this. It's equally okay to write long, verbose rambling sentences that read like a missive written from dusk to dawn, only a candle for company over the rolling expanse of a night stained of ink. Like that. Attempting to make every sentence read like this is a sure way to fatigue the reader, as well as keeping the ones that work from standing out as they should. In short, don't try to show off, it only alienates the audience when you inevitably slip up, in however small a way.


There was a lot less confusion about this after I made it explicit in the description for the Steam release. I also took to heart the advice I got multiple times that felt simply referencing the setting and how you intend to approach it can allow the reader to visualize your world better than lengthy descriptions.


All feedback on them was positive, and people felt they could differentiate between their signature writing styles. This is great, as I never had any explicit mental rule-books for making their styles distinct, I just hoped it would show naturally. Going to definitely capitalize on this in future, and go further with character driven narratives.


Almost everyone found this difficult. Still not sure of an easy solution to this, but some sort of map is a must in future.


Those who the historical references clicked for, it really clicked for. However, with others the hints would just go right over their head. I'm thinking that an introduction in the forward would work here, doubly so in an interactive medium where it's very easy to both make them optional, as well as giving readers a way to dig deeper if they feel like it. An interactive timeline might be fun as well.


You can find more about it here, but I don't really have much more to say on this other than that it was totally worth it to roll my own.

That's all for now unless anyone has any further questions!

Inquisitor - Engine

Inquisitor is an Interactive Fiction engine built for use in both a browser-based and standalone form, built around putting spaces at the core of a hypertext work. A combination of Twine and Aliceffekt's Paradise if you will, designed to expand on the strengths of both as well as provide a pleasant reading experience.


Locations are defined by their name, and their place in the structure of the world is informed by this. For example the code:

~Rome - Viminal Hill - Piazza della Repubblica 
Flanked by grand 19th-century neoclassical colonnades, this landmark piazza was laid out as part of Rome’s post-unification makeover. It follows the lines of the semicircular exedra (benched portico) of Diocletian’s baths complex and was originally known as Piazza Esedra. (Lonely Planet)

Has created an entire city for you to populate, with districts that join together at the first location that defined them. Adding the additional code:

~Rome - Capitoline Hill - Piazza del Campidoglio 
This hilltop piazza, designed by Michelangelo in 1538, is one of Rome's most beautiful squares. You can reach it from the Roman Forum, but the most dramatic approach is via the graceful Cordonata staircase up from Piazza d'Ara Coeli. (Lonely Planet)

Has created another district with its own hub, that (by default) will automatically link to the Piazza della Repubblica as an adjacent hub location. If you're working with more specific links between locations, it's possible to disable automatic links between adjacent locations and hand define each link. Links use this format:

{Piazza della Repubblica: Take the bus to the Piazza della Repubblica}

Links are always two way, but it is possible to add conditions on entry.

{Piazza della Repubblica: Take the bus to the Piazza della Repubblica?HasBusTicket}

Will now prevent use of that link without the token 'HasBusTicket'. To give tokens it's as simple as adding +HasBusTicket to any action. Actions can be links, or they can be part of the description. Like thus:

|There is a bus ticket stuck on a bench. Take?:-You have taken the bus ticket.+HasBusTicket|

You can write this scripting in any text editor you like, just save the result as a plaintext .inq and change the first line of jquery.main.js to point to it. "var worldLocation = 'yourproject.inq';". This will be improved in future!


Inquisitor will automatically process and display background images for a location and all its children if you add '>yourimage.jpg' on a new line after your location definition.


Everything a player does is automatically saved to disk on move including location, settings and all the tokens they have acquired. This can be reset at any time by holding C.


Download: Unavailable just yet!

The Silver Masque - 2nd Fragment

I am an exile, 
        and I am blind. 

I am never to know my face,
        but I shall in time know these masks I shape. 

I am an exile, 
        and these masks will not make me whole. 

I am blind, 
        but these masks will not grant me sight.


I shall know them,
        with nurture they will grow;
                through them
I shall make my mark on this world of visage forsaken.

This farce will soon be over, 
    but the masque has only just begun.

The Silver Masque - 1st Fragment

SS-Sturmmann Erich Haase confidential transcript, 12 November 1943. 7:20 PM, Rome - Turin Line, Dining Car.

Esser recognizes the half-caste heiress Valeria Sindoni seating herself two tables up and approaches. I can hear their conversation quite well over the noise of the train.

ESSER (In Italian.)
(Offering his hand.)
Quite an unexpected pleasure to see you at this hour, Valeria.

(Rejecting his offer.)
Am I obliged to let you speak? You've known me long enough to realize that this charade of pleasantries is insulting, and I've known you long enough to see full well what you plan to do in Turin.

(With a small smile.)
Then we can speak frankly, like we used to.
(Serious again in remembrance.)
Everything is already in motion, Speer and the economic ministry... what they demand, they get.

And they demand my factories be stripped down and shipped off to the Ruhr? Rebuilt under British bomb sights, to produce panzers that will barely last a week on the Eastern Front? That is criminal, against every legislature of international law there is.

Not if Mussolini signs off on it; and he willthe time when he had any bargaining power is long past.

After everything I did for him, the bastard-

-has a gun to his head. Look, I...

Esser glances over at me. I pretend to be engrossed in a German football magazine.

(Sitting down, without objection from Sindoni. Almost whispering now, but I've been trained to comprehend quieter speech.)
I think you should begin making plans for the future. You are seen as a collaborator. I cannot stop this plunder, but I promise you that after all this is over I will do all I can to see you painted a victim, not an oppressor.

(With the slightest of smiles.)
I'm too far gone for hope of that salvation. When the partisans come for me, I shall look them in the eye and let them judge me as they will, sentence me as they will and execute me as they will. But I will not repent. Everything I did, I did for Italy.

Ever the follower of the party line, Valeria. But we both know with whom your true loyalty lies—she's looking right at me with those beautiful dark-brown eyes of hers. She is you, yet not you, she's that mask you wear to fight for what's yours.

A mask you have never worn a day in your life, yet you are the victor here. You've taken everything I have without lifting a finger. Max—you know the things I've done to win my inheritance, the lies I've told and the men I've armed... then you know the new order the partisans promise will never embrace me. That night in '20 sealed my fate in their eyes.

(With a sigh)
I can never be the judge of that. But for what it's worth, I will never condemn you, you did what I never could—with quiet honor. You were injust, but from this a new kind of justice was born. One day they will understand and respect what you have made for yourself.

And may God give me strength to see that day.

Fragment IV - A Machine that Fed on Blood (Marcel III)

"They call us filth," Édith shouts, "but they're the ones with blood on their hands! What stains the dear fingers of us working girls is a liquid of another kind, eh?"

Laughter and drunken cheering — then unexpectedly, she turns to me, "What says the old soldier, eh Marcel? Whose blood you spill?"

I give her a puzzled look. 

"A joke," she makes a face, "—herr Marcel; I shan't say you look a day older than me."
"No, that you'd call me a soldier." I say. "I haven't fought in a war, save for the struggle of downing a mug of what passes for beer here. For this they should give me a medal." I say with a grin.

She's not convinced.

"I see many soldiers in my line of work — up quite close and personal I should add — and you hold yourself as they do," she replies, peering over at me, "got that look in your eyes also."

She was right about everything. I had fought, I did indeed have blood on my hands — and if things were to continue as I had set them to, my hands would remain so stained.

While I was stationed with the colonial forces near the Namib, a visiting British officer had told me that the whole project of colonialism functioned on the same mechanism to a weapon they had, called the Maxim Gun. A beastly thing that could tear a man in half, it cemented their rule in terror — and fired with a unique mechanism: each shot would power the action of the next, an eternal cycle of violence. A machine that fed on blood, where the greatest effort on the part of the operator was to release the trigger. 

At the time I considered him an old fool, but here I am — finger on the trigger, hesitant to fire.

-Marcel III : August 2nd, 1907

Fragment III - A Traitor's Farce (Marcel II)

"The boulevards are a shadow of their former self, now. Their champions — those men we named captains of industry — have long since fled for new conquests, new cities to brand their engorged likeness upon. In our optimism, we sold our bodies to make a new world for them of iron and grand stone, our pride such that we saw the Léthé as a monument to our own success, not theirs. Then the Prussians broke us, and we saw the rich could leave as easily as they had come, take as easily as they could give. And the Léthé gave us nothing; as is the wont of stone and iron.", I write.

I put down my notebook to adjust my gloves, warm them against my coat. A glance at the winter sky to check for rain, then I continue my missive:

"For all its imagery of iron, industry is such a fragile thing; and its captains are made of lesser material still. But they have not fallen, they have simply taken their farce elsewhere, a new stage set for those same faces to perform their same droll soliloquies to capital."

Do I really believe what I write, or does the role I play guide my hand to end this last act in violence? Every stage has its place for one to play the traitor, but in our profession it takes a true talent to fool that harshest of spectators: ourselves. Our performance is a lie told in greatest sincerity, and those of us traitors who thrive in this vicious time have such unyielding faith in our own self-interest to put to shame the truest of believers.

"The Léthé has found a new life, a quieter life. Maybe it's better that way."
No. I strike that line out in anger; I need to make these words burn.