Right Brain, Left Brain

You know how some people seem to be absolutely amazing at one thing in particular? They can wipe the floor with you in foosball or complete every Sudoku puzzle you put in front of them or cook like a five-star chef. Well, I’m not one of those people. Those people are well-lopsided, and all my life, I’ve been well-rounded. In other words, I’m good at a lot of things but not great at any one thing. I’m a decent writer, good at math, enjoy puzzles, win board games every so often, and am getting better at Street Fighter. Though there are days when I wish I could just focus on one dominant strength, most days, particularly in game design, I’m quite thankful for my well-roundedness. The title ‘game designer’ encompasses a wide array of skills and tasks. Sure game designers work on designing game concepts and mechanics, but they must also possess the communication skills to express their ideas, the scripting savvy to throw together quick prototypes, and knowledge of basic visual design principles. In the past few weeks, shoulder-deep in brainstorming sessions and preproduction document writing marathons with my final game team, I’ve capitalized on my well-roundedness as much as possible. My left brain has been tasked with creating working prototypes, and my right brain is busy designing a cohesive and memorable visual experience for our game. I guess I’ll never be truly well-lopsided. But when there’s so much to learn, so much to do, and so much fun to be had in game design, I’m quite happy to be...

In Focus

The latest issue of In Focus magazine focuses primarily on the VFS game design program. Take a...

Net-Workin’ It

I am not a social butterfly by any means. Social caterpillar, maybe. But after a weekend at the Game Design Expo surrounded by people passionate about game design, I’m starting to grow quite fond of networking. I prefer to think of networking as making friends. You never know when you might hit it off with someone or find someone who shares common interests and aspirations. Sure networking can be incredibly intimidating. You’re almost guaranteed to run into awkward situations. But keep in mind that people are there because they want to get to know you. So be yourself, ask honest questions, and be an attentive listener. That’s all there is to it. I can’t begin to tell you what an amazing experience the Game Design Expo has been. Meeting so many people so interested in game design makes me fall in love with it all over again. Here are my top five moments from the weekend: 5. Coat Checking I was up at 5am Saturday morning. Why? So I could get to the Expo by 6am to help with setup and coat check. Volunteering to hang up people’s coats for 4 hours might not sound like the most glamorous job, but it allowed me to get to know a lot of the attendees and speakers as they arrived, ready and excited about the day. 4. VFS Open House I think yesterday’s open house was one of the largest that the VFS game design program has ever held. Me? I got to help man the main VFS booth, meeting dozens of potential students interested in diving into the field of...

Good Code

Did you know that the first software bug was an actual insect? Indeed, in 1947, Grace Hopper found a moth trapped in a relay of the Mark II at the computation laboratory at Harvard. And people have been debugging ever since. As we prepare for our final game projects, one plan we must prepare is a testing plan, complete with an estimate of the total number of bugs in our game. Wait a minute. Estimate the number of bugs before the code has been written? Seems like a prophecy waiting to be fulfilled. Why not just write code that’s bug-free? While this did occur to me, I imagine that most seasoned programmers would laugh in my face. Programming is a combination of trial and error, critical thinking, and on-the-fly problem solving. Throw in some time constraints, changing requirements, and evolving ideas, and things are bound to get hairy pretty quickly. I guess all I can do is brace myself and code...

My Linguistic Niche

You know how some people seem to have a knack for languages? They effortlessly learn new terms, nail pronunciations, and possess a seemingly limitless memory. I am definitely not one of those people. My first language was Mandarin. I’m told I was quite the talker when I was little, telling stories to strangers left and right. I could read and write over 500 Chinese characters by age three. Of course, most of that was lost when I moved to the U.S. at the age of four. Nowadays, I can barely guess my way through a simple newspaper article. I went on to study Latin all four years of high school, progressing through advanced classical texts and nabbing prizes in Latin exams and competitions. Now? I can barely remember what carpe diem means. In college, I decided to give Mandarin another shot. I was still fluent in speaking and listening but struggled with reading and writing. A few courses later, I was writing essays and reading short novels. But as with before, as soon as those courses ended, my memory of the vocabulary quickly dissipated. So how does all this relate to games? As a game designer, I’m constantly learning new languages, not only in terms of new game mechanics terms and design vocabulary, but also in terms of different scripting languages. I am by no means a great programmer, but I can say unequivocally that I love learning scripting. I find an unexplainable beauty in the process of breaking down the most complex events and actions into simple if/then statement building blocks. While world languages may be based on verb...

