My Life In Neon

Sci Fi / Fantasy writer Autumn Nicole Bradley – Dream in digital, live in neon

Archive for the 'Writing' Category

27 January
0Comments

Trash Magic and Queer Love at Trashmance.com

Trashmance.com is now live!

Trash Romance is a serial romance fiction available for free at Trashmance.com. However, in order to keep it free for everyone and keep new updates rolling in several times per month, I need the support and patronage of folks like you.

From the patreon page:

The coolest thing about magic? Duh, it’s magic. The worst thing about magic? It’s magic. No one understands how the fuck it works. Yet for Mackenzie Chen, whose magic power is limited to manipulating the broken, cast-off junk of society, it’s hard to not feel the world owes her an explanation. Or an apology. But when she meets magical girl-turned-barista Natalie, she learns just how valuable broken things can be.

Contributors get access to a DRM-free monthly digest in any eReader format, as well as free copies of my other short fiction: “Mercy Killing the Dragon”, “The Last Warband”, and part 1 of “Parts: A Steampunk Tale of Love and Mechanomorphosis”.

30 May
3Comments

The “Your Enemies Don’t Have To Die For You To Win” Game Jam!

Your Enemies Don't Have To Die Game Jam June 7 to June 11

You don’t need to sign up. Just create!

Share or Reblog using the #CreativeConflictJam tag on twitter and tumblr.

If you need hosting space, you can find my email address on my contact page.

 

The Theme: Conflict with creative resolutions

(Alternative Theme: Consequences of the protagonist’s violence)

 

The Dates: June 7 – June 11.

(It’s a jam, so think about what you can do in a weekend. No guilt if you need to start early in order to finish in time; I want to make this accessible to everyone!)

 

The Tools: Anything you want.

Credit to Pauli Kohberger for this list:

  • TwineHub is a great place to start if you’re interested in playing and making Twine games. Its resources section is really helpful. If you want a good starting place, definitely check out Anna Anthropy’s Twine tutorial. Leon Arnott’s blog has some fabulous Twine scripts as well to add a little extra functionality, as well as easy to tweak CSS.
  • Ren’Py is a great visual novel engine, and it has a pretty good Quickstart guide on the website. If you want to do more complicated things or just make your game a little jazzier, I’m really fond of the Cookbook as well.
  • Need some music or sound effects? Try nosoapradio.us or Freesound!
  • Need art or fonts? Try Openclipart and Lost Type!
  • Yes, you can use concepts and artwork you’ve made in the past as a starting point!
  • Yes, you can collaborate!

Other options include:

  • Construct 2 is free for those who feel inclined to dive into HTML5 games
  • One of the most tried-and-true tools out there: RPGMaker! (I would personally love to see some examples of using JRPG combat mechanics in creative ways that are not combat as we think of it)
  • Or something else entirely!

The WhyDoom gave us conveniently inhuman, mindless hordes of monsters to kill. Wolfenstein 3D gave us hordes of mindless Nazis to kill, as though the average soldier weren’t human. Deus Ex made us choose between violence or stealth, and to Human Revolution‘s credit, there was the moral nudge of more XP for non-lethal “takedowns”. In CounterStrike the only way to deal with terrorists is to kill them, because their ideology is inherently evil and wrong, right? Bioshock and Spec Ops: The Line tried in vain to tell us violence and obedience are a choice while only allowing the player to kill to reach the end. Even JRPGs have elaborate combat modes. Their tabletop RPG cousins like Dungeons & Dragons focus almost exclusively on combat, even when stats are nominally available for conflict resolution without it. In Anita Sarkeesian’s latest video, Tropes Vs Women: Damsels in Distress pt 2, she takes aim at the way developers box themselves into a corner by making combat the core mechanic: keep swinging that hammer because this level is just full of nails.  Why do games make us kill the bad guy before we can call it winning?

This is where you come in!

[Edit 6/8/13: Correction to the title of Spec Ops: The Line.]

13 March
0Comments

The Neon Test – A Transgender Bechdel Test

This is a repost from my old blog

