Industry Night

Industry Night

From our first day at VFS, Industry Night was dangled like a carrot before us, that seemingly unreachable goal light years away. Yet after months of hard work, countless brainstorming sessions, and tons of great feedback, we’d produced a game. And a few hours ago, we presented it to the industry. In many ways, Industry Night is the culmination of the VFS game design experience. After working closely with a small team for several months to produce a game, you’re invited to present your game to a group of people from the games industry, who then come and play your games. Our Industry Night included action games, puzzle platformers, adventure games, and shooters. Our games incorporated creativity, solid design, and unique mechanics. And after working day in and day out with these guys over the past several months, I can say that I’m extremely proud of all the games we showed tonight. If you’re interested, you can read more about the games and even try them out for yourself. Be forewarned, though, that some of them can be very addictive....

They’re creepy. They’re crawly. They’re everywhere.

Bugs, bugs, bugs, bugs… Our final project is due at the end of this week, which means it’s time for debugging. Looking back through old scripts I wrote in March and April reaffirms how much I’ve learned in the past several weeks. Not only do I have a much better command of C# syntax, but my logic has improved noticeably, meaning I can manage multiple functions and instances simultaneously without too much of a headache. Less guessing, more purposeful planning. As of today, we have 22 bugs on our bug list, 13 of which are ranked high priority. And that’s not including all the ones we haven’t yet found. So here’s to the last few late nights of crunching and debugging. May they go as smoothly and be as pain-free as...

10…9…8…

There are less than 10 days left until our final game is due, which means it’s time for all the little details. With our mechanics and main gameplay elements ready to go, it’s now time to add little flourishes that will make our game experience all that much better and more fun. Here are some of the things on my to-do list for the next week and a half: – implement particle effects (explosions, movement trails, player notifications, etc.) – polish animations – create a new set of background pieces – script some movement for midground pieces (airplanes, clouds, etc.) – ensure that the scoring system works properly for successive plays – debug character movement, environmental assets, and front end menus It’s hard to believe that the deadline is so close. Time to kick things into high...
Animation Logic

Animation Logic

Remember these logic puzzles? You’re given a brief story and a few seemingly unhelpful hints (e.g., Wanda’s partner doesn’t like roses), and then you have to proceed through the hints, crossing off the non-solutions until you arrive at the solution. Lately, I feel like I’ve been working through a logic puzzle, only in script. At first, implementing Chip’s animations seemed easy. We only had five animations: walk, jump, throw a ball, hang by his chin, and die. Sounds easy enough, right? That’s what I thought too. Very quickly, I realized that these animations weren’t mutually exclusive. Chip might jump and throw at the same time, making for a very twitchy looking Chip. Back at the animation boards, we knew we had to separate out Chip’s body parts in order to run simultaneous animations. But which body parts? And from which animations? Here comes the logic puzzle. Regardless of what Chip’s doing (walking, jumping, etc.), if he throws a ball, the throw animation should play. So first and foremost, his arm needed to be a separate piece. Next came the more nitty gritty. When Chip is jumping, even though he’s also moving forward, he’s no longer walking. Similarly, when chin hanging, even with forward inputs, Chip should not be walking. And above all, if Chip is dying, he shouldn’t be doing anything else. After a few days piecing it all together, Chip has come alive and is now quite...
Effective Game Achievements

Effective Game Achievements

The more I get into game design, the more pleasantly surprised I am at how much psychology is involved. If you think about it, game designers shape experiences, so they must constantly dig into their toolbox of psychological principles. If you’ve ever played a game and striven to attain any of its achievements (think Angry Birds), the game designers have hooked you in with psychology. Achievements, like visual feedback, audio, and various missions and challenges, play a huge part in the perceived fun and replayability of a game by motivating players. To learn more, take a look at this article on how to design effective game achievements: The Cake Is Not a Lie: How to Design Effective...
Error Terror

Error Terror

When deciding between using Unity or UDK as our game engine of choice, one of my main qualms was with the error messages Unity throws at you. Whereas UDK will let you jump in the game with multiple kismet errors, Unity spits out lists of errors, refusing to let you run the game before fixing them all. There are entire forums out there dedicated to dealing with various programming error messages. And as a novice programmer, this scared the heck out of me. How was I supposed to know what was wrong without seeing what my code did? However, after weeks of braving the sea of error messages, I’m happy to say that I find them quite helpful. Most of the time. In fact, I even have a few favorites: 1. Error CS8025: Parsing error This is hands-down my favorite. Easiest to fix, yet one of the most annoying. This error usually refers to a misplaced curly brace. Spend a few seconds visually pairing up all the curly braces, and this error is soon out of your hair. 2. Error CS1525: Unexpected symbol ‘{‘ This one is another fun syntax error, usually thrown out as a result of not pairing all the parentheses in conditionals. In programming, most things need partners. 3. Error CS0029: Cannot implicitly convert type ‘int’ to ‘bool’ There are several variations on this error, which usually results from syntax error in the conditional. Most of the time, I get this error when I forget to include double equal signs in my conditionals (e.g., ‘if (iLevel = 1)’ rather than ‘if (iLevel ==1)’), so the statement...