It’s hard to believe that William Gibson’s seminal book Neuromancer was first printed thirty years ago in 1984. Neuromancer gave the world the term "cyberspace" and created an entirely new genre of fiction known as cyberpunk. I remember reading this book as a young boy and being utterly entranced by this vision of the future that was so new and yet so utterly believable.
Neuromancer was a bestseller and its overwhelming success painted Gibson into a bit of a corner. After finishing two sequels, he felt he wanted to explore the more immediate future instead. In the mean time, the world was catching up to Gibson’s original vision. At some point the two converged, and Gibson wound up writing very interesting novels about the present while the world raced on to an uncertain future. On one hand, it was fascinating to note that we largely live in the world of Neuromancer (in broad strokes if not in actual details) but on the other hand I missed having Gibson’s view of what was to come.
With the release of The Peripheral, Gibson has jumped strongly back into speculative fiction, and the result is spectacular. As if to make up for lost time, The Peripheral includes not one but two futures, one set in the 2030s and the other about half a century later. A group of people in the far future manage to find a way to communicate digitally with the near future, and through advanced "peripheral" technology (essentially a biological avatar) they manage to bring people from the past to their present.
I almost didn’t want to write that much in this review, because knowing too much spoils some of the fun of reading it. I had deliberately avoided all reviews before buying my copy, so I went into it completely unprepared. Gibson doles out information in tiny morsels as the story goes along, which gives the reader a delightful sense of slowly coming to an understanding of both worlds. Initially, I wasn’t even certain that there were two realities, but I did feel like one set of characters were living in a world not too far from our own, whereas the others were living in some crazy world that made no sense at all. I loved piecing all the clues together at about the same rate as the characters were doing.
Speaking of the characters, the young heroine Flynn Fisher is one of Gibson’s most well-realized and relatable protagonists. While she is caught up in a whirlwind of shifting forces that she has little control over, she also manages to take initiative and make her own choices. The protagonist in the far future, Wilf Netherton, is a wonderful bundle of contradictions who accepts that his role as a Public Relations agent is really to be a professional liar.
The story itself, like the best science fiction, is a cautionary tale for our current society. It shows us two worlds that could very well arise from our own, and the inhabitants of both worlds long for things to be different than they are. The Peripheral is Gibson’s finest writing to date, and I can’t wait to read it again.
I remember the exact moment when I realized I was over World of Warcraft. I had been trying to get the "What a Long, Strange Trip It’s Been" achievement on my Mage character, which involved completing multiple "holiday" achievements that had to be completed within a certain time frame. I had only one thing left to go, which was to capture the flag in a Battleground during Children’s Week while I had my orphan tagging along.
World of Warcraft contains a lot of stuff that is basically nonsense, like this quest. I guess you could call it a "take your kid to work day" for heroic fantasy adventures. But I couldn’t do it. I kept dying over and over again, and I missed the window. I realized that to get the main achievement I would now have to wait an entire year until the next Children’s Week came along.
There were a lot of things leading up to my leaving the game, but that was the last straw. I cancelled my subscription.
I had been playing World of Warcraft for about five years at that point, and I felt I’d done everying I could do in the game. I’d quested, levelled up professions, explored the world as a Death Knight riding a goblin motorcycle, did player-versus-player combat in both the open world and in ranked battlegrounds, ran dungeons and a few raids, and lastly tried to get all the seasonal achievements. I had over a dozen characters strewn across multiple servers. It felt like it was enough. At some point, all games have to end, even MMOs.
But Blizzard managed to suck me back in with their latest expansion, Warlords of Draenor. It’s chock full of Warcraft nostalgia-- the main plotline involves going through a new Dark Portal to a Draenor that hasn’t been destroyed, thanks to some time-travelling intervention by the outlaw orc leader Garrosh Hellscream. The weird thing is that if you still have some lower-level characters (like I do), the old destroyed Draenor from Burning Crusade is still there, accessible through the old Dark Portal, as if time had never been altered. Maybe it’s a quantum thing. Trying to figure out all the lore of the game over its ten-year span is enough to make your head hurt.
The biggest and best new feature in the game is the garrison. This is a base that you get to construct on the new Draenor that is evocative of the old Warcraft Real-time Strategy games: you start with a Town Hall and build a Barracks, and even though the building time is stretched out over many days, it still feels a little bit like Warcraft III.
Blizzard has this amazing ability to keep refining tiny little details that improve the player’s quality of life. For example, you always used to have to hover over junk that you retrieved from dead monsters to see if it was, in fact, junk. Now, anything that can be sold to a vendor and has no other use is marked with a tiny little gold coin on the icon. In the past, you had to group up with other players even if you just wanted to kill a single elite monster in the open world. Now, if you happen to be fighting the monster and someone else joins in, you both get the credit and get the loot automatically.
It’s like coming back to a country that you last visited three years ago, and finding that everything is just a little bit nicer and a little bit easier to get around in.
I’ve missed being here. It feels nice to be back.
Last week I read an abolutely amazing article on retro computing. The author took a trip through the world of emulation, making stops at significant signposts in computing history such as the Amiga, LISP machines, and the NeXT computer. In doing so, he also found a way back to his childhood. I was deeply moved by this article and it inspired me to do a little emulating of my own.
But first, a little backstory. My father introduced me to computers for the first time, teaching me the basics of BASIC when I was just six years old, sitting on his knee in front of a terminal connected to the VGH mainframe. But it was my uncle, Allan Symonds, who provided a portal to personal computers. He had a mysterious all-in-one machine called a Heathkit H-89, and I fell in love with the big grey beast. I remember, with perfect clarity, one morning in December of 1979. We had celebrated Christmas at Uncle Allan’s house, and I had spent most of my time on the computer. My father tried to tell me we had to go. I pleaded for more time-- when else would I ever get to use this computer again?
"You can use it again when you get home," I my father said. "That’s not Uncle Allan’s computer. That’s your computer."
My jaw dropped. My seven year-old brain couldn’t even comprehend it.
But it was true.
I had that Heathkit between the ages of seven and seventeen, and I absolutely loved it. It was an oddball sort of computer, running an operating system called CP/M by this tiny company known as Digital Research. There weren’t that many games for it: my uncle gave me copies of Space Invaders, Missile Command, Space Pirates, and a Pac-Man-like game called Munchkin. Those were almost all the games that existed for that machine. I wanted more, but I figured I would have to write them myself. This was hard. I tried to learn assembly language, the only language fast enough to write games for such a slow machine, but I didn’t have the patience. I tried to learn C and Pascal, but compiling a simple "Hello, World" took about twenty disk swaps in the single floppy drive. There was only one language that I felt I could work with, and it was one that I already knew. It was from a tiny company as well, an outfit known back then as Micro-Soft.
Micro-Soft’s BASIC, or MBASIC for short, was an interpreted language that only took up about 25 kilobytes out of a 95 kb floppy. That left plenty of room for a game, but there were drawbacks. Being interpreted meant it was slow. Extremely slow. Fortunately, the manual had all sorts of helpful hints for increasing speed, such as typing DEFINT A-Z to force all variables to be integers. Who had time for floating point?
I figured out other optimization strategies over time. The Heathkit was a monochrome machine, and it had no bitmapped graphics. Instead, you could use a special escape code, CHR$(27);"F", to go into "graphics mode". In this mode, lower-case letters were displayed as a series of shapes: "y" was a diagonal line, "p" was a small rectangle, and so forth. You could use "reverse video" to flip the shapes’ pixels between light and dark. Other escape codes let you position the cursor anywhere on the 80 column by 25 line display. It wasn’t much, but it was enough to make crude games, and that’s all I ever wanted.
I asked Uncle Allan for help with writing my games in BASIC, and he taught me all about the Main Loop, the basic structure of all game programming that is still around today. Thanks to him, I was able to move on from just drawing pictures and start writing actual games.
I started many games in those years, but I finished relatively few. One of the ones I did finish was a Star Trek game where you commanded the USS Enterprise through a galaxy full of angry Klingons. It was insanely difficult. You had to time your commands perfectly to raise and lower shields, maneuver at impulse and jump to warp speed. Klingons would swarm you and could hit you from any direction, whereas you could only shoot forward. Even with your shields up, if you got hit you would lose energy, and if you ran out of energy you would die. If you tried to quickly warp out without knowing what was ahead of you, you would probably run into a star.
I remember beating it with great difficulty back then and feeling quite proud of myself. I can’t beat it today without modifying the code to make it a little less insane.
One of the last games I ever wrote on the Heathkit was based on the TV show Max Headroom, a series that I was completely in love with back then and still am today. I only ever completed the first stage: a daring helicopter run to Network 23. I wanted this game to have the best graphics I’d ever seen on a Heathkit. I wanted three-way parallax scrolling, so the buildings in the foreground would scroll more quickly. I wanted the helicopter to be superimposed on these scrolling buildings, and gunfire on top of that.
This was completely impossible and insane to even think about doing in interpreted BASIC on a 2 MHz 8-bit computer that was driving a 9600 baud terminal as its display. To the best of my knowledge, nobody ever did graphics like this on a Heathkit, not even using assembly language.
But I found a way. I used the terminal’s "delete" functions to scroll as fast as the display was able. I stored the buildings and the helicopter in string arrays, and defined them at the beginning of the program so they would be faster for the interpreter to recall. I only repainted bits of the helicopter that were broken by the scrolling boundaries. I cheated a bit and paused the action when the gun fired, then repainted the building bits.
It was a bit slow, but it was a fully functional game. You would want to stay at a high altitude to avoid the guns, but nearly-invisible barriers forced you to fly lower. Your best bet was to wait for the gun to fire, then fly up and right as quickly as possible. The gun would move in an arc, so you could anticipate where it would fire next.
Not long after I wrote this game, my Heathkit died. The company itself went out of business, so repairs were impossible. I moved on to PCs, running an operating system called DOS that to me looked strangely familiar. All my old games were stored on decaying floppy disks, and I thought I would never get to see them run again. Decades passed, but I hung on to those floppies out of nostalgia if nothing else.
A couple of years ago, I found a H-89 emulator written by Mark Garlanger. I emailed him and he told me he had some success recovering images from floppy disks, so if I would like to mail him mine he would try to save what he could. I didn’t hold out much hope. I remembered my Heathkit would have problems reading disks after a few years, and it had been decades. But I mailed them out anyway.
Mark was able to recover almost 95 percent of my data.
My grandfather died in 2001, and I saw my uncle at the funeral. My father died a year later, and I didn’t see Uncle Allan there, or any time since. I have been unable to get in touch with him. The Internet and even close family members have come up with nothing. He might still be alive, but with each passing year I start to doubt it more and more. All these important people in my life are disappearing one by one, and there is nothing I can do about it.
But thanks to Mark, those years of my life, the results of all the things my father and my uncle taught me, are preserved forever with perfect fidelity. It is as if no time has passed at all. My awkward teenaged self is calling out to me, wanting to show me this cool game he just made. I wish I could call him back and tell him that everything is going to be all right, that he’ll find his way eventually, that he’ll find the love of his life and he’ll get to write novels and work for game companies and have a good life.
But maybe, somehow, he knows.
I was watching some of the PAX Australia panel footage on Twitch this weekend and caught a great stream with the BioWare team. These guys have made some of my favorite games, such as Neverwinter Nights and the Mass Effect trilogy. But as I was watching the panel I noticed something: these guys were definitely guys. Every single panel member was a white male in his mid-to-late thirties. I thought back to a panel at VCON that I had attended about Diversity in Sci Fi and Fantasy. The discussion was about how much richer life could be if we heard from a variety of different voices. Was there any diversity to be found in video games?
As if the BioWare team had heard my thoughts, one member replied to a question about his favourite gaming storytelling with a list of indie games, including "Analogue: A Hate Story". The title immediately intrigued me, and when I found out it was about a deep-space exploration mission to uncover log files from a dead, centuries-old generation sleeper ship, I was already hooked. I couldn’t get on Steam fast enough to plunk down my $10.
The gameplay in Analogue: A Hate Story switches between a Unix-like command-line interface, a log-file retrieval system that pulls out old email messages, and click-based interaction with a sentient artificial intelligence, represented by a young woman drawn in an anime style. The AI appears to be helpful, but she won’t show you all the emails at once. Instead, you have to sort through the ones that do appear and "present" them to the AI. She will then fill you in on the background details of the people inovlved and in most cases will open up additional emails by the same author.
I won’t give away the ending, but I will say that it presented a society gone horribly wrong in a completely different way than I’ve ever seen in a video game. The standard plot for these "dead ship survival horror" games is that either an AI or a mad scientist (or both) decided to play God and unleashed a technological or genetic horror that destroyed the society. Nothing like that happened here, but what did happen was more personal and far more shocking.
Having completed the game in a marathon setting on Sunday, I found myself craving more. I found the author’s website and it took me to one of her earlier games: Digital: A Love Story. This had a hook that got me instantly. The game is played in a simulation of a 1988-era computer (a mash-up of a Commodore 64 and an Amiga called the "Amie") and the player interacts through dialling up a modem (complete with historically accurate connection sounds!) and connecting to various BBS (Bulletin Board Systems) to uncover a story involving a woman named Emilia. The use of historical events, like the Arpanet worm, grounds the story in reality at the same time as it ventures off into the fantastical. The use of message board posts and private messages adds an immediacy to the game-- sometimes a character will reply to you as soon as you navigate to another part of the BBS! I can’t say much about the ending other than the fact that I actually cried, and it has been a long time since a video game has moved me that much.
The author of these games, Christine Love, is a young woman who is a gamer and who identifies as queer. Her writing is informed by her background, but her voice is so powerful that she is able to create brilliant works of art that have profound emotional impact for anyone who plays them. She is a shining example of how diversity in creative voices enriches us all.
Analogue: A Hate Story is available for $10 on Steam for Windows, OSX and Linux.
Digital: A Love Story is a free download and is available for Windows, OSX, and Linux.
If you’re in the area tomorrow, why not stop by at VCON, the Vancouver Science Fiction, Fantasy, and Gaming convention?
VCON is an incredibly fun little convention that is celebrating its 39th yearly event. It’s held at the Sheraton Guildford Hotel in Surrey on Friday, Saturday, and Sunday (October 3-5).
I’m going to be on two panels on Saturday: The Future of Gaming (at 12:00) and Secrets of the Game Masters (at 2:00). This is the first time I’ve ever been on any convention panels, and I’m really excited! It’s going to be very cool.
Hope to see you there!
Over twelve years ago I had a dream. I had all these ideas bubbling up inside of me from a lifetime of reading and watching science fiction, and I wanted to make them come alive in some form. I dreamed of writing an epic trilogy that would follow the adventures of heroic space pilots fighting an evil alien enemy.
Today, at long last, that dream has been fulfilled.
Beyond the Expanse is the final installment of the Masters trilogy. It is now available on Lulu.
While the novels are, at their heart, fun and escapist sci-fi entertainment, there are deeper themes than simply the good guys winning over the bad guys. The characters struggle against their own fears and weaknesses, and they take time to think about the ramifications of their actions. The enemy aliens (while definitely evil!) have problems of their own, and some of them rail helplessly against what their once-proud society has become.
Ultimately, the trilogy is about the triumph of hope over fear. It is about how very different people can overcome their mutual mistrust and learn to work together for the betterment of everyone. And it is about how even the smallest people can make a real difference in the universe, simply from the choices that they make.
I hope you enjoy the book.
Gone Home got a lot of positive press when it was released last August, but many people bristled at the idea of paying $20 for what was ultimately a very short, if innovative, gaming experience. Yesterday I picked it up on a Steam Sale for $2.99 and enjoyed every minute of it. While I finished the game in a single evening, I found myself still thinking about it the next day, and I suspect I will continue to mull it over for some time to come. There is depth in this game, and artistry. The developers clearly had something to say, and they communicated their message in a new and unique way.
The game begins in June 1995. You are a female protagonist, Kaitlin Greenbriar, returning home after a year-long trip to Europe. When you get home, there is a note on the door from your younger sister, Sam, saying that she was sorry she couldn’t meet you. Your parents are nowhere to be seen. The combination of an empty house, flickering lights, and a howling storm outside creates a spooky atmosphere. As you move through the house you are tempted to turn on every possible light and leave them on. There are no other people to interact with in Gone Home, but a story is told through voice-overs from your sister Sam that trigger when you examine certain objects. Whether these are simply letters that Sam wrote or tapes she recorded isn’t entirely clear, but they serve as the backbone of the story. In addition to these voice-overs, there are tons of little clues strewn throughout the house: letters, invoices, detention slips, and so forth. Many objects can be picked up, examined, and even moved around the house, but only a few have significant meaning. I found myself picking up pens from drawers and leaving them on top of tables, just for fun.
As you proceed through the house you end up unlocking new sections and learning more about your sister and your parents. Your father once wrote a couple of science-fiction books involving time travel and the assassination of JFK, but fell out of favor with his publisher and ended up doing contract work writing reviews for a consumer electronics magazine. As an aspiring novelist who pays the bills as a technical writer, this resonated with me. Sam is also an aspiring writer, as you discover when you find ever-evolving stories from various point in her childhood. You also learn about Sam’s growing and complex relationship with her friend Lonnie, which becomes the driving point of the narrative.
The puzzles in Gone Home are fairly easy to solve. This isn’t like the adventure games of old where you had to find the blob of guacamole and attach it to the rubber chicken with the pulley in it, just so you could get past the annoying clown. Instead, the game rewards slow, thoughtful exploration. There are tons of objects to find in each room that give more background information about your parents and even the original owner of the spooky home. It turns out that the family had just moved into the house (packing boxes are visible everywhere) while your character was on vacation, so it makes perfect narrative sense that your character would be exploring the house for the first time. This brilliant move puts you and your character on the same footing, making the experience even more immersive.
The choice of 1995 as the time frame for the game was a deliberate one by the designers, as that was the last year before information technology became ubiquitous in family life. This also makes the game a great nostalgia trip for finding all the trappings of mid-90’s life that have since vanished: tape cassettes and recorders, VHS tapes and VCRs, Super Nintendo, and answering machines.
I loved every moment of Gone Home. Although the flash sale is over, it’s still only $4.99 from the Steam Store, and it runs on Windows, Mac OSX, and Linux, so there’s no excuse for you not to play it!
I love science fiction in all of its forms: books, movies and TV, and video games. I grew up reading Asimov and Clarke, loved 2001 and Star Trek, and spent far too much time playing Space Invaders and Asteroids. In the decades since, each form of media has influenced the others: first awkwardly (like the CD-ROM "interactive movies" of the 1990s and the painful video game movies like Super Mario Bros) and then later more cleverly and subtly.
Edge of Tomorrow feels like a movie that is so well-executed, with all three mediums blended together so seamlessly, that it may be the perfect science fiction film for our age.
The movie stars Tom Cruise as Major William Cage, a "media relations" officer who wants desperately to avoid actual combat. Unfortunately for him, the world’s military is preparing for an invasion of France in order to push back alien "Mimics" who have overrun Europe. The surly General Brigham (Brendan Gleeson) doesn’t much like Cage’s type of officer, and railroads him so that he ends up at Heathrow airport, assigned to a squad that is getting ready to land on the beach with the first attack wave.
Although the attack was meant to be a surprise, the Mimics are ready for them and the soldiers come under heavy fire. Cage, who has has no combat training, is unable to even take the safety off of his powered battle suit. He and the rest of the misfits who make up "J Squad" are overwhelmed by Mimics and quickly killed. Cage manages to take an unusually large blue Mimic with him by exploding a mine, and dies with the alien’s blood on his face.
He wakes up at Heathrow airport again, seemingly transported a day back in the past, although he remembers everything that has happened. He is unable to avoid his fate, however, and ends up shipping out again and getting killed again, albeit in a slightly different way. At this point the movie starts turning into a much grittier version of Groundhog Day, with Cruise taking on Bill Murray’s task of trying to figure out a way to escape his predicament. In one of his loops he runs into Sergeant Rita Vrataski (Emily Blunt), a military heroine who had led her troops to humanity’s only significant victory against the Mimics in Verdun. Before they both get killed, she tells him to seek her out when he wakes up.
The rest of the movie involves the two soldiers trying to work together to figure out why Cage is time-looping and how they can use that information to fight the Mimics. Because of the military and science-fiction theme, the repeating day mechanic starts feeling less like Groundhog Day and more like the feeling of playing a difficult video game where you have to respawn at the beginning of the level. Director Doug Liman said in an interview that the parallel was intentional, explaining that the movie is just the latest in a series of video game-inspired films he has directed, starting with The Bourne Identity.
Edge of Tomorrow is based on the Japanese young-adult novella All You Need Is Kill. The film keeps most of the character and plot elements, although it transfers the setting from Japan to England and France. It’s a solid science fiction flick with everything you might want: aliens, time-travel, and futuristic soldiers walking around in advanced battle armor. Despite the fantastical elements (such as time travel) it remains science fiction because it attempts to explain these effects through scientific principles and not supernatural intervention. The writing is crisp and the actors (particulary Emily Blunt) are believable and human.
I saw the movie yesterday with my wife, father-in-law, and brother-in-law. It was the perfect Father’s Day activity and everyone enjoyed it. Definitely worth seeing.
That side panel on the left of my blog continues to taunt me. Beyond the Expanse! 100% Complete! Now in Editing!
It’s been in editing for months. I think I’ve edited about five pages so far.
My excuse is that I’m tired from my job. Working at DemonWare has been a thrilling roller-coaster ride so far. I’ve never had the pleasure of working alongside so many smart people. There’s an endless amount of interesting technical things to learn, and an endless amount of things to write. This is a company that has grown explosively over the last few years and they desperately need someone to tame the mess of information that they’ve created.
So desperate that they’ve renewed my contract for another six months.
I’m thrilled, naturally, but a part of me wonders if that damn sidebar on the left hand side of my blog is going to have to sit idle even longer.
Up until now I’ve felt that all I could do was come home from work, eat dinner, maybe watch a bit of TV, and then collapse into bed. It’s an easy excuse. This is a demanding job at a company that demands top performers and gives them top salaries and benefits to match. With these demands, surely I need to conserve my mental energy to be able to give my best work, right?
And yet I wonder.
Every day I come home and I don’t work on my personal projects, I feel like I lose something of myself. And if I keep losing myself, won’t that just lead to a diminished soul, and thus a diminished work performance?
So I’m trying something new. Every day, for as long as I can keep it up, I’m going to do something creative for myself. It could be writing, it could be editing, it could be anything. Today is the first day, and I’m writing this blog post. It’s not much. But it’s something.
There are a lot of excuses for not working on your dreams. But not very many good ones.
I’ll see you tomorrow.
More coffee is always better, right?
It’s a new year, and Jeremy and Terry have a lot to catch up on! Jeremy has a new job, which is very exciting, and even includes free food! Then the disussion turns towards Jeremy’s new NaNoWriMo novel, "The Last Bonjwa". While consuming vast quantities of coffee, Jeremy and Terry discuss everything from fixing plot holes to improving the cover.
Links from the show:
<li>Onomatopoeia at The Free dictionary</li>
<li>My new company, Demonware!</li>
<li>Renderosity - for commercial 3D models</li>
<li>New laser printed material, lighter than water, strong as steel</li>
<li>Bonus: Automation at XKCD</li>
Knotty_Geeks_Episode_34.mp3" width="290" height="24" />
I'm a writer and occasional programmer. I write science fiction stories and novels.
I also write technology articles for Ars Technica.
I'm the creator of newLISP on Rockets, a web development framework and blog application.