Inspired by yesterday’s Guardian article, I propose this reinterpretation of the Bechdel Test for trans people:

  1. It must feature a character that the audience knows is trans
  2. In a non-principal role
  3. Where their trans status is neither the source of comedy nor tragedy
19 January
4Comments

Reset: Code Snipets and Source

Node map of your apartment

Your apartment, as seen from above

“So, can I trust you with my source code?”

In the interest of sharing resources with others using Twine to create, here’s the code snippets for all the things that used javascript in Reset:

Color Changing

This is what is used to create the color changing effects. The passage they were placed in was called “Style Changer”. The macro layout here was modified from the Timer script by Stefano Russo (right click to download).

The macros were then called by <<display “Style Changer”>> <<typical>>, <<redgreen>> etc…

<<silently>>
<<set $StyleChanger = 
function()
{
 macros['typical'] =
 {
 handler: function(){
 document.getElementsByTagName("body")[0].style.backgroundColor="#333";
 document.getElementById("passages").style.color="#ddd";
 }

 }
 macros['redgreen'] =
 {
 handler: function(){
 document.getElementsByTagName("body")[0].style.backgroundColor="#333";
 document.getElementById("passages").style.color="#ddd";
 }

 }
 macros['cb'] =
 {
 handler: function(){
 document.getElementsByTagName("body")[0].style.backgroundColor="LightSteelBlue";
 document.getElementById("passages").style.color="DarkSlateBlue";

 }

 }
 macros['badcolor'] =
 {
 handler: function(){
 document.getElementsByTagName("body")[0].style.backgroundColor="#b38201";
 document.getElementById("passages").style.color="#009900";
 }

 }
}>>
<<print $StyleChanger()>>
<<endsilently>>

Prompt Box

Rather than just show off how to create a prompt box, this is the segment in which the result the user types in is actually used immediately to determine which of the color schemes should be displayed. Since the user is given one of the Ishihara plates and asked which number they see, the two common answers are 29(typical) and 70 (red-green deficiency), and I also included a guaranteed answer in case either they saw nothing or entered something other than the two options. This is from the “erozha gnuj” passage.

<<set $numberSeen = prompt('#?')>>Not-you see you. Not-noise.
<<if $numberSeen eq 29>>[[Two touch things. Five-and-four touch things.|typical]]<<endif>>
<<if $numberSeen eq 70>>[[Five-and-two touch things. No touch things.|redgreen]]<<endif>>

The useful thing to note about this is that you can use a variable collected in a prompt on the very same screen the prompt appears.

Alert Box

For the alerts, I wasn’t able to find a macro to simply display the alert. So I set it to dump the result into a variable which means it has to be evaluated as JS. You can find this in the “Plug it in.” passage.

<<set $alert = alert('Warning: Attaching device could allow unauthorized access to digital as well as biological function.')>>

I think(?) the value  $alert will evaluate to is true if the player clicks “Ok” and false if the user escapes/closes the box without responding. But I’m not certain on that.

Confirm Box

Ah, yes. Turning yourself over to Alison’s control. I wanted to use this moment to mimic the normal experience of having to explicitly permit a different user to use administrator or root privileges.

The way this works is that clicking “Ok” sets the value returned from confirm() to true, while clicking “cancel” or “X” sets it to false.

<<set $confirm = confirm('You are about to grant user [Administratrix] ALL access privileges. Are you sure?')>>
<<if $confirm eq false>><<display "wrong">><<else>><<display "surrender">><<endif>>

Again, just like with the prompt box, you can use the result of clicking “Ok” or “Cancel” right away. In this case, I have two other passages, and whichever gets displayed depends upon whether the user accepts Alison’s control or not.

Full Source

You can download the full source of Reset here.

With regard to the license, this was a tough one for me. 99% of the work of this lies in the writing, not the code, though the interaction between JS and Twee code makes some obvious things in JS not so obvious in Twine, which is why I wanted to share those insights here. As far as the “code” stuff, I don’t really have any particular attachment to it. Use the JS stuff as you see fit, since much of this is so trivial (from a development standpoint, not necessarily a learning standpoint) that protecting a function call under copyright seems a crass assertion of that power. The CC license is meant to protect the prose, setting, and story arc from unattributed use before I turned it loose.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Complete nodemap of Reset

