Sunday, July 30, 2017

What I Write When I Write About Writing

Part five in a weekly(🙉) devlog.

Standard development disclaimers apply. This is pre-pre-pre-Alpha content, everything is subject to change, features may not be present in the final version, there's a very strong chance none of this will ever be released, etc. etc.

There shouldn't be any plot spoilers in these posts, but there will be occasional discussions related to characters, locations, mechanics, and other aspects of my potential upcoming Shadowrun campaign (tentatively titled "CalFree in Chains"). You may wish to skip them if you'd like to be completely surprised.

First up, on the off chance that anyone who's reading this blog is looking for more Shadowrun workshop content, check out the Dead Man's Switch update for SRHK.  I haven't had a chance yet to play it, but it sounds awesome: not just porting the underlying campaign to make it runnable in SRHK, but also expanding and enhancing it with cool features like persistent upgradeable runners, as well as adding a lot more text and ties to other pieces of Shadowrun fiction.

Speaking of text: I have finished my mission dialogue! (Insert happy dance.)

There's still a long way to go, but at this point I feel like the narrative backbone of the campaign has been formed. If I wanted to, I could now start work on the actual scenes: wiring up triggers and creating NPCs and all that stuff. I still want to get more writing done and some revisions before I take that step, but right now it's more of a matter of filling in the gaps than figuring out where I want to go.

This week's post will just be a few random notes vaguely related to my writing workflow.

I compose all of my text in Google Docs. I collect different types of writing in each separate doc; here's what the current list looks like.

You'll see that everything is labeled "Shadowrun Next". That was my placeholder title. I might do a post in the future listing all the different iterations I've gone through (which might still continue - I'm increasingly fond of "CalFree in Chains" but it definitely isn't set in stone).

Some of these are pure design documents, like "Combat" and "Side Quests". A few are for brainstorming, like "Naming" and "Puzzles". The "Tasks" one is a process document, with my checklist of items to complete before release. But most of these are for dialogue: Mission Dialogue, Main Dialogue, Banters, etc.

In general, I start one document, work on it exclusively for weeks until it's finished, then move on to the next one. Once they're all done I'll start my editing phase. There's sometimes some interleaving - as noted in last week's post, I'm fleshing out my missions ("Shadowrun Next Missions") in conjunction with writing the mission-specific dialogue ("Shadowrun Next Mission Dialogue"). But in general I like the focus of writing in one mode for a while. Banters are very short with lots of back-and-forth, crew dialogue tends to be longer and more thoughtful, etc.

I do some of my writing on the subway, but most of it while lying on the couch at home. This is the "couch phase" of development, in contrast to the "chair phase" when I move to my desktop with its big monitor for work on maps and triggers.

While writing on the couch, I'm usually... probably about 70% focused on the text. It's definitely less efficient than on the subway; I don't have specific metrics, but it feels like I write about as much during a 25-minute ride as during an hour at home. I'm not super-disciplined about writing, so I'll periodically hop into social media or read email or something. I know many writers who use programs like Freedom to block themselves off from wasting time online when they're supposed to be writing. I've been a little tempted by that, but I feel like I still get a decent amount done, and I do really enjoy being able to quickly Google things that come up while writing: checking the science behind a thing to see if what I'm writing is feasible, or looking up a brief history of a city to see if there's any interesting flavor I can reference, or checking Shadowrun canon to make sure I'm not obviously contradicting stuff.

Just for fun, here are the items in my recent search history.

6pm pdt in gmt
obscene hand gestures
shadowrun maersk
california counties
climb the mountain of conflict
japanese family names
suffix lawyer
define foyer
most common default passwords
sperethiel declined nouns

When you play the game, you'll probably be able to guess which two missions I was working on during this span of time.

So, yeah... I'm coming up on the completion of my rough draft of game text. The main thing I have left to do is dialogue for the side-quests (examples in Caldecott were setting up the concert for Horatio and making a video game for "Doctor" Tolar), combat barks, loading screens and the epilogues. I also have a round of pick-ups that I want to insert prior to starting editing; I may blog about that process later.

Scanning through my extant dialogue: so far I'm at about 470 pages of Google Docs text. The word count on the docs is (punches numbers into calculator) 192,939 words. That's inflated from the actual, since these docs also include markup for the triggers as well as outlines and notes for myself; but I'll also be writing more for the remaining text, so it's probably going to be in that ballpark at the end. That's, uh, a lot! The Caldeott Caper came in at 98,000 words, and Antumbra Saga was only 51,000.