Heavy Brainstorms Approaching

Coming up with an original game concept is quite possibly the most fun and difficult piece of the game design process. Sure, iteration and fine tuning down the road can be riveting as well, but it’s the open ended realm of possibility during the initial brainstorming phases that allow for infinite imagination and creativity. And of course, as with all open ended endeavors, progress can be daunting, if not paralyzing. With creativity comes great risk. Team brainstorming means allowing others to see what’s inside your head. To discover that perhaps there isn’t much in there after all. Just as writers happen upon writer’s block every so often, game designers can experience similar droughts, often brought about by that inner critic taking over the creative process. Is my idea good enough? What will other people think? Has it been done before? Tons of self-help books have been written on this very topic, so I won’t attempt to dissect the creative process and try to provide empty bits of advice on believing in yourself and sticking with it. Personally, I find the brainstorming process both exciting and stressful. I can almost feel the electrical impulses dancing around my neural synapses, firing up parts of my brain that often lie dormant. I heartily believe that there’s no such thing as a bad idea; just ideas that may not be good yet. Right now, at the heart of the brainstorming process for our final game design projects, my notebook is quickly filling up with unripe ideas. Ideas itching to be dug up and brought to...

Back behind the Handlebars

With air this cold, huffing and puffing is no picnic. You see, I’m a biker. No, no, not the kind with the leather jacket. I’m talking about bicycles. I started biking to school at the start of term 1 and have developed quite an affinity for my time on the road. Now, I’m not a hardcore biker by any stretch of the imagination. I bike in street clothes. I switch to super easy gears on hills. My bike has a bell. But despite my sometimes unavoidable grimace at the mention of biking, I’ve grown to love it. Dearly. It’s the only time of the day that I have entirely to myself. Just me, my bike, and the road. No emails, no phone calls, no projects, no deadlines. Some of my best game ideas have come from these bike rides. About a month ago, I got a flat tire. With little free time to fix it, the tire remained flat and my bike remained indoors. For over a month. Today was my first day back behind the handlebars. The funny thing about taking a hiatus from biking is that you never forget how to ride the bike. You just forget all the little things that go with it. The red light I’d always tried to speed past. The sequences of gear shifts I’d used for uphill and downhill stretches. The cold morning wind. But as soon as my foot pushed down on the pedal, it all came rushing back. It felt like coming home. I biked past familiar neighborhoods, saw familiar scenes, smelled familiar smells. Before I knew it, I’d...

Master of Play

Ever wonder about the man behind Donkey Kong, Super Mario Bros., and Wii Fit? Take a look at the recent New Yorker article on Shigeru Miyamoto that profiles Miyamoto’s playful curiosities about the world around him, his insatiable passion for analysis, and his seemingly effortless ability to infuse fun into every part of...

Ready or Not

