Mechner's Journals

Okay, I'll be honest. I had never played Mechner's games before I picked up Mechner's two journals - The Making of Karateka and The Making of Prince of Persia. However, naturally, I knew them and was fully aware of even the mechanics. 

This says a lot about the power of Mechner's games. 

These books are very similar to my review on Masters of Doom, neither really provides that much to a reader looking to learn about each game's production. Sure, they're great historical documents, and for someone, such as myself, who is interested in retro gaming and old computers, there's a lot there to enjoy nostalgically, but other than the time spent in the 80s and early 90s, there's really not a lot to learn beyond Broderbund is full of incompetent people and Mechner is exactly what you'd expect of a young person in their early 20s who has received a lot of success and attention. That on its own is ultimately boring, unless you enjoy someone debating what type of successful person they should be repeatedly.  

However, Mechner gets games. It's not as exciting from our 2014 point of view, but Mechner sees games similar to movies and is concerned with how mechanics, intros, art, sound and every other detail form a complete picture. Similarly, Mechner understands tension and anticipation, all inspiration from his interest and heavy consumption of film (he's even a legit screenwriter at points throughout the narratives). Considering that most games at his time were single screen puzzles, this is really what makes him most successful, and, again, that's obvious to us now, but I've still been in games discussions in modern times that either focus entirely on some widget-like component or some ridiculous storyline that all make you ask "And then...."

As pictured above, there were all these great snippets from his journals on how to construct his games, and I really wish more this was in the book. Both these books remind me a lot of Adventures in the Screenwriting Trade. I'd be more interested in how the games was built, not everything going on around the construction. Where were the missteps? What didn't make it in? Why the changes? Technical difficulties? Sure it's dull for most, but this is already a title for a specialized audience. 

All this critique said, there was one gem that bears sharing. In Karateka, Mechner outlines what he believes are the basis of any good game, and you can see how it drives his development process throughout his design career. Summarizing:

  1. You have to feel in control of the thing you're supposed to be in control of.
  2. You have to be able to control the form of your attacks - have a strategy. 
  3. There should be two goals. For example, getting points (primary) and clearing the screen (secondary).

He lists Asteriods, Pac-Man and Space Invaders as ideal examples. 

When Previously Recorded reviewed Sonic the Hedgehog, they incidentally go through almost every single one of these issues as serious problems with the Sega franchise. As a Nintendo fanboy growing up, I'm definitely inclinded to agree, but it also demonstrates how prescient Mechner's analysis of simple games was, while everyone around him was more concerned with flashing lights and cheap gimmicks. 

I can't really recommend this series unless you are either a huge fan of both of these games or someone who is very interested in the early history of personal computers and game development. Mechner isn't the best person (at his age) to spend time with and the thinness of his description to help to paint the world.

Credit where credit is due to Mechner's skill and creativity at his age, but looking back, it's probably better to just know these books are out there, and play his games.  

Found on the Streeet

Found this drawing on the side of the road in a box of great books. It looked like it was part of a batch of assignments. It's hard to make out, but it was a simple drawing of a phone. However, the top was a list of everything that was wrong about it, clearly written by the artist (penmanship of the signature looks the same). Maybe it was a part of an assignment, but I hate to think that someone would be so critical of just trying. 

Particularly, because their pictures of dogs were quite nice. 

Outside of the set

Leibniz's belief in a universal digital coding embodied his principle of maximum diversity: infinite complexity from finite rules. "Nothing is a better analogy to , or even demonstration of such creation than the origin of numbers as here represented , using only unity and zero or nothing," he wrote to the Duke of Brunswick in 1697, urging that a silver medallion be struck (with a portrait of the duke on the reverse) to help bring the powers of binary arithmetic, and "the creation of all thing out of nothing through God's omnipotence," to the attention of the world.

Where does this meaning come in? If everything is assigned a number, does this diminish the meaning in the world? What Gödel (and Turing) proved is that formal systems will, sooner or later, produce meaningful statements whose truth can be proven only outside the system itself. This limitation does not confine us to a world with any less meaning. It proves, on the contrary, that we live in a world where higher meaning exists.

Turing's Cathedral, George Dyson

My FPS Engine and Masters of Doom

I really thought there'd be more to it. But running through a quick raycasting coding demo (something new to me, but always wanted to know how it work), I was soon able, after a couple of duh bugs, to get a running Java application spitting out a random wall grouping. 