More isn't necessarily better, and especially after the reaction to Hong Kong, I'm a little nervous that this campaign will be too much on the talky side. Part of that is an inevitable consequence of trying to support pacifist missions: I feel like I need a lot of dialogue (including investigations, solving puzzles, skill checks, etc.) to replace the gameplay that's "lost" if you bypass traditional combat. I was stunned to see that one single mission clocked in at nearly 30 pages! For contrast, a typical conversation with one of your crew members back at base runs around 3 pages. So, that one single mission has almost twice as much text as all the conversations you'll have with a single crew member. That feels like too much... unfortunately, I don't think I'll really be able to gauge if it works until I'm able to play through it. If it doesn't, that'll be a shame since I sunk a lot of time into it... but better to cut late than to release something I'm unhappy with. (And hopefully it's good!)

So, yup, that's it for now. Next week I'll be rolling onto the side quest dialogue and getting one step closer to that completed rough draft!

Wednesday, July 26, 2017

That Would Be Enough

I recently picked up Enough., a little book written nearly a decade ago by John Bogle. I've distantly admired Bogle for some time now. He's most famous as the founder of Vanguard, the investment company that has grown since its inception to dominate the mutual fund industry. He also created the world's first index fund: a type of mutual fund that seeks to simply match the value of a stock market benchmark, such as the S&P 500, rather than attempting to select stocks that will beat that benchmark. My personal investing has always been through Vanguard funds when possible, and in cases where it hasn't been (such as some 401(k) plans I've participated in), I've tried to follow a similar strategy of simple, low-cost funds.

Some people gain fame and praise for their success: amassing impressive fortunes through the businesses they've founded. Bogle is famous for sort of the opposite reason. While the Vanguard Group today manages about $4 trillion, Bogle himself has lived relatively modestly. In contrast to high-flying managers of hedge funds and major publicly traded corporations, who lose billions of their clients' dollars and walk away with eye-popping payouts, Bogle has fully embraced the principle of keeping costs low, even (especially!) when it means keeping extra money in his investors' pockets instead of his own.

Enough. was a more meandering book than I expected, but a really excellent one. It starts off as a sort of abbreviated memoir, talking through his family's struggles during the Great Depression, early financial lessons he learned, a variety of low-status jobs he held. A recurring metaphor he uses is "looking for diamonds": people who are constantly chasing wealth and pleasure never find it, while those who cultivate their circumstances find unexpected success. His main point is that he did not start out seeking to build an investment giant, and he encountered plenty of obstacles and setbacks along the way; but because he worked through those setbacks, he ended up with greater results than he would have otherwise achieved.

What especially struck me about the book, though, was Bogle's fiery denunciation of the finance industry. It was published in 2008 as the great recession was starting, bringing to unavoidable light many of the problems he has railed against for years. Some of these get at the very heart of what finance is, using stark language that's really eye-opening and kind of calls into question the values that underlie our free-market capitalist system.

So, to start: there are multiple layers of economic activity. There are people who extract value from the Earth and by working with their hands: this is "work", the creation of raw materials and goods. There are people who extract value from people who extract value from the Earth and by working with their hands: this is "trade", the buying and selling of goods and raw materials. And then there are people who extract value from people who extract value from people who extract value from the Earth and by working with their hands: this is "finance", the allocation of funds to facilitate the creation and flow of goods and services.

Finance serves a very important role and is a major component in the success of businesses and nations. However, it does not by itself create anything of value. Ideally, it is just a facilitator, a sort of minimal conduit that collects available money and moves it to where it is needed.

This is the role that finance traditionally played. In the last half-century, to Bogle's immense distress, the order of things has been upended. Finance has become the king rather than the servant. In a sort of perversion of the ideal order, businesses are now changing their actions and strategies in order to appease the artificial numbers demanded by their finance masters, rather than pursuing their core business and simply using finance to reflect their underlying value. Along with this inversion, people working in finance have become the best-paid people on the planet, raking in obscene amounts of money when businesses do well, and paying no price when they do poorly.

One particularly worrisome side-effect of this is that, when the best and the brightest young students are graduating from university and deciding on careers, they are increasingly choosing to chase the most lucrative jobs, which are Wall Street jobs. There's a sort of brain drain in effect: rather than our nation's intellectual capital being put to work on making new discoveries, creating new inventions, they are turning all their mental capacity to an activity that just skims value out of companies and bilks investors, without creating any underlying economic value.

So, yeah! Pretty strong words, especially from such an accomplished and respected figure in the field. I was really struck by how much he sounded like Elizabeth Warren or Bernie Sanders in much of the book, which is not an association I would have expected.

From this broad economic condemnation, he ends the book on a series of reflections related to character in business conduct and as individuals. This is a part that rung particularly strongly to me, as I think about the impact my actions have on the people around me and the longevity of our company. As he points out, these are not at all new ideas: to the contrary, there's a sort of ethical code that's rooted in 18th-century values which historically has produced both virtuous actions and a strong, growing economy. These seem straightforward on their face, but he shares a lot of wisdom in unpacking and explaining them, giving concrete examples of the harm caused when they are not followed. A couple I remember off the top of my mind:

Practicing stewardship. In a business relationship, you have gained the trust of your clients or your customers. It's important that you put their needs before your own and work to ensure their long-term happiness. It can be tempting in the short term to view them as assets to be exploited, but such actions will irrevocably damage your reputation and, incidentally, be much less profitable.

Focusing on the things that count, and not the things that can be counted. People tend to get obsessed with metrics that can be conveniently quantitized and compared: earnings in a quarter, number of customers. But these things are just measures of underlying value, not things of importance in themselves. The most important things are not easily counted: your reputation, how happy your employees are, the quality of the product you provide. Counting is important, but it's wrong to focus on it. Tend to the underlying health of your company and the numbers will follow.

He also makes a surprisingly strong plea for personal character and conduct. He cites his own Christian faith in passing, but focuses more explicitly on the example of people like Benjamin Franklin who were focused on self-improvement. It was cool (but, again, a little surprising coming from a "finance guy") to read such a full-throated endorsement of civic engagement, of giving back to the country that has enabled success, of building ladders that will help others rise. This has been a long tradition in America, but one that has mostly vanished in the self-obsessed "I've got mine" attitude that seemed to ascend in the 80s and has become embedded in the national psyche. He goes back to the original writings of Adam Smith, pointing out the importance of government and civil society, institutions that are increasingly devalued today.

The overall message of "Enough." isn't a surprising one. Don't go chasing after immense wealth. Focus on your circumstances, your character, practice contentment, and you will end up far happier than those who greedily and voraciously pursue ever-increasing money. It's a great message, one given even more weight by the man giving it, who I now respect even more than before.

Sunday, July 23, 2017

Talking About Missions

Part four in a weekly(😺) devlog.

Standard development disclaimers apply. This is pre-pre-pre-Alpha content, everything is subject to change, features may not be present in the final version, there's a very strong chance none of this will ever be released, etc. etc.

There shouldn't be any plot spoilers in these posts, but there may be occasional discussions related to characters, locations, mechanics, and other aspects of my potential upcoming Shadowrun campaign (tentatively titled "CalFree in Chains"). You may want to skip them if you want to be completely surprised.

Last week I described my process for fleshing out missions in a Shadowrun campaign. I'm still working on that, but in conjunction I'm also starting to write the actual dialogue for some of those missions. This is helpful in a few ways. The details of the mission structure are still fresh in my mind, so I don't need to review my notes and reconstruct what I was planning. I've also found that I sometimes encounter happy accidents when actually writing something that can then inform future missions: for example, while writing dialogue, I might get a better conception of who a character is, and then realize that that same character would be invested in the outcome of a future mission, and have a new plot thread ready to weave into it. This potentially helps me avoid some revisions in the future by getting it right the first time.

In my Caldecott retrospective I wrote at length about my process of writing dialogue. I won't rehash that here, but I did want to share some specific examples.

One thing that has surprised me about writing is that I never get writer's block. Any time that I'm not sure what to write, I write down what I'm going to write, and then I write the thing that I wrote. That sounds both silly and useless, but it's the grease that keeps things coming smoothly for me. Hm, maybe this would be considered an "outline"? I don't think of it that way, but it might be the same idea.

(Quick reminder: These posts will give away some minor details about characters and locations, but no big secrets. You can consider these "mini spoilers.")

So: In one mission, you need to create a diversion in order to infiltrate a heavily-secured area. There are a few different NPCs you can interact with who may provide an opening for you, based on your character's skills. Here's my up-front summary of a planned conversation with a plumber.

I'm sure that's very cryptic and messy - when I write these things, I'm only considering myself as a reader, so I'm very loose with abbreviations and references to things I already know. It would be a lot cleaner if I intended someone else to read it! But I get a ton of value out of just setting it all down. I now have a framework to work with, and whenever I get stuck, I just go back and look at the thing I said that I would write, and then write that thing.

Filling out the entire conversation results in this beautiful piece of text.

Hm, that isn't very readable, is it? Let's see if I can format that text nicely in here...

Plumber: Mmmmf. Hey, can you pass the mustard?
> How’s the food here?
P: Not bad! Then again, anything tastes great when you haven’t eaten in twenty-four hours. It’s impossible to find decent hot sauce around here lately, though.
> Are you on break?
P: You know it! I’ve been running around nonstop ever since Sacramento “fell” and the Protectorate rose. Infrastructure has been a MESS after the invasion. Bullets and bombs put holes in things, pipes are things, so there’s been a fuck-ton of water spraying the inside and outside of buildings all over the city.
Kora: This area doesn’t look too bad.
P: Saito’s engineers have repaired the crucial infrastructure in the green zone, but they aren’t caring for the people in the rest of the city at all.
Isas: That unfortunate is. The first rule of sovereignty one’s citizens to care for should be.
P: It’s a shame. The old government in Sactown neglected the poor, too, and a lot of folks here were hoping that Saito would transform this place from a stinking shithole into a place worth living.
Valiri: Yeah, good luck with that.
(Once you’ve asked about what she does:)
> What sort of work do you do?
P: Plumbing, mostly. I’ve been doing my best to help out with the massive civilian damage, but honestly, so far I’ve been busy just taking care of the wealthy mansions. I feel kind of bad, but they’re the only ones with the credits to pay.
Arelia: At least you’re helping, in whatever way.
P: Outside of the core and the wealthy enclaves, though, the sprawl is royally screwed. Who knows if and when Saito will actually repair the damage he caused, and not just pay out to his megacorp backers in SF.
(After flooding:)
> {{CC}}Quickness: (High){{/CC}} {{GM}}Swipe her plumbing supplies.{{/GM}}
PC0: Hey, look over there!
P: Where?!
{{GM}}While her back is turned, you snatch her kit and toss it to your waiting companions. With any luck, she won’t notice the theft until you’ve finished here.{{/GM}}
PC0: Never mind. I thought I spotted Maria Mercurial, but it was just a mirage.
P: Pretty nice mirage.
(After flooding:)
> Can I borrow your plumbing supplies?
P: You can’t be serious. I need these to work, and I need to work to live!
> {{CC}}Etiquette: Gang{{/CC}} Between you and me, I’m going to stick one to the Man. Strike a blow for the little people.
P: Heh heh heh. Yeah. That sounds fun! Hopefully I’ll get to hear about your exploits later.
> {{CC}}¥XXX{{/CC}} I’ll make it worth your while.
P: Hm, I COULD buy a lot of soy dogs with that… All right, fine. Just have someone drop them off whenever you’ve finished with whatever kinky activities you have planned.
> Goodbye.
Cool - so, that's one minor but complete conversation. Or at least the rough draft of one! But complete enough for this phase.

This is a good place to re-iterate that I do not think any of the things in this devlog are necessarily best practices, and that's even more true of dialogue than most other things. These are habits and conventions that I've developed over the years that work well for me, but I'm sure there are far more efficient and better ways to structure things.

One particular obstacle is that I'm composing dialogue in a linear format (Google Docs), but it will need to be ingested into and served from a complex structured format (the Conversation Editor). And since it's a video game, there are dialogue loops, hidden branches, reactivity, pre-requisites, all sorts of stuff. I can look at this and see where the loops and stuff are, but it would be horrible for collaboration.

Anyways. Breaking down my own system:

Plumber: The first time I reference a character, I'll use the full name that I plan to display in the conversation interface. For brevity, later in the dialogue I'll refer to them just by their first initial - in this case, P. (Trivia note: That's why I make sure all of my major characters have names with different first letters. It just simplifies and clarifies my dialogue shorthand if I can see a K and immediately know that it refers to Kora.)

> How’s the food here? I use the chevron to indicate a character dialogue prompt. This is just a simple line of dialogue that the player character can select once.

Infrastructure has been a MESS after the invasionUgh. Reading this now, I can see this should be "since" and not "after". For the current phase, I'm just trying to get down my raw material. There will be a proper editing phase later where I'll go back through it and clean it up. Editing never really stops, though. I'll review the text a third time when I copy-paste this stuff into the Conversation Editor, and again when playtesting the game, and every time I'm looking at dialogue to fix a bug...

Kora: This area doesn’t look too bad. Kora is a potential companion who may be present during this scene. If so, she'll pipe up and speak this line. If not, she won't. This is a rather simple interjection that's just for flavor. More important dialogues might have characters who start entire branches of speech, potentially bypassing challenges (or creating new ones!)

(Once you’ve asked about what she does:) I use parentheses as notes to myself for metadata that will need to be inserted into the conversation editor later. In this particular case, it indicates that the following prompt should be hidden until you've learned the information from the previous branches. The same notation can be used to indicate that a sound should play, or a character should animate, or the player should gain karma, whatever.

> {{CC}}Quickness: (High){{/CC}} {{GM}}Swipe her plumbing supplies.{{/GM}} 
This is a skill-based pre-requisite. All players can see this option, but it will be disabled unless you have the required skill. {{CC}} and {{GM}} are editor markup tags that control formatting for conditions and GM text respectively. {{CC}} is used to indicate what is required to choose an option, which could be a skill or an item or being a certain metatype. {{GM}} is used to indicate action, as opposed to speech. The (High) thing is a placeholder - it's based on something that HBS used in Dragonfall and Hong Kong but that I haven't used in my previous mods. The idea is that, instead of skill check levels being hard-coded, they will change over time to become more challenging as your character grows stronger. So, if you ran this mission first, you might only need a Quickness of 4, but if you ran it later, you might need Quickness 6. This isn't the exact format that will be input to the conversation editor, but I'll have that figured out before I start ingesting dialogues, and can replace these on the fly.

PC0This is pretty rare, but occasionally your character will appear as a speaker in the dialogue. I always use PC0 to refer to the main character, since in the game engine they're always known as "Player Character 0".

{{CC}}¥XXX{{/CC}} XXX and TODO are my all-purpose placeholders, for when I need to make a decision later or look something up. (I sometimes write without Internet access, so I may not be able to check on things like city names, spellings, etc.) In this particular case, I know that there's an option to bribe this character, but haven't yet worked out the money curve at this point in the game and am not sure what an appropriate charge would be. I can search for XXX and TODO to easily find all parts in the dialogue that still need to be fixed up, prior to ingesting it into the conversation editor.

So, uh, that's it! There is a LOT of dialogue to write. So very, very, very much. Maybe I'll write more about why I'm writing so much when I write my next writing next week.

Sunday, July 16, 2017

Fleshing Out Missions

Part three in a weekly(!) devlog.

Standard development disclaimers apply. This is pre-pre-pre-Alpha content, everything is subject to change, features may not be present in the final version, there's a very strong chance none of this will ever be released, etc. etc.

There shouldn't be any plot spoilers in these posts, but there may be occasional discussions related to characters, locations, mechanics, and other aspects of my potential upcoming Shadowrun campaign (tentatively titled "CalFree in Chains"). You may want to skip them if you want to be completely surprised.

This week was mostly focused on missions. Earlier in the process, I had mapped out the entire campaign's flow from a high level: identified the number of missions you would go on, locations for each, and how they would tie into the overarching plot. Now, I'm taking those earlier pithy statements and transforming it into an actual design plan.

For each mission, I define the following.
  1. The setting / maps that you'll be exploring.
  2. The enemy faction(s) you'll be facing.
  3. Any significant NPCs who will appear.
  4. The choices you will make in this mission that will produce consequences later in the game.
  5. Consequences that will appear in this mission based on previous choices made.
I have these additional goals; not every mission will have all of these, but the more the better.
  1. At least one environmental puzzle to solve (as distinguished from skillchecks).
  2. A pacifist path to follow.
  3. World-building lore about the situation in the California Free State.
  4. Etiquettes and/or skills that can be used to overcome obstacles or achieve bonuses.
  5. An appearance from a villain.
  6. A "boss fight" that provides a particular tactical challenge with unique mechanics.
 Some more details on each of these follow.

Setting and Maps

My rule-of-thumb has tended to be two locations per mission. For example, the Dorbi recruitment mission in Corona started on The Five and ended in the Scrapyard; the train-acquisition mission in Caldecott had scenes both on the island of Alameda and within a bar on the island. It isn't a hard-and-fast rule, just my most common design choice.

One thing I'm doing a little differently this time is trying to create single-scene missions instead of splitting into multiple scenes, following HBS's newer convention in Hong Kong. I'm having second thoughts about that now: one of the persistent criticisms of SRHK is the long loading screens, which is a direct consequence of this design. But there are benefits as well: total loading time is less (as long as you don't reload saved games), and a lot more flexibility in mission design since you can easily move back and forth between locations instead of only supporting forward progression.

I also have an unsubstantiated theory that having multi-scene missions in SRHK is the root cause of the crew equipment duplication bug. If so, making single-scene missions is the only way to avoid that problem. I'll find out later whether that fixes it or not!

Anyways: even if a mission is technically in a single scene, it can still have multiple maps within it. The most common scenario is both an outside "street" map and an inside "building" map, though I'm trying to switch that up.

I prefer to model my locations off of real-world sites, as noted in my earlier post on the Sutro Baths map. But I'll also include a couple of unique imaginative locations or more generic sites. I'm pretty sure it's against the law to release a Shadowrun game that doesn't include at least one mission where you infiltrate an office building!

Enemy Factions

All missions will have at least some optional combat, and more often a lot of mandatory fighting. It's boring if you fight Generic Lonestar Cops over and over again, so I try and switch it up from mission to mission. At the same time, having the same faction reappear in later missions is a great basis for choice-and-consequences, since they can react to your earlier behavior.

My faction choices are driven by a combination of available 3D models, the maps for this scene, and the overarching campaign plot. If you're in the wilderness, you'd expect to encounter wild animals; if you're in a crypt, you would see ghouls or mummies.


Missions are MEGA-BORING if you just go to a place and kill everyone there. At a minimum, you'll want someone to provide a goal for you to accomplish. Better, you'll have someone providing context and flavor for what you're witnessing in this location. In the best-case scenario, you'll have multiple NPCs with varying objectives trying to manipulate you into furthering their agendas.

Some NPCs will be one-shot affairs who just provide the grease to move you through this particular mission. But I've found that it's a lot more interesting if they pop up multiple times, giving you more opportunities to form opinions about and relationships with them. One recurring trend of all my campaigns to date has inevitably been character consolidation, as I realize that various parts written for one-off NPCs can be reassigned to existing characters to make them more interesting.


Up through the final set of missions, you should be able to make at least one decision during a scene. I try to mix this up, so it isn't always "Do you kill Mr. X or spare him?" over and over again. It's best if there's a mixture of tones and stakes. Ideally this will have both roleplaying implications for the player character, as well as mechanical implications for their run.


Players REALLY enjoy feeling like their choices are being recognized and honored. As noted in my previous post, I've learned to be very explicit about these linkages. Particularly in a less-linear game where a lot of time may have passed since an earlier scene, it's helpful to jog their memory about what prior action of theirs has led to the events they're now witnessing.

Not everything needs to be major or earth-shattering. Just raising something in dialogue or providing a cute or funny environmental shift can bring someone a smile.


I made a lot of these for Antumbra, and honestly feel like I'm running out of ideas, but I'm still making an effort to create new ones. It adds another dimension to the game beyond just "talk and shoot".

Pacifist Options

My favorite part of Shadowrun Hong Kong was its mission design. They're incredibly varied and clever, and many of them have a wide array of possible solutions. A few missions can be won without firing a single shot, and even more allow you to bypass a great deal of combat.

Just to set expectations: my missions will not be that good. But I'm aiming towards the high bar that HBS has set and using it as inspiration to improve my own mission design. The goal that I've set for myself is to have two missions that can be completed without any combat. It's proving to be very hard! A pacifist run is no fun if you just walk to the far end of the map and click to win: I need to go overboard with dialogues and puzzles and skillchecks so that it still feels like a full mission with its own challenges. So there won't be many of them! But hopefully a couple.

After starting on this initiative, though, I've decided that I want to make the decision to follow a pacifist route even more of a roleplaying choice, and not just a mechanical option. Personally, I always pick non-lethal options whenever they are present in video games, and they almost always feel like the superior outcome. It might be interesting to complicate that narrative a bit, though. Shadowrun has a lot of awful people in it, doing some very negative things, and ideally players will at least think about the implications of letting such people walk away.


I don't want to overload players with this stuff, but I think it does strengthen the overall power of the story if players feel invested in the broader political and social issues facing future-California. I also don't want to do massive info dumps on them each time they return to the hub. So, when it makes sense, I want to take advantage of missions to provide more flavor and context. Maybe they can chat with refugees living on the streets, or read internal emails about a megacorp merger, or listen to their companions' opinions about the enemies they're facing.

Ideally, this stuff will provide a little more flavor and motivation within the specific mission the player is in, while also contributing to the bigger picture of the meta-plot.

Etiquettes and Skill-Checks

These are great ways to reward players for their Karma investments and help them feel like they're taking a unique path through the game. Most often, these will provide straightforward solutions to obstacles that the player encounters; occasionally, they may be used to unlock additional rewards or lore.

Crucially, the player must always have a path forward regardless of build. That might mean that, if they don't have the appropriate skills, they need to fight their way through, or take the long way around, or backtrack to find an alternate solution.

As in Caldecott (and unlike in Antumbra), I'm planning to allow your companions to clear skill-checks if they meet the requirements themselves. I've been ambivalent about this in the past. Particularly since I have such a limited team roster, odds are high that the player will bring along the "right" companion, making it a little too easy to pass the test (and thereby diminishing the value of players who made those skill investments themselves). But it's something that players seem to really want, and it does make sense in-universe. I've decided to treat it as a bonding exercise and another way to increase the value of companions to the player, so they always get a little extra dialog or something when tapped to do this work. And, on the other side, your companions may praise your character if he or she succeeds in a challenge based on their own skill alone.


A "big bad" doesn't need to be physically present, but it's good to at least hear from one over the course of the mission. I think this helps the campaign as a whole cohere, so it doesn't feel like a collection of random runs but like one big story. And, much like choice-and-consequences, a lot of real-world time might have passed since the villain's previous appearance, so I think it helps players keep track of the big picture. Otherwise, when the big climactic battle at the end comes, they might be left scratching their heads wondering "Wait, who is this person again, and why do I care?"

Boss Fight

Much like environmental puzzles, I feel like I exhausted most of my tricks back in Antumbra, but I'm still making an effort to think of creative things to do here. Particularly if the boss is a named NPC who has been present earlier in the mission, and offers a challenging fight at the end, it can make for an especially memorable experience.

I don't think I can say much about the specific mission I'm working on now without spoilers, so as an example, I'll go over a similar process back in Caldecott. In my initial game design, one mission was, in its entirety:

You go to San Francisco, break into the Shiawase Matrix, and download [plot] for the train robbery.
 That's all I really needed in that early phase, when I was mostly concerned about the high-level shape of the plot and game design. During the fleshing-out phase, I ultimately came up with the whole sequence of events that the player would experience, so the final outline for that mission became:

  • Nautical insertion at Potrero Point.
  • Check-in from base (Persi or Kora) recapping your objective.
  • Encounter Native Californian paramilitary fighters, exchange insults, kill them.
  • Reprimand from Colonel Saito's Imperial Marines.
  • Start objective to infiltrate Shiawase.
  • Ambushed by Zielor of the MPA. CONSEQUENCE: Refer to your decision at the Raiders hideout to back the MPA or not, but always fight regardless.
  • Create a diversion. CHOICE POINT: Back up Zielor or hand him over to Shiawase.
  • Eavesdrop on Ava Montalvo's keynote address. CONSEQUENCE: Refers to your actions on board Persi's ship.
  • Find or forge a pass to access the upper floors. CHOICE POINT: May expose your status or get an NPC in trouble.
  • Sweet-talk your way past the guards (etiquettes) or fight them.
  • Hack into the Matrix (Sable required if you are not a decker).
  • Optional: Take over building security, download paydata.
  • Fight your way back down to the ground floor.
  • Reinforcements at the main door, extraction through the Muni Metro tunnels.
That's a whole lot more! In terms of my checklist, it would break down like this:
  • Location: Potrero Point and Shiawase. (In my initial design pass, I was calling this "Shiawase HQ"; in the final game, I realized that the building I'd created didn't look nearly impressive enough to be the headquarters for Shiawase's entire North American enterprises, so I just made it a general office of theirs.)
  • Factions: Native Californians, MPA, Imperial Marines, Shiawase Corpsec.
  • NPCs: Major recurring: Zielor, Ava Montalvo, possibly Kora via commlink. Minor speaking roles from: NC thug, Marine captain, door guards, receptionist, Taylor Minami.
  • Choices: Dealing with Zielor (affects future recruitment); forging a pass (causes difficulty on the heist); impersonating Taylor Minami (cause trouble that you'll hear about later).
  • Consequences: Dialogue from Zielor and Ava referring earlier actions. (Consequences were pretty light in this particular mission; in others, they could provide new allies, alternate solutions to obstacles, or other mechanical impacts.)
  • Puzzles: None. :-( I'd planned to do an environmental puzzle on the middle floor of Shiawase, and even set aside space on the map for it, but never came up with anything fun to do.
  • Pacifist route: Not available. :-( You can potentially skip combat with the guards on the second floor of Shiawase, although you might face them anyways during your later descent.
  • World-building: Observe Saito's anti-metahuman curfew in San Francisco. See Shiawase's corporate culture: lots of meetings, presentations, graphs, and other ephemera.
  • Etiquettes and skill-checks: Corporate or Academic will help you convince Taylor to give you their pass. Quickness allows you to pickpocket the pass. Security and Corporate etiquettes will help you avoid combat on the second floor. Hm, I think that's all...
  • Villain appearances: Zielor and Ava. You may not think of Ava as a villain at this point in the game, which makes her appearance even more important.
  • Boss fight: No special mechanics, but Zielor is a particularly strong opponent with a unique weapon who summons multiple waves.

Anyways, that's basically what I'm doing now, just for new missions.

No screenshots or anything to show this week, sorry. I'll be in writing mode for a lot longer, so I'll try and get some spoiler-free snippets to share in the future.

Saturday, July 15, 2017

Ladykiller Unbound

I've been a big fan of Christine Love's games ever since my first experience with Digital: A Love Story, one of the most emotionally affecting games I've played. She's also formed almost the entirety of my experience with visual novels, a subgenre of adventure games that are text-heavy and relatively linear, accompanied by striking character and background art. Analogue: A Hate Story was brilliantly designed with clever mechanics and a compelling story, and Hate Plus has the best example of breaking the fourth wall that I've ever seen in a video game.

Given all those positive experiences, I was eager to pick up her latest, with the Fionna Apple-esque title "My Twin Brother Made Me Crossdress as Him and Now I Have to Deal with a Geeky Stalker and a Domme Beauty Who Want Me in a Bind!!", but almost universally referred to by the relatively short title "Ladykiller in a Bind". I was also hesitant: the game is cheerfully pornographic, shifting from the more cerebral romantic thrust of her earlier games into a joyous celebration of queer and kinky sexuality. That sounded intriguing, but also intense, and I held off for a while before picking it up.

Due to the subject matter, the rest of this review should probably be considered NSFW. I'll refrain from any naughty images, but there's some suggestive captions in the screenshots.

Christine Love continues her tradition of mechanical innovations. Where Analogue featured an in-game command prompt and a nonlinear database of records, Ladykiller's marquee feature is probably its conversation system. In a typical game dialogue system, you are presented with a node of text, and then select one of several mutually exclusive responses, each of which leads to another node (similar to classic "Choose Your Own Adventure" structures). This system has been a hallmark of computer games for approximately five centuries.

Ladykiller upends that. Now, conversation prompts are shown as soon as they become relevant, and continue to display while they remain relevant. It is extremely rare for you to be forced to choose something to say. Most often, other people will continue speaking, and the initial responses might be joined by others that become relevant as the conversation continues, different items eventually fading and disappearing as they cease to apply.

I'd read a description of the system before playing, and it ended up being a lot better than I expected. I had thought it was a real-time system, with constantly advancing text and a quick trigger finger required to pick the best option in time. Instead, the actual mechanics are the same as any visual novel: you read one node at a time, and can click any node to proceed. The big difference is that you almost always have a "continue" option, which advances to the next node, but does not necessarily dismiss the existing options.

The overall effect is terrific, a natural-feeling conversation that ebbs and flows, one you participate in but do not dictate. Personally, I tended to play it cool, always waiting to hear as much information as possible before interjecting (which, as I'm typing this now, I realize is exactly my conversational style in real life), and only making choices at the last possible moment before they fade away. And quite often I would choose no option, either because I was unhappy with any of them or because it seemed most in character to remain silent.

I was intrigued by the silence option. I was reminded of an experiment I made back in the original Antumbra which felt like a pale imitation of this: I had a goal that the player character could go through the entire game as a silent protagonist, and so every conversation had a "Remain Silent" option. I really liked the concept of it, and thought way too much about the meta-implications of it (I, as a developer, cannot anticipate every action that my players will want to take, and so I wanted to always give them the opportunity to protest the limited options I gave). In practice, nobody seemed to care much about it one way or the other. It was also a bit of a pain to write for, since I always needed to give a believable reaction to the other speaker AND still manage to advance the plot, so I dropped it for the sequels.

Anyways: here, skipping conversation prompts doesn't necessarily mean that your character ("The Beast") will remain silent. Sometimes she'll just shrug, sometimes she'll say something neutral like "I really couldn't care less", and sometimes she'll actually make some other statement not covered by the earlier ones. So it's a bit less pure than I'd been imagining, but still works really well. In particular, it feels like a great out to give to the player, even if the character doesn't necessarily remain speechless.

I write a lot on this blog about the links and divisions between players and characters, but Ladykiller puts those to shame, creating an almost dizzying level of mediation between you and the story.


So: there's you, the person playing the game, who can be anyone (male, female, other, straight, gay, other, young, old). There's the character you're playing, The Beast (18 years old, female, lesbian). Then there's the character SHE'S playing, The Prince (18 years old, male, possibly asexual). The Prince has a very well-defined character: he's an asshole, manipulative, ruthless, bright. The Beast's character is fairly well-defined (rebellious, poor student, confident, amorous), but you can exert a fair amount of influence on its expression (how generous she is, how trusting, how ambitious).

So, for almost any choice you face in the game, you need to process through three questions, which are almost guaranteed to be in conflict:
How do I, the person playing the game, feel about this action? (Personally, I'm drawn to the boring "be nice to everyone and make everyone like me" school.)
What would The Prince do in this situation, so I can avoid blowing my cover? (He would probably be cruel and haughty.)
What should The Beast do here? (Kind of a mediation between the two, but I'm trying to hold true to my perception of her character.)

And certain scenes go even deeper down the rabbit hole: when spending time with The Flame or The Lieutenant, they may ask you to play out a scene to advance their own goals, adding even another layer of indirection to make my head spin.

My overall strategy, such as it was, was to try and be compassionate around the people I cared about, even when it led to increased suspicion. (In the mechanics of this game, you lose when suspicion rises high enough, although it's relatively easy to lower... for a price.) I would compensate by acting like The Prince when it wouldn't bother other people or when around people who I disliked. This worked... okay. I had to sleep with Beauty once to erase my suspicion, and did so again the next time it rose high, although in retrospect I could have skipped the second time since I didn't gain any suspicion on the final day.

Oh, yeah: sex is mandatory in this game. But, in the theme of mediated experiences, it isn't mandatory for the PLAYER. There are options to skip all sex scenes, and a hilarious option to make all the characters wear ugly Christmas sweaters during otherwise-nude scenes. But story-wise, each night ends with you making love to either the shy and sweet Stalker (named the Hacker in my game), or the scary and sexy Beauty. There are mechanical benefits attached to each: more votes to win the contest from the Stalker, or a free pass on suspicion from the Beauty. You can either pursue the mechanics and select your romantic partners to advance that goal; or you can select a romantic goal and then adjust your behavior to negate the mechanics (e.g., avoid suspicion during the day to ensure you can spend every night with the Stalker). I kind of muddled through both. In retrospect I kind of wish I had focused on the Stalker... but that would have made it harder to pursue some other the other characters' storylines in the direction I wanted, so, idunno.


Like a lot of visual novels, LKiaB features romance "routes": series of scenes related to potential partners. The first route I followed was that of The Flame (née The Photographer), the only "pure" lesbian on the ship. But, of course, since this game is confusing, she doesn't see you as a natural partner: she sees your asshole brother.

I liked The Flame. Everyone in the game acts scared of her, and she is manipulative, but... I dunno, I liked the way she talked? She's clearly ambitious, but you get a hint of the insecurity underlying it?

Like most (?) of the daytime routes, you can get up to some hanky-panky with The Flame, but it isn't really fully consummated in the same way as The Stalker and The Beauty are. I might have played a little differently if I'd understood that - heck, I probably will if and when I replay. It's still good, you really get to know the characters well and have a relationship arc with them, but you can't end up with any of them.

My next focus was The Lieutenant (aka The Nerd). Man, I really liked her! I'm not usually into the tsundere thing, but she was AWESOME, and I probably laughed at her dialogue more than anyone else's. She's SO uptight and rigid and sheltered and AGHAST at all this ILLEGAL UNDERAGE DRINKING going on around her.

I might have been bummed if I'd done her route first, but since my expectations were tempered by The Flame, I ended up really loving it. I like that you kiss, and it isn't this magical wonderful enjoyable experience. (Her reaction is terrific, befuddled and slightly incredulous.) There are some really good lessons that The Beast imparts near the end of this route, which (as is so often the case in Christine Love games) I'll be seeking to apply to my own life.

The Lieutenant is one of the few characters where I felt like I (as the player) was very out of step with how The Beast perceived a situation. I really, genuinely, honestly liked The Lieutenant, but The Beast canonically finds her shrill and untalented. The Beast only begrudgingly finds a limited aspect of The Lieutenant to like, while I admire all of her.

I didn't get through much of his "route", but I was surprised by how much I liked The Athlete. It just was... nice, relaxed, friendly. In retrospect I wish I had done this first, and I'm pretty sure I will if I play it again: he's an ally, someone who provides useful information and advice, and seems like he could make a perfect wingman. Plus you don't need to worry about suspicion with him like you do for most other characters.

In the end: I "nope"'d out of the Day 7 stuff and got what appears to be the default ending. Which I'm happy enough with. I was actually basically on-board for the whole kidnapping plot and ransom demand, and might have cooperated from the start if I'd known what was going on. Based on the information received in the game, the father seems like a thoroughly unpleasant man, and I'm all about striking a blow against the imperial capitalist system. (I do really enjoy the ridiculousness of the dialogue in these sections. "Don't even worry about it!") I did kind of kick myself for not taking the opportunity to get back my motorcycle, though... it looks like that might unlock another ending. I'm pretty sure that, if I do replay, I'll shoot for an ending where it's just me and the Stalker riding off into the sunset.


I haven't written enough about this, but the dialogue is HILARIOUS. There's always been great humor in Christine Love's games, but usually it's sandwiched between dark and ominous themes. Here, the bulk of the game is joyous and silly and ridiculous, with just some darkness coming near the end, but most of the time it's a great forum for terrific one-liners, catfights, obscure pop-culture references, and just straight-up silliness.

The art is also terrific, with every character very well defined and unique, attractive in often-unconventional ways. I also loved all the animations, subtle movements that really help sell the characters: the little wobble The Stalker makes when she's embarrassed, the screen shaking whenever The Lieutenant is chewing you out, the incessant winking from The Beast. And the backgrounds look gorgeous: I've never been on a cruise ship, and I find it hard to believe that they actually look this nice.

So, yeah! I really enjoyed this game. It definitely isn't for everyone, even people who enjoyed the earlier Digital/Analogue games, but it's a really fun and unique outing, both as a game and as a story. Speaking personally, it was a really interesting introduction to some sexual and gender-related interests and experiences that I'd been vaguely aware of before but hadn't really known much about; I'm not going to pursue any of them, but I think I've gained a greater understanding of the different types of people in this world and things they like, and I think that's a good thing.

Albums! I debated how much to censor these, and ended up taking out all the ones with exposed naughty bits but leaving in the ones with fully-clothed sexiness and adult language. They're still NSFW, just not as NSFW as they could be.

Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Epilogue A

Sunday, July 09, 2017

Building a Dynamic Hub

Part two in a weekly(?) devlog.

Map creation continued this week. I spent a lot of time focusing on the hub, the main map where the player character returns between missions to recuperate, upgrade, chat with companions, and advance the plot. Players will visit most maps once, and a couple of maps twice, but will see the hub many times during the game. So, I felt like time spent polishing it would be especially well-spent, and I also wanted to maintain the player's interest in it over the course of the game.

In a previous post-mortem, I'd noted a somewhat failed experiment back with Corona, the third part of Antumbra Saga. I'd put a lot of thought and effort into dynamic updates for your base at Redding Old City Hall, building a fairly complex and integrated system that caused the base to shift over time in response to your player's decisions. I was nonplussed by the lack of a response, and belatedly realized that it was because there was no in-game explanation of how the player's actions were affecting the environment. In Caldecott, I had a much less dynamic map, but much more explicit linkages: for example, if you rescued the dogs from the basement in the Gauntlet, then the dogs would show up in the Halferville slums, and a dwarf child there would explain that these were the same dogs from before and they're here because of what you did. I'd worried that it was over-explaining, but it seems to have done the trick, and I've gotten multiple nice comments from people who appreciated seeing that outcome.

For my new campaign (tentative title: "CalFree in Chains"), there are a variety of ways the hub can shift over time. Some occur as a result of the player's choices, some reflect the player's story, and some are essentially random. A few will be obvious, others less so, and I hope some players will feel a little delight at discovering some of the more hidden ones. There's also a subtle character-development dimension to this. One of my overarching goals for this campaign is to help the player feel like a member of the community and invested in its well-being. Not a murderhobo who runs for profit alone, but someone who has a stake in the outcome. I personally really liked how HBS handled this with the Berlin Flux State in Dragonfall, which felt more like a "home" than Heoi or the Seamstresses Union did.

So, for this post, I'd like to talk about one particular dynamic feature: the player's personal room. You have your own bedroom, where you'll typically appear after loading the scene; this suggests that some time has passed since returning from the mission and you're waking up, ready to start the next day. The basic contours of the bedroom stay the same: the bed, the trideo station, the kitchen, etc. But specific features will vary to reflect your character's build. Are you a gun-toting street samurai? You'll see display cases up on the walls showcasing your arsenal. Are you a mystic mage? Expect to see some arcane paraphernalia like crystal balls. Or maybe you're a rigger? You might find a spare drone or two lurking around.

I'd initially thought of just doing this based on the player's archetype, but once I started scripting the feature, I realized it would be more fun to update the environment based on the player's current skills. That means that, for example, if your player starts out as a rigger they'll see some drones, and if they later branch out into decking then they'll see some additional tech equipment. It also allows me to, in some cases, provide an upgrade path as their skill level increases. For example, shamans will have a shrine in their bedroom; as their skill in conjuring or spirit summoning grows, the shrine will become more impressive.

Enough words, time for pictures! Here's what the bedroom currently looks like in the editor:

Oh! I should have said this back in the previous post, but: standard development disclaimers apply. This is pre-pre-pre-Alpha content, everything is subject to change, features may not be present in the final version, there's a very strong chance none of this will ever be released, etc. etc.

Some technical notes on how to script this system:

There are three possible ways to change the elements in a map. First is "Move Prop", where you can pull an item into the map where the player can see it, or pull it back out to a hidden location. The main downside with this approach is that you can only use it for specific props which have set an interaction, and cannot easily apply it to a group of related props.

Next is "delete prop", which removes one or more prop that you don't need. This does offer a "delete by tag" version, which allows you to quickly and easily eliminate a large group of related props. But it's a one-way street; there is no "create prop" trigger to bring them back.

Finally is "set prop visibility", which can make a prop appear or disappear. This includes a tagged version and is reversible, so it's useful if you want things to appear and disappear in the same scene. Note that, when you make a prop invisible, you essentially remove it from the map; this means, for example, that it can be used to remove barriers and allow players to move through those areas.

In this particular case, I'll be using "delete prop". I just need to update the environment when the map first loads, not make in-scene changes. You'll notice that the above screenshot looks really messy. That's because every possible prop is placed. Once the scene actually runs, I'll figure out which ones should remain visible and which need to be deleted. Here's what one of the triggers to do that looks like.

You may notice that this trigger is set to "On Map Start" (When CONTINUE is pressed) rather than "On Map Setup" (While map is being initialized). That is a little unfortunate: "On Map Start" runs AFTER the player clicks "Continue" on the loading screen, so if I'm doing a lot of work here, it will feel sluggish. However, the player character's stats have not loaded yet during "On Map Start", so I need to run this later. Based on my testing so far, it seems to be acceptably fast (and it doesn't affect the total loading time, just when it occurs). If this does feel pokey in the future, I could work around this by loading the player's stats into global variables, and then checking those variables during map setup.

Here are a couple of in-game screenshots from different characters at different points in their careers.

The overall room looks very similar in all of them, but observant players will notice a few minor features of their environment changing to reflect their character's advancement.

So, yeah! I'm pretty happy with how this is looking and working so far. It makes absolutely no difference whatsoever to the gameplay dimension of this campaign, but I think it's a nice bit of atmosphere that helps accomplish my narrative goals and makes the player feel recognized for how they're constructing their character.

Sunday, July 02, 2017

More Modding

Astute readers of the blog will probably have already deduced this by my decreased posting rate lately: I've started work on a new Shadowrun campaign. In the past I've waited until a project was done before announcing it. This time around, I thought it might be interesting to do a dev log, showing brief snapshots of my progress. My tentative plan is to do one post a week, with some info on what I did since the last post and occasionally giving a bit of insight into the process.

There's definitely risk around this. I'd estimate that there's about a 50% chance that I actually finish this thing, which is a big part of why I've been reluctant before to reveal that I was working on something. And I don't want to get peoples' hopes up too much... even if it does happen, it probably won't be finished for a very long time, possibly 2018. Still, I'm hoping that by doing this I'll be able to avoid some of the malaise that tends to afflict me in the final stages of wrapping up a mod, and focus more on the progress made so far.

I'll be careful to keep any plot-related info out of these posts, but folks who want to avoid all info about locations and characters might want to skip them.

First up: maps!

Maps are the hardest and most frustrating part of modding for me, so I like to get them out of the way early on. This lets me maintain momentum in the inevitably grinding home stretch.

For the rest of this post, I'll be focusing on the one particular map that I happen to be working on right now, Sutro Baths at Land's End. I've visited this location in San Francisco several times and it was an early entry in my list of planned locations for this game. A Google Image Search brought several references to my fingertips, and I had a couple up on my monitor while working on this map.

I make a simple sketch of the map with pen on paper. At this stage I'm starting to think about how the player will move through the map, where they might encounter combat, potential locations for puzzles, and interesting visual or mechanical possibilities.

Next, I block out the rough geometry of the map. At this point I'm just focusing on walls and floors, defining the shape and size of the area. I'm looking to the original references for inspiration, but not trying to realistically recreate it: this is a game, so I'm much more concerned about creating a fun space to move through than an accurate representation of this location. I'm trying to capture a few of the iconic aspects of this area (the coast, the inland pool, the ruins, the walkways, the tunnel). Ideally, if someone has seen this location before, they will feel a little frisson of recognition. But whenever there's a tension between realism or fun, I'll always err on the side of fun.

This particular map has two zones, outside by the coast and inside the tunnel. For maps with a particular marquee feature I'll spend a bit of time prototyping to ensure it displays correctly, but otherwise I'm keeping things simple at this stage.

You may notice some junk at the lower left of the screen. This is the "graveyard". While working on a map, I'll drag out a bunch of different tile pieces and props that I'm interested in and place them off the edge of the visible map. This makes it a lot quicker and easier for me to see the size and colors of different options. I'll keep the graveyard around throughout the time I'm building the map, and only delete the stuff there at the end.

Here's a zoomed-in view of the coast map. Pretty bare! Don't worry, it will look a lot better once we've filled it in.

This is a relatively unusual map in that there are no interior walls, leading to wide-open eyelines. Rifle users and mages will be especially powerful on a map like this, while melee fighters will suffer. At the same time, there are some areas with interesting strategic implications, like the walkway over the water. This is a key chokepoint that can limit movement through the map; a shaman who can lay down a barrier here could help control the flow of battle.

Next up is the phase I call "decorating". This is filling in the empty space on the map. The most important aspect of this is cover: adding items behind which combatants can crouch, making them harder to hit. But I'm also adding lots of items for visual interest and to break up the monotony of the terrain.

As noted above, I'm looking to the original location for inspiration, but my actual decisions are driven more by practical concerns. While the actual Land's End is pretty open and windswept, that would lead to dull (and dangerous!) gameplay, so I'm more generous with placing shrubs - they're evocative of the greenery here, if not completely accurate. (Whenever inaccuracies bum me out, I just remind myself that this is set 45 years in the future in an alternate timeline, plenty of opportunity for things to change.)

I have a lot of fun with the tunnels. I've always been oddly drawn to making creepy subterranean spaces in this engine, from the passageway underneath Club Antumbra to Mission Creek under the Armory to the Colma crypts. I take a different spin this time, using some of the Hell items from the Black Lodge in Glory's personal quest, together with classic Hive props from Dead Man's Switch and generic mystic supplies.

Okay, here is the map, all decorated. My final stage is what I refer to as "atmosphere": adding all the dynamic elements that help bring a map to life. This includes:

Ambient and directional lighting. I will often look to the official HBS campaigns for inspiration here. In this case, I want one coastal location during a thunderstorm, and one cave interior.

Dragonlines (leylines). Because this is a high-magic area, there will be relatively more of these and more powerful ones. A lower-mana zone would just have a couple of light lines.

Effects. I love these! By now there's a huge roster available. There are a few go-tos I include in almost every map, including FX Steam and FX Falling Sparks. But I'll always review all of them to see what else I can use on a given map.

Ambient audio. If there's a good region-level ambience available, I'll add it, but for this particular map I'll be customizing ambience later. However, for the first time in any of my campaigns, I am making use of the Ambient Audio Node, a nifty new gizmo from Hong Kong that lets you place local looping audio effects, including options to automatically adjust the volume as you approach. I've built a master list of all the ambience nodes used in the SRHK and SoHK campaigns, and will review it for each map to see what I can use.

Point lights. Here, too, I'll generally look to the HBS maps for inspiration. I've come up with some of my own conventions, like using violet lights above ambient magic FX. I generally try to space lights so that they slightly overlap one another, but it's OK if there are some areas that are unlit or have more lights.

Here's the map after ambience is added. It looks similar to before, because most of the new stuff isn't directly visible in the editor, we'll need to test in the game for that.

Speaking of which: time to test!

No matter how often I do this, I'm still impressed when I actually fire up the client and see my stuff running in it. It looks sooooo much better than in the editor window.

That said, there are still problems to fix! I spend this time running my character around the map and looking for issues. The most common problems are:

Prop clipping. This most often happens when you place one object in front of a wall; sometimes, half of the object will get hidden behind it. Usually you can see this problem in the editor, but occasionally it only manifests in the game. When that's the case, I can generally nudge it .10 units in the other direction and it will appear correctly. In drastic situations, I might move it to another location or remove it entirely.

Ugly seams. I've gotten better at avoiding these, and the more recent props from HBS are better as well. Lighting will often fix this problem: things that look awful in the default 128/128/128 gray coloring will look fine in a more realistic dark-blue light. Conversely, if it's being brightly lit by a point light, I'll try and drag it further away to draw attention from it. Sometimes, it's simplest just to drag another item in front of the seam, papering over the problem. And in the worst case, I'll go back to the drawing board and get rid of the original items, replacing them with something new. This is particularly true of roofs - I've learned the hard way that some roofs just look awful, and have come up with a list of ones that actually tile nicely without huge ugly gaps.

Blocked passages. Sometimes a wall's declared geometry will stick out further than it visually seems like it should, preventing you from moving past it. This usually just requires shoving things 1 unit to the side, though sometimes I'll shuffle around other obstacles to clear up space from the middle.

FX placement. Unlike props, which are immediately visible in the editor window, I can't really see where visual effects will render until they're in the engine. So I'll spend some time nudging them around to make sure they appear correct.

This particular test run had a couple of additional problems. If you played the video above, you may have noticed severe stuttering. That wasn't an encoding problem: the actual game got really choppy at that point. From previous experience, I suspected that a faulty FX was at fault, and sure enough, after removing it everything sped back up nicely.

I continue to test the scene over and over, checking each of my fixes until I'm happy with it. Or I should say "happy enough". There's always going to be some ugly stuff, but I've come to realize that most players won't even notice the things that can drive me nuts. Even the official Harebrained Schemes maps have lots of little glitches, which modders will immediately focus on but the majority of players will happily ignore. So, once things are looking about 90-95% right I sign off on it... those last few things will be too big of a headache to fix or have problems inherent to the asset or engine itself.

Once that's all done, I pat myself on the back and commit the map to source control, delighted that I am one step closer to being done working on maps. I'll probably need to make more adjustments in the future once I add the actual gameplay elements (enemies, NPCs, puzzles, etc.), but the hard grinding work of map creation is mostly done.

Okay, that's it for this week! This post was a lot longer than I expected. I'll try to continue to share relevant screenshots and stuff, but probably won't write as much for future updates. Cheers!