3…2…1…2011! This time of year is filled with countdowns. Countdowns to new beginnings, long-awaited endings, and unexpected surprises. I don’t know about you, but for me, 2010 whizzed by in a frenzied flash of ups and downs. I started the year in DC, ended up in BC, and experienced and learned more than I could have imagined in between. They say that the new year is a good time to make resolutions. I guess that’s because the new year brings with it a clean slate. An entire year ahead waiting to be filled with new decisions, goals, and achievements. Everyone gets a chance to start over. Now I’m not saying that I haven’t made resolutions before, because my Januaries are often filled with failed attempts to live up to my idealistic resolutions. And often, the same resolutions are saved and recycled the next year. But as each December comes to a close, the new year brings a renewed sense of hope and motivation. I’ve always been wary of going public with my resolutions, because that means I’m held accountable and my weaknesses are exposed. But ultimately, I realize that it’s not the success but rather the process that I’m after. So here goes. In the spirit of 2011, here are a few of my resolutions for the new year: 1. Be more social. Those of you who knew me in high school might be surprised to see me in class now. Maybe it was the large lecture style of college courses that did it, but these days I’m more than content to sit back in class and just listen....

50%

Consider this my official apology for scoffing in the faces of all those who tried to warn me of the intensity of a year at VFS. You were right. And I was wrong. Now that winter break is in full force, I can take the time to fully appreciate just how intense the past 6 months have been. Between tight deadlines, team projects, game pitches, and late night UDK crashes, there was barely time to blink. Coffee became my drug of choice, and piles of junk food containers crowded my desk at all times. We are now officially 50% done with the year. People are often surprised when I tell them the program is only a year long, and I can definitely understand their surprise. There’s enough crammed into these 12 months to last several years. But of course, the year wouldn’t be what it is without the intensity and craziness of it all. Here are the most important things I’ve learned over the past 3 terms: Term 1: No game designer is an island. One of the most valuable pieces of the VFS experience is the people you get to go through it with. Over the months, I’ve gotten to know the people in my class extremely well. There are the jokers, the workaholics, the wallflowers, and of course, a few nuts. But I dearly love them all, and this experience wouldn’t be the same without every last one of them. Term 2: Level design is hard. But fun. Not too long ago, level design class represented the three most dreaded hours of my week. UDK is not...

Double Helix Interface Design

Making things simple can be complicated. In designing the interface and front end menu screens for my iPhone rhythm platformer concept Double Helix, I tried to communicate as much as possible with as few elements as possible. The front end for Double Helix includes a main menu screen that allows you to navigate to the game itself or to open an options or about menu. (The game screen is just a mockup, but all the interface buttons work.) Take a...

Chromattack (Part 2 of 3): Exposed

Most of us play countless games every day, but rarely do we get to see the bones behind a game, the gears that make a game run. UDK predominantly uses visual scripting in the form of kismet to trigger events in game. For example, you can use an actor factory node to spawn enemies in your level or a teleport node to instantaneously move things around. Chromattack consists of hundreds of such nodes responsible for spawning enemies, attaching objects to them, having them move on various paths, and enabling them to take different types of damage at different times. Then there’s additional scripting for random floor tile colors, camera movement, and player abilities like shooting and speed. Here’s a closer look at some of the simpler pieces of kismet behind Chromattack: To create each enemy, I pass several objects into a sequence called “CreatePawn.” Inside the CreatePawn sequence, I use the external variables to execute a variety of events, including attaching objects to the enemy, checking when they get hit, and playing sounds and particle effects. Here’s a close-up of the section that checks for when the enemy takes damage. When the enemy takes a certain amount of damage, check if the enemy is on a floor tile that matches its color. If so, kill all the enemies on screen. If not, kill just the enemy itself. In addition, each enemy needs to move to random locations at different times. The movement sequence is triggered immediately after each enemy is created. The enemy chooses one of three possible speeds, then picks a random destination and repeats the process. After...

Chromattack (Part 1 of 3): Look and Feel