Complete Nodemap

17 January
4Comments

Reset: Post Mortem

Rediscovering My Art

So, I can’t even start this without mentioning CYBERQUEEN by Porpentine. There’s really nothing I can say specifically besides this: it pushed all the right buttons in just the right order at just the right time to remind me of something terrible I had forgotten: I actually really love games and writing. For the past two years, transition and school have taken up so much of my focus that I, essentially, forgot why I love them.

Frankentwitter’s Game

This is the fateful tweet that started this game:

LifeInNeon: In the future, "I'll let you play with my source code" will be the ultimate offer of dom-sub trust

“I’ll let you play with my source code”

See, Reset started out as a bunch of ideas cobbled together from mostly-sometimes-joking replies to Porpentine on twitter. My usual conversations with her go something like this: Porpentine posts some decontextualized short-form genius, I invent a context and reply with an equally decontextualized statement that presumes we’re inhabiting the same context. Powerful emotions ensue, one hopes. Or just laughter, camaraderie, and the erotic validation that only nice hard faving can supply.

Then I have a moment of:

Other Lydia: Hey Lydia.

Lydia: Yeah, Other Lydia?

Other Lydia: We just came up with something really cool.

Lydia: *Blink* *Blink* *Scrambles to find a pad to scribble an idea fragment down*

The words are scrawled at an angle to the lines of the paper. It feels proper. It's your way of signaling to yourself that this was an idea you wished to be reminded of so you could develop it further in longer, with-the-lines writing.

Reset: the Crumpled-up note

In fact, there’s a scene in the game that reflects this:

I actually have a bin in my cube shelf just for collecting notebooks, note pads, torn notes, and all the other things on which I have scribbled idea fragments. (Fun trivia fact: the text of the note is from an idea I had nearly 7 years ago for a different story. It fit perfectly, and also foreshadows the situation the character is trapped in before the player realizes the nature of the trap.)

The inclusion of the note the character couldn’t remember the significance of was yet another idea fragment spawned by twitter banter:

 

The emotion of finding something you had written down but realizing it no longer means what it meant then

A very complex emotion

 

The Horror of the Transhuman World

My relationship to my body has changed a great deal in the last two years, but in doing so, it has also changed my relationship to the transhumanism movement. I grew up on stuff like Neuromancer, and the fastest way to hook me into your story was to provide a world where body replacement was feasible and accessible. Now, don’t get me wrong: I only see this as a trans thing in retrospect; back then, transsexual was not something I even remotely associated with myself—I just wanted to be free of my bodily limits entirely. However, these days, now that my body is sliding into alignment and *gasp* I actually like it from time to time, my pressing “need” for settings to include body replacement is gone, but in its place is a different need:

I don’t need body replacement to like your story, but if you include it, you must also tell a more mature story.

If you simply project modern day forward and add this one aspect, I want to hear the stories of the people who don’t have access to all the cool stuff because capitalism has prevented them from getting it, or the ways in which enhancements become tools of exploitation to serve the needs of the still-at-the-tops. I want to hear the stories that don’t just sweep disability away by saying “we fixed that”, but rather the stories that talk about the new disabilities created by technology when someone comes a long that it doesn’t work for (after all, every disability arises in a social context) .

So I spend a lot of my time these days fantasizing about the nightmarish horrors of the transhuman future, not the idealized dreams. Dreams are easy. Horrors are hard to face, and if we don’t, they’ll be what we get.

But there’s another aspect of meditating lovingly on the horrors. For some of us, the belief that we can overcome these nightmares keeps us looking forward to this future. This game is not meant to be a Luddite warning that brain hacking is too scary of a possibility and therefore we should halt all progress (impossible, but folks try). I do not raise the spectre of the worst that can happen in the hopes of frightening others away from the future. If I’m being candid, in this hypothetical future, I imagine the absence of scarcity will remove much of the threat of unwanted violation, such that violation as expressed in the game becomes an erotic and dangerous but ultimately recreational act engaged in consensually,  not a selfish or criminal one.