Reminiscent of my first FPS game I played, Wolfenstein 3D, and the same idea that powered the raycasting technology that's the cornerstone of the book Masters of Doom.

I had thought that doing the coding would provide some insight into the book - like loads of Pernot while reading A Farewell to Arms. In both cases, it doesn't really help. There's plenty of summaries out there in the world of this book, so I wont' waste time summarizing except to tell the uninitiated that it's a history of id Software and its rise and collapse under the watchful and egotistical eyes of John Romero and John Carmack. 

This isn't to disparage either thing. I had a great time and learned a lot about modeling vision within an FPS raycasting system that was not altogether evident just reading through the code (my own Ahaa's found in the commented code). The book itself is well-written and is an adventurous story. Particularly one of young people who have discovered something incredibly powerful and are not sure what to do with themselves. I'm sure I would have been even less mature and more vindictive at their age. While, I'm still obviously less intelligent. 

Consider this - I collect a lot of cookbooks, and there's a moment of discovery in making a recipe you never have or even in making a recipe that puts better flavor into what you already know. There's a connection there too, between the cookbook writer and yourself (except if you're watching Julie and Julia, that is bullshit!). However, in there is labor in that process. You have to earn the work, and, well, sacrifices must literally be made. 

One of my favorite books on computers is The Elements of Computing Systems. I loved discovering how a processor actually works, how memory gets used, and how to build an OS from scratch (yes, yes, start with the universe, ha ha). But I know in reading it that I'm at an elementary school level. It doesn't sap my enjoyment of learning, but I won't be there with the chef as in my cookbook example sharing the same thing. 

Likewise in coding a raycasting FPS engine, I am so far behind, even within the narrative of the book which covers the development of Quake, that while I love the learning, I don't feel empowered. True, I don't need to fuss around with OS/2 memory management anymore, but more importantly, I can make a game like it if I want to using Unity. However, with cooking you can't substitute - you need to learn the recipes, otherwise, you won't be able to cook like the chef ultimately. 

So does the same thing hold true for coding in the steps of the greats? Are we able to say, "Look, learn this, skip Unity for now, and then go ahead." ? Do we respect that type of thinking as coders anymore, particularly within game development?

 

Setting up Rails on Digital Ocean with Dploy.io

Lately, I've been having a good time with Dploy.io. I've also been enjoying Digital Ocean. Combining the two has caused a couple of problems when it came to Digital Ocean's one-click Rails VPS. Following Digital Ocean's tutorial on how to quickly setup a Rails application, I ran into a few details that weren't mentioned therein that I thought it would be best to share in case someone else has the trouble. 

Nothing that came up was really Dploy's problem, so most of these are on Digital Ocean, but there's a couple additional actions that are useful for updating a Digital Ocean Rails VPS.

Okay - now the problem that started it all: My site just didn't work and hung.

This was an out of the box, totally clean rails installation. I put together one controller to make sure I had routing functioning, but aside from that it was as fresh as it gets. Replacing the default Digital Ocean rails application with mine is where my problems began. Here's how I went about fixing it:

  1. You'll need to make sure you have a secrets.yml file and have generated a key for the production environment. My basic 'rails new' didn't do this on my desktop, but this was present in the default DO installation. You can generate a key using 'rake secret' if you like. In this case, I placed this file as a static file for dploy.io to override my local file so that the real key wasn't left in source control. 
  2. Your Gemfile needs to include 'mysql2' and 'unicorn' gems. I was having a little trouble locally with the former gem, and so I created a production gemfile that dploy.io also overwrote after pulling from git. Mysql2 was mentioned in the tutorial, but activating the unicorn gem was not.
  3. Production.log needs to be created with permissions 0666. This does require a unicorn restart. 
  4. As described in the tutorial, you'll also need to set the correct database credentials in your database.yml file. 
  5. Finally, I also added "service unicorn restart" and "RAILS_ENV=production rake db:reset" as post build commands. 

Not end-of-the-world type stuff, but the secrets and missing unicorn gem details were annoying, as was unicorn hanging on a missing production.log file. However, once it's all hooked up, I've got automated deployment, custom config files and hook events running after every commit, which sure does feel nice. 

Writing about games is hard

This last week (sometime in July of 2014) I finished the fourth release from Boss Fight Books - Galaga by Michael Kimball. My intent with this book was honestly to wash the taste out of my mouth from reading their second publication Chrono Trigger (by Micahel P. Williams), but unforunately this recent book didn't help much. 

Writing about video games as a serious medium is no longer in its infancy, but it is, to some degree, a stumbling toddler who has a tendency to hit their head against table ends. There are great books on games (and everying surrounding them), such as Masters of Doom, The Platform Series, and, shit, even Ready Player One for all its plot ridiculousness still makes playing with gaming concepts and literature fun. Boss Fight upholds my analogy and they commit one key failure that makes it so - they want gaming and gaming literature to be taken seriously without actually writing content that would make it so. 

I'm going to look at both these books as a group because they share a lot of the same critical problems. 

The biggest issue is both authors associate their respective games with something that on human level that is emotionally jarring and has nothing at all to do with their games. Williams talks at length about the Fukashima disaster (if the unnecessary amount of Japanese text in his footnotes wasn't an indication, he spent some time in Japan); Kimball intercuts stories of his abusive father.

I have no problem with trying to connect large ideas, themes, however you want to put it with games. What I do have a problem with is putting things physically next to each other in paragraphs and assuming that the reader will associate meaning with your argument with something obviously meaningful. Abuse and disaster make us feel things automatically. These books' main threads do not. 

Take Williams summation of the Fukashima disaster within a chapter titled "The Day of Lavos." He draws a comparison with your first quest in the post-apocalyptic 2300 AD to retrieve some seeds for survivors of doomsday and the 2011 tsunami: "We [Williams was a resident of Fukashima for a period] are the people of Chrono Trigger's 2300 AD. All we can do is plant our seeds, work to nourish and encourage them and how they will grow into something beautiful, useful, alive." As much as I love Chrono Trigger, this is a ridiculously dull comparison and flat insulting to the people of Japan. 

Think I'm just being harsh? Let's try another example off the top of my head: "We sacrifice part of ourselves, like Mario, every time we hit the question blocks with our heads. Will it be a 1-Up, or a just a single coin we risked our lives to obtain. Either way, it's chance we always take. A chance to grow, to gain new abilities, and to take one further step forward to the goals of our hearts, and those we take responsibility for." See how much that sounds like bullshit? The symbolism and the activity is not equivalent to what I'm trying to associate it with. 

Earlier in the chapter "Life by the Book", Williams equivocates his game's strategy guide and "strategy guides for life." Stating earlier that games teach us "No matter how high your station in life, you can always be knocked down", he sets up "well-highlighted Christian devotionals" and "the book version of a bowl of chicken soup" as examples of these aforementioned guides. First, games are meant to be balanced, and Chrono Trigger especially is.

While games do sometimes make twists that reset us to lower position part way through the game (Chrono Cross is a great example), we nonetheless come out on top. Second, Christian devotionals, self-help guides, and so on are not akin to a guide that just flat says "the power tab" is here. It's a glib way of looking at life if you think the Bible and Chrono Cross Strategy Guide are peers. Maybe he meant A Purpose-Driven Life or something, but the point still stands. Life is unbalanced, life can knock you down, and life doesn't have definite answers. Strategy guides in fact are antithetical to these guides for life. Instead of just going out into something as small as a video game and trusting you can win, you cheat. Warren's Purpose-Driven is trying, in his own way, to give people the tools that he believes will do exactly the trusting and exploration guides remove from games. 

Everything about both ideas are wrong and don't connect. 

Kimball is more forgivable. He weaves a story of his growth as a Galaga player and growing up more generally, which, as I mentioned, does involve abuse. He rightly states that video games were an escape, were a safe place, and were one of the few places where he felt he could express himself and feel strong. I don't think any of this is disagreeable and I don't doubt that most kids, especially those from bad homes, would agree its what they really got out of games. Kimball unfortunately draws these simple and fairly obvious points out for the entire book (albeit a small one) and is somewhat vague about his abuse. Not to say that an author should draw out painful memories to up the emotional connection, but it gets redundant and I'm also at a distance from the discussion of abuse because of the nebulous descriptions ("wrestling"). 

Second problem shared by both books, a bit less serious, is both the authors spend time more time simply describing the gameplay, Kimball more than Williams. If the attempt is to bring in an audience who may not be familiar with the game, it fails as the game play descriptions are incredibly boring and don't really serve as good descriptions in the first place. For folks who are familiar, it's already a waste of their time. It'd be one thing if the gameplay descriptions were actually related to some point being made, but they're aren't. Want to know what Galaga looks like when reading a book from an independent publisher that just publishes books on games? I'd suggest spending 2 seconds searching on YouTube:

Finally, Williams and Kimball, despite devoting what I imagine is a decent chunk of their personal life to these books, don't actually appear to take their subject seriously.

A small beginning of this is how neither author appears to make any effort towards speaking with the games creators (Kimball does have second hand interviews, Williams a few spatterings of quotes). Neither of these guys claim their books are journalism, but the few bits of sources are actually interesting, and provide valuable background to why the game is the form that it is. As I said, that may not be the point, but don't tease us with interesting quotes and then waste time on gameplay descriptions. 

The larger missing seriousness is both author's lack of respect for their readers's interest in their topics

Kimball's book is a disjointed mess of one paragraph sections called "stages" that go for the entire book. I get it - it's stylish. However, I can't get engaged as a reader if every 15 seconds, I'm forced to jump to a new section. Furthermore, he never keeps his sections consistent. He goes from abuse, to gameplay, to friends he played with, game history, to abuse. I can't get emotionally engaged in any of it, and even if I tried, I would be immediately pulled away. I get it - this is stylish, but it's also annoying, because I actually want to care, but Kimball won't let the readers, because, you know, style. On top of this, Kimball makes several things up and then pages later reveals they weren't true. These are pointless things as well, mainly fan tributes to the game. I, and perhaps others, are interested in reading about games, we take a it seriously, so can we just get on with it?

While I've already criticized Williams for what I think are at best grasping at straws, his most troublesome statement comes at the end of the book:

"I've tried to make this book a Gate Key, but in doing so I have become the gatekeeper, opeing some doors to you and obscuring others behind false walls. I do not apologize for this."

What the fuck is this guy talking about? Honestly, I'm willing to believe I missed something here, something went over my head, so please tell me at corey@ckplusplus.com. This sentence in the penultimate paragraph makes no sense at all. At no point was there any revelation or feel of his control as a gatekeeper to any level. I can only guess the doors he obscured were the ones leading to better and more interesting thoughts about the game. But not apologizing? What does that have to do with anything written? When do author's apologize for the entirity of the thing you just read? What level of arrogance is required to speak to your reader's in this way? Just write a book, state your opinions, draw connections and walk away. Don't create an illusion about yourself in the last paragraph to some personal ends. No one cares

These books are frustrating and in the end, Boss Fight maybe doesn't need stronger writers, but better editors. I don't doubt that Kimball and Williams could have written fairly enjoyable and enriching books had they been pushed by a proper editor to cut the bullshit parts, focus on real deliverable insights and acted like what I believe Boss Fight hopes to be - a publisher that shows how games can touch us deeply and emotionally, make us better people, and open us to new worlds.

Le Petite Chien's Night Out

I met a little dog one night in Paris at a bar. This is what I imagine his night out as like: 

Getting Ready

 

At the bar

 

Too drunk to drive

3 Game Books I Just Finished

The Platform Series from MIT Press is something that I've dreamt about but never had the specific description to really define what I was looking for nor the expertise to deliver it myself. As the name implies, each book in the series covers a particular platform, as of the time of this post: Atari VCS (the 2600), Nintendo Wii and the Commodore Amiga. Considering the nature of the publisher, the books are not maudlin non-sensical nostalgia-gasms that some other companies (BOSS FIGHT BOOKS) have published on video games. 

See, unlike most of what's written about video games, which seems to center on the idea that "video games are popular and have gained credibility", the platform series treats the individual platforms, their games and social cultures adjacent as distinct subjects that they genuinely believe have something to reveal about the nature of play, simulation, technology, economics, and all the rest of those academic subjects. 

Generics on the series as a whole aside, each book, which I loved each of them, has their own gems and rather than summarize in their entirety, and they should be read as such, I'd like to hit on what stood out to me for each one

 

Racing the Beam 

I have a fascination with the Atari 2600 that a lot of my generation shares. I didn't grow up playing it exclusively (that was the NES), but I did have one in my home for a short while, and I've always loved the charming simplicity of its games, its hellish sound and the legacy as a business Atari laid (by the way, if you haven't seen Once Upon Atari, please do). I'm a collector of Atari stuff, and if my income and wife were a bit more open, I'd probably have near a full collection at this point. 

Needless to say, it's why I bought the book. The best section, and most important to the rest of the arguments in the book, is the long and thorough discussion of the different processors and memory locations of the VCS's hardware. Here you learn about how racing the beam actually worked (the beam that drew the CRT TV images), hardcoded sprites, memory for sprites, and the 6507 all worked together. For one, it's nice to have a set of hardware that you can really wrap your head around. Again, charming simplicity. But more importantly, as the book progresses through the games "Adventure" and "Pac-Man", it delivers detailed discussion of how these games were crafted using the chipset available. 

You can't understand why "Pac-Man" on Atari sucked unless you know its chipset, and you can't appreciated how clever "Adventure" was without understand how sprites were kept in memory. The book accomplishes in this long section and subsequent chapters what it sets out to do in the introduction - show how creativity intersected with hardware, and how hardware formed games. It's really something we'd rather ignore now with such an obscene amount of memory and power, but the material does affect the medium and knowing its strengths and weakness helps creative professionals know where to cut and what to push. 

The Future Was Here

I found this book to be by far the most fascinating. However, I don't think there's anything revolutionary in the author's discussion of the Amiga and its software. It's simply the best book I've ever read on a single computer and its history. Well researched, covering every aspect of the system the author's could find including The Bard's Tale, the boing demo, the Demoscene, digital music / video, and the multitasking operating system. 

Putting this book down, you walk away with such an appreciation for the folks who built the Amiga, and those who used what would now be considered, pretty humble hardware, to build unheard of digital expressions. It's one of those moments of understanding - yes computers are about automation, but truly, and particularly in the demoscene, they are really about expression and hard fought at that. 

Codename: Revolution

I am not a Wii player. I don't own one, I've played it some and for the most part, I've found it interesting, but never enough to purchase one. Similar to Racing the Beam, the book's author target the intersection of the technology of the platform including its all important peripherals in order to draw a point about how expression changes with a reduced processing capacity, the sensitivity of the controller, and the player's physical game space. 

I enjoyed the discussion on the design of Mii characters, which led to a tangent on the design of Nintendo's early character designs (Mouths are hard to draw, cool give Mario a mustache), but it's not really the power of the book, which comes in the final chapter. After chapters on how the different aspects of the Wii had impacted game creators and player interaction with the system, the author's took on the follow-up competitors to the Wii, namely the Kinect. 

Not to say they are outright bias, but it's apparent the authors are definitely not fans. They back it up - while the Kinect was supposed to submerge the player into the gaming environment, the author's point out that players generally don't want to be completely subsumed by the gaming environment. Instead, they want a cybernetic environment. Case in point - Wii Bowling. While it may be more "freeing" to not have a controller with the Kinect, having a button, the player could more accurately control release of the ball. 

Having personally had to do non-game programming with the Kinect, I found that trying to do accurate things other than jump and lean, were outside of its capabilities and prevented the user from receiving good feedback as to whether their actions were received. Keys at the very least click. 

As I said, I'm not a Wii fanboy by any means, but its an excellent defense of where the Wii succeeded and the Kinect failed. Yes, Wii needed a better library and wasn't as powerful, but when it used the motion, it used it right - the motion gave you the control you wanted rather than forcing you to substitute physically jumping for pressing the "A" button (not true for all the titles to be fair).

While I don't have a stake in either camp, the final chapters made me actually care about how 3D motion was used in games and that is demonstrative of where the Platform series excels - they teach you and carry you through history and technology to help you understand game expression to the point where, even if you aren't playing said platforms, you're still enjoying that they're out there. 

3 Game Programming Books I Will Never Use

I so wanted these books as a teenager. Unfortunately, my parent's computer wouldn't have run either Java or DirectX to the requirements, but I guess I figured if I had them, I could figure out a way. Still they filled my head with the games I would've created had, which were mainly slight variations on other popular games, ideas I had no materials for whatsoever (such as the popular CD-ROM games of the time), or things that were the video game equivalent of a screenplay about "two friends go on a road trip", usually RPGs in some dystopia (thanks Final Fantasy VII) or something that the computer wouldn't have the memory for.

Either way, it was worth the $4.00 total to purchase for the memories. Also, gotta love those covers.

Pages