After my latest level, my hat is off to game artists for the crucial contribution they make to the success of games. A few weeks ago, we were tasked with creating a new UDK level. Unlike previous projects, this assignment came with no restrictions or guidelines. We could use what we’d learned to create any type of level in any genre. Great. Just great. After several days of dead ends and deliberations, I decided on a simple top-down shooter using color as a main feature. As I began constructing the level, I grabbed the default color textures supplied by UDK, effectively turning my level into a disco party. Through the many long days of scripting and testing my level, I got many inquisitive looks from my peers and remarks like, “Are THOSE the textures you’re using for your final level?” and “Please tell me those aren’t the materials you’re using.” With a nervous laugh, I’d shrug, replying “No no no, these are just placeholders.” Though in the back of my mind, I had little idea of what I’d use to replace the neon textures. Thankfully, I was able to spend several days on art and overall polish after finishing most of the scripting and debugging. I created a simple front-end with a custom logo and retextured all the surfaces in my game. Chromattack is a top-down vertical scrolling shooter in which you try to shoot as many enemies as possible while trying to evade them. The game starts out with just a few slow enemies. You can shoot forward and backward, as well as left and right. You can shoot enemies...

Iterative Iteration

No one gets a game right the first time. Why? Because what you envision to be fun is often quite dull. The difference between good and great designers is the willingness to let go of the original vision and iterate again and again for the good of the game. For the past three weeks, I’ve been working on a top-down shooter using UDK. Though the main premise of the game – the fact that it’s top-down and that you shoot things – remains intact, pretty much every other factor has been changed and rechanged. Here are some of the various changes the game has gone through: Version 1 In this version, you control a colored circle and must shoot circles of other colors. You can collide with other circles of your own color. Some circles are one solid color, and others have a different colored core. If you collide with circle whose outer ring matches your color, you change into their core color. For example, if you’re green, and you collide with a circle that’s green on the outside and yellow on the inside, you become yellow. Version 2 In the previous version, the game goal was unclear, so in this version, the addition of navigation toward a certain location adds elements of strategy. Along your path, there will be obstacles of certain colors. Thus, you must ensure that your circle is a certain color at certain times. For example, you would have to become blue to go through a blue tunnel. Version 3 Instead of navigational obstacles, make the colored circles themselves the obstacles. The game is now...

Double Helix

What could be more fun than rhythm platforming on DNA strands? That’s the main premise behind my latest game concept, Double Helix. Double Helix is a run-forever rhythm platform game for iOS devices that combines the principles of real world DNA replication with the challenges of quick decision-making. In Double Helix, you play as Junior, a nanobot moving at a certain pace along an unwinding DNA double helix and replicating sequences of DNA to a certain beat. As the double helix unwinds, targets appear indicating missing nucleotides. Using clues in the sequence, you must find the correct nucleotide for each missing spot while staying on the beat. As it turns out, it takes a lot of minute details and tuning to create a game. Even for this deceptively simple game, the breakdown of individual game mechanics within my detailed design document has grown to well over half a dozen pages. Throw in descriptions of characters, enemies, features, controls, camera, and screen mockups, and you’ve got quite a large document on your hands. Here are some initial menu screen mockups for Double...

Lessons from the Trenches

Okay, so maybe game design doesn’t have trenches per se, at least not the same as in teaching, but as students, we’re definitely on the frontlines. Just ask any of the guys in my class who have pulled all nighters at school, alternating between Red Bulls and naps on the floor, eager to add in that extra feature or refine the core mechanic just a bit more. On second thought, I think this counts as trenches. After hundreds of hours spent designing, scripting, and testing levels, I can safely say that I know a bit more about level design than I did when I arrived in Vancouver 6 months ago. Here are a few lessons for the road: 1. Put railings on things. As it turns out, players don’t particularly like to fall off the edge of your level into the abyss of nothingness for no apparent reason. Just like in real life, virtual navigation requires railings, gates, and appropriately sized stairs. Now you know. 2. Think before you script. It’s easy to get lost in a sea of code, coming up with “creative” and often unelegant solutions to simple problems. Always script with a plan. Break down your goal into the base components, then link them together in logical ways. Use your brain. 3. Save often. Save progressively. Save progressively often. For my last level, I made well over 100 progressive saves over the course of five weeks. Not too bad, but I’m already on version 22 just 2 days into my current level. Why? Because you never know. Undos are not always as reliable as you think,...