Simultaneously, I’ve been playing a lot of Deus Ex: Human Revolution. So I have a lot on my mind regarding the shortsightedness of Get Augments -> Become White Upper-class Demigod Corporate Enforcer in a setting beset by racism and poverty, and virtually defined by the way everyone except the player needs a drug, Neuropozine, just to survive. I had a very involved conversation recently with Merritt Kopas about that very shortcoming. So that genre was already tumbling around my head when the Big Chaos Twine Jam came along. (I’ve also been working on another game that deals with this: Cuts, which I hope to finish by the end of January, that deals directly with the issue of access and affordability in the era of print-on-demand organs.)

The Mechanics of Sensory Control

One thing I wanted very much to include in this game, as fitting with the “mind got wiped in a cyborg kink scene” theme is the idea that when a person’s brain computer got switched back on, it would need to be recalibrated. With a text based game and no 2D art talents to speak of, I had a limited palette of senses to play with. I chose to focus on two: color vision and language.

Luckily, one of the themes of the challenge was CSS formatting, so I decided to use some fun javascript to alter the colors on screen throughout the game. I chose to make the text onscreen deliberately difficult to read before the calibration takes place, and the color scheme makes it even harder for people with red-green color deficiency to play without highlighting the text on screen. Very early in the game, I alleviate this strain (I made it the first recalibration so as not to go from immersion to punishment of the player), and I do so using one panel of the Ishihara test. A pop-up box appears asking for what number the player sees, and depending upon either of the typical answers (29 for full color vision, 70 for those with r-g deficiency, nothing for full color deficiency) it recolors the game to something more tolerable.

The macro for the color changing:

<<silently>>
<<set $StyleChanger = 
 function(){
     macros['typical'] =
     {
          handler: function(){
          document.getElementsByTagName("body")[0].style.backgroundColor="#333";
          document.getElementById("passages").style.color="#ddd";
      } 

}>>
<<print $StyleChanger()>>
<<endsilently>>

The CSS for anchors (links) and backgrounds were set to “inherit” from the body and from the passages, so changing one background and one text color overhauled everything relevant. Since Jonah loads the page once and just fills in the passages <div> each time a new passage is loaded, styling it once each time does it for the entire page until the next time the player hits a style point.

Update: For those looking for more code snippets from the game, I made a followup post here.

I used a reversed rot-13 cipher to garble the text and simulate aphasia. I chose a cipher instead of simply random text strings because language has a structure, and just because the character doesn’t understand the language being used doesn’t mean that structure disappears. I have auditory processing problems; occasionally people speaking to me sounds like wordless babble. I could even repeat the words back to them, but they have no meaning. So I occasionally have to ask people to repeat themselves even though they might be the only person in the room with me and no other sounds to distract me. But there’s still some sense of meaning that gets through: I still understand tone of voice, I still understand that I am being spoken to and not the wall, I might have an inkling of the subject being discussed. But the words themselves are incomprehensible for a few seconds. Like a mental hiccup. So I leaned on another test: the Rorschach test, to “re-align” symbolic language processing, allowing the player to freely input whatever they saw in the ink blots.

I wanted to simulate that experience of aphasia: the words being said by the doctor still have a structure and a meaning; there is still a purpose and if the player chooses, they can actually use a translation tool to decipher the text. It’s just like I have to in my real life: I think about what was said to me, playing it back from memory like a recording, and “re-hear” it, just as the player must (if they are dedicated) re-read it to translate it.

Likewise, the narrative has a greatly reduced vocabulary palette to choose from: concepts like “touch-thing” for finger, or “not-you” substituted for any person that you recognize isn’t yourself. It felt incongruous to use a full linguistic spectrum when simulating a scene in which the character-as-player-as-character has no access to their words. “What would it be like to be reduced to the vocabulary of a 2 year old?”

The color vision one is dipping into dicey territory because unlike the language, I do have full color vision (and from what I’ve been tested, on the high end of my ability to discriminate colors). So I absolutely could not go forward with that in the game without providing a safe way out: there is a color-fuckery-free way to play the game because as hard as it is on those with full color vision to look at the absolutely garish color palette, it’s even harder on those with color deficiency. Likewise, the intended compensation mechanic—using the mouse to highlight the text—is not available to players who play on many touchscreen devices or who have difficulty manipulating the mouse. (Full disclosure: as a stimming method, I compulsively highlight and unhighlight any text I am reading, so it still forces players to play as I would in a roundabout way.)

The Kink Metagame

Both of these things constitute a metagame layer: the game is playing with the player as much as the setting is manipulating the player character. Since the second-person article “you” is used throughout, it seems appropriate.

That makes the kink scene a lot more complex, because I’ve already established a dialogue with the player that they are in fact the one experiencing what the character is experiencing. I wanted to provide incentive to keep going with the kink scene: the further you go, the more the story gets revealed in memories. Likewise, to emphasize the submission and control held by the Administratrix, I realized I could undo the re-calibration done at the beginning. This also bookends it, giving the sense that it was a scene like this one that led to being in the hospital in the first place. Indeed, one could end the game on that belief when it loops back to the beginning.

The Safe Words and the True End (SPOILER ALERT)

Because of that metagame layer, because the game was telling the player they were experiencing the kink, I wanted to provide the player as much as the character a safe way out. So I made the choice to make everything from beyond the beginning of the kink scene entirely optional. Like kink off-screen: it’s there if you enjoy it, but if you don’t, no worries, mate. Likewise, it ends when one of the players says it ends.

Therefore: the safe words are always available to the player from the initiation of the kink scene to the end.

If a player ends at the initial loop back, thinking the Administratrix reprogrammed their head and put them in the hospital, I think that is a satisfying-ish ending as a story, but it says some deeply fucked up things about kink (or what folks might think I feel about kink).

It was very important to me that the game actually end without it being some nefarious plot: there was no murder, no jealousy, no cheating, no revenge fantasy, or any of that. It ended when the player/character said it ended, and reaffirms the trust placed in the Administratrix. If anything, I feel I was a little rushed with the ending and may not have provided enough aftercare in the form of confirmation that the player/character is back in the “real” world.

Recursion, Foucault, Soc1ety

Obviously recursion is a big deal in this story. The player/character is breaking out of consecutively deeper loops until they arrive at the real world. This is echoed by the very safe phrase used: turtles all the way down, a concept of cosmic recursion when one postulates that the universe rests on the back of a turtle. What’s the turtle standing on? Well, it’s turtles all the way down.

If you haven’t read anything by Foucault, you probably should. If you enjoyed this game enough to reach this line of this post mortem, you ought to know what the man had to say about the nature of power and control and structures to maintain them. Even if you can’t get through his full-length works (guilty), get the notes from someone who has. And grab a strong drink and prepare for some soul-searching on how to get by in such a deeply fucked up world.

Soc1ety is, of course, a panopticon qua social network service accessed through one’s headware. The analogues to it in our present world should be obvious. But I had to include it, since this entire game was spawned by a transhuman version of “Hey everyone, I lost my phone. PM me your number!”

Thank you

I’m glad you enjoyed it as much as I enjoyed making it.

Much love. Take care of each other. <3

_-*

15 January
11Comments

Reset: A game by Lydia Neon

Screenshot of Reset by Lydia Neon

Play Reset

Reset is a game about the bizarre, frightening, and exciting possibilities for kink in the cyborg / transhuman future.

Who can you trust with your source code if you can’t trust your Administratrix?

Reset was created with Twine as part of the Big Chaos Twine Jam.

 

Play Reset Here

 

 

09 May
1Comment

How to beat writer’s block: Headline Plotting and Setting Development

Headline plotting is a technique I’ve developed for my own writing that has helped me connect setting to plot, and is something of a Swiss Army knife of plot. The technique has its roots in tabletop roleplaying games and creating “plot hooks” for quests and events, which I’ve adapted to the sphere of novel writing.

I created it out of necessity (like all great inventions, muahahaha!) when I reached a roadblock in Root of the First that sent me back to replot the book from the start after writing 300 pages of it. Part of the problem was that the setting felt very flat, and some of the events felt very “generic.” Background actors were faceless, stock characters and events felt very arbitrary. I needed a way to flesh it out based on the setting I’d created.

Setting Details

Setting is often described as being the backdrop against which the story takes place, like a text skene that only exists to prevent the real world from cluttering up the story. After all, say what you will of outdoor theatre (Shameless plug for the American Player’s Theatre here), who would want to see King Lear being performed if there was nothing to block out the view of the highway in the background? A tightly controlled setting keeps the unnecessary “stuff” in the world from getting in the way.

But without enough world detail, the events take place in a vacuum. Which setting details are worth keeping and which can be cut generally boils down to: does the protagonist or their main opposition interact with it, or does it have any consequence on the way events play out? If not, realize that it exists solely by author whimsy and not plot necessity. Some whimsical color is essential. But note the word “some” in that sentence.

So how do you create setting elements that intersect with the plot and justify their existence while making your world unique, vibrant, and lifelike? Headline plotting.

Headline Plotting

Put simply, headline plotting is where you brainstorm all the events going on in the world in which your story takes place. Whether it’s a headline in a local news story or a world shaking event, it doesn’t matter. It’s important. Here are some of the examples I came up with for Root of the First:

  • A woman claiming to be a scion of the Raven Clan has staked a claim to the Raven Throne
  • Labor disputes in Laes have sparked a rebellion
  • Rumors that the Duke of Deyledd is terminally ill has led to a succession squabble
  • Piracy in the waters off of Ca’grw has all but shut down trade with Veniea
  • A show of wonders has arrived in New Ca’grw and is open for business

Canny readers might recognize the first of these as a major point of contention in book 2. I knew I wanted book 2 to be about Calis’s struggle to gain the throne, but creating a true rival for her (rather than just generic opposition) makes that struggle far more interesting. The rumors about Deyledd’s illness allowed me to put a face on some border raiders. Instead of just attacking travelers indiscriminately, they are now intentionally destabilizing Deyledd to aggravate the succession struggle enough that its neighbors can take over a contested piece of territory.

The advantage to creating setting like this is that it ties together both the where and the what happened. If I were to describe Deyledd as a duchy, and indulge in flowery narrative about its pastoral landscapes, it would get dull very quickly. Deyledd is now a place where things happen. The succession struggle in Deyledd becomes the problem of the characters in the novel when those border raids catch them in the middle.

“Random” Problems – Applying Headline Plotting

Consider the following story: Steve is driving to work and can’t be late. We have two connected plot/setting elements here: Steve has a route to his destination, and a deadline. Presumably, to keep the tension high, he has just enough time to travel the route and get to work on time. If we say he is just starting a new job after having been fired from the last two for being late, we’ve added pathos but we haven’t added tension. The problem is still the same, and the difficulty is still the same. All that’s changed is we’ve added intensity to the motive. Raising the stakes is important, but it has precisely nothing to do with actually challenging the character.

So let’s add a challenge. But what? Let’s brainstorm some headlines.

  • Now that the rain has let up, the 18th Street bridge is being shut down to begin seasonal repairs
  • A person was shot on the corner of Lexington and High Ave and police have blocked the street while dealing with the situation
  • The depressed economy has led to the city implementing a massive budget cut for all police officers, firefighters, and teachers. As an act of civil disobedience, the police have used their squad cars to escort a massive protest march through the street Steve takes to work

Any one of these both explains more about the world Steve finds himself in, shows that the unpredictable events of the world can and do affect Steve’s life, and they do so in a way that does not make them “feel” arbitrary.

There’s a reason for these things happening. In our plot, the reason they happen is that Steve needs to be late for work and lose his job to kick start the novel. In our setting, though, the reason for their happening is what makes them feel genuine.