Bacon and Games

Tag: essay (page 1 of 2)

A Letter “to” Rovio

Today Rovio launched their first non-Angry Birds sequel since the original dropped in 2009. Since then we’ve seen 3 sequels and just about every Angry Birds tie-in imaginable. From Angry Birds gummies to Halloween costumes, Hollywood movies to pistachio commercials, the Angry Birds seem to be just about everywhere.

With all that flying around I’d be lying if I said I wasn’t a little sick of the franchise. In fact I might have gone so far as to say that I disliked Rovio. But then I thought about it some more and realized that’s silly. Disliking Rovio for their success is a bit like disliking Tim Tebow for all the hype, which I constantly have to remind myself he is NOT to blame for. He seems like a decent enough guy and if people want to go nuts about him that’s not really his fault. By the same token if people really want to buy Angry Birds home pregnancy tests, so be it.

Although Angry Birds first appeared in 2009, Rovio goes as far back as 2003. It feels like they debuted in 2009 because their early mobile games didn’t have a sliver of the success that Angry Birds did (and they didn’t have the Apple App Store either). Amidst all this Angry Birds madness I’ve had to remind myself they’re still a company who has been at it a while. Angry Birds is their golden goose, so to speak, but they broke plenty of eggs trying to find it.

Rovio is not Zynga. Rovio is not EA. Not Apple. Not Google. They’re rich, but still not a huge corporation. They’re a relatively small game company. But still it’s been tiresome to see them constantly reskin Angry Birds with a Seasons version, a Rio version, a Space version. Coupled with the unrelenting wave of tie-ins and merchandising, which make perfect sense as a business model, it’s been really hard to maintain any sort of interest in what Rovio is up to. And their success masks the fact that they’re still a company worth rooting for. They’re not the bad guy, they’re just the popular guy. Sometimes it’s hard to make that distinction.

Bad Piggies ScreenshotThat’s why I’m so excited to see what they’ve done with their new title, Bad Piggies. Yes, it’s a spin off of the enormously popular Angry Birds franchise (as well it should be), but it’s an entirely different game than Angry Birds. And not only that, it’s an entirely fresh concept (save for maybe Incredipede or some distant ties to The Incredible Machine). They didn’t make an Angry Birds pinball app or an Angry Birds tower defense game, they went for something totally new. They took two things they know people love, the characters from their Angry Birds world and physics based “puzzle” mechanics, and did something different. I love that!

Rovio revived my interest in their success. I feel like I can root for them again because they’ve shown me that they’re more than just an Angry Birds factory. I am once again curious about their future, the way I was before Angry Birds Seasons plopped out of their game duplicator. I don’t fault them for riding the wave, they’d be stupid not to, but I’m glad to see they’re not resting on their laurels.

A small-ish company trying new things is far more interesting than a company of any size churning out sequels. They could probably ride off into the sunset right now with giant Angry Birds-laden sacks of cash and been happy to do so. It’s nice to see they have more in them than the desire to print money. They’re making games again!

Congrats, Rovio and thanks for reminding me root for you. If you haven’t seen it already, here’s the trailer for Bad Piggies. You can download the app to your iPhone here or the HD version for your iPad here.

Triple Town is NOT a Match-3 Game

Triple Town is not a match-3 game. It’s a game in which you match 3 objects. Confused? Let me splain… No, there is too much. Let me sum up.

Yesterday I tweeted the following:

Shortly thereafter, @Spryfox favorited the tweet and a fun little discussion between myself, Dan Cook (@danctheduck) and a few app reviewers ensued. It was all healthy discussion, nothing mean spirited, but it got me thinking about my position and I wanted to take the opportunity to get it out in more than 140 characters. So as promised, let me sum up.

Actually this could take a while, I’m gonna splain.

Most Triple Town articles label it as a match-3 game, a genre started and dominated by Bejeweled. As a word-for-word English translation, Triple Town is a match-3 game because in it you match 3. I get that. And to be fair, most of the reviewers go on to say that Triple Town “turns the match-3 genre on its head”. Clearly they appreciate how dissimilar Triple Town is from the Bejeweleds of the world. But from a purely academic standpoint, I’d like to question whether it is even part of the match-3 genre at all.

A Few Analogies, Because I Likes Me Some Analogies
When you label something with a specific genre you have to accept the responsibility of all the extra stuff that comes along with that tag. If I describe a movie as romantic and comedic, you might just think it’s going to be a love story with some funny actors in it which, I’ll admit, isn’t far off from what a RomCom is. But calling something a RomCom says far more than “oh, well it’s a story about love with some funny parts”.

The term RomCom immediately conjures images of Hugh Grant and Katherine Heigl, of the supportive sounding-board best friend, of the last minute airport embrace and chance encounters, of You’ve Got Mail and The Notebook and causes most mens’ eyes to roll back before they begrudgingly attend the film and pocket their guilt-free-poker-night-with-the-boys-credit. Any movie that induces the former is a RomCom, movies that have romance and jokes many not be deserving of the label. Or for you math majors out there, all squares are rectangles but not all rectangles are squares.

Does Triple Town borrow from the match-3 genre? Absolutely, but not in the way most of that genre do. Most match-3 games take the Bejeweled gameplay and then add something, but the core swap-to-match element remains the same.

  • “It’s like Bejeweled, but with differently shaped boards.”
  • “It’s like Bejeweled, but you have to clear every space.”
  • “It’s like Bejeweled, but you can rotate the board.”

Dan described it this way:

SpryFox took the match-3 action, distilled it down and when they built it back up they were left with something miles away from where they started. It’s sorta like taking apart a lawn mower and using some of the pieces to build a dirt bike. Sure it’s still got some gears from the lawnmower, but a lawn mower and a dirt bike are two very different machines. And you certainly wouldn’t point your long-lawned neighbor in the direction of a dirt bike just because it once had lawnmower parts.

Above, I purposely used the word action instead of mechanic. I think that Bejeweled and Triple Town share the action of matching 3 or more objects. On the surface those actions are the same, but the mechanic or the core gameplay element, the reason for and the path to a match are as different as night and day.

Triple Town has more in common with Chess than with BejeweledTo make a single move in Triple Town you have to think many moves ahead, much like deploying your pieces in chess. You make your move based on where you want the pieces to eventually be rather than where you’re about to put them. Making one move in Bejeweled only requires that you locate an existing match on the board in front of you. From that perspective, Bejeweled has more in common with a word search than it does with Triple Town and I don’t think anyone would mistakenly categorize a word search along side of chess.

Bejeweled, while fun, is generally a mindless frantic hunt and peck. Triple Town is a slow, thought out game of strategy. My mother (a target casual 60 year old gamer) will play Bejeweled or a do a word search, she would never play chess or Triple Town.

Moreover, you can’t accidentally make a floating castle in Triple Town any more than you can plan a 15 chain combo in Bejeweled. You really have to earn your advanced town (i.e. your high score) in Triple Town. But in Bejeweled the biggest scores come from serendipitous chains of gems falling luckily into matches. There’s certainly skill involved in training your brain to quickly scan for matches, but outside of that the scores are largely dependent upon luck. It might be fair to say that the two games have inversely proportionate luck:strategy ratios.

I’d like to pause here to say that I’m not picking on Bejeweled or the people who play it. I think Bejeweled is a well tuned, fun game that has masterfully captured the attentions and wallets of millions of people. I just don’t think Triple Town has as much in common with it as so many reviewers suggest.

Am I Being Semantically Petty?
In truth, we’re at a point with gaming where people are rapidly consuming and discarding games. People have gotten used to trying stuff out and moving on if it’s not for them. Games are affordable and accessible these days and the app store has given even the unlikeliest of gamers circa 5 years ago an unexpected thirst for games today. So I don’t think that in practice calling Triple Town a match-3 game is by any means devastatingly damning, but for the sake of discussion a few points…

First, I think it’s safe to say that there are many people out there who scoff at the casual, match-3 genre. I’m not saying they’re right, but it does carry a stigma. It’s often written off by more “serious” gamers along with Farmville and its largely 60 year old female fanbase. I’ve worked with many clients over the last 5 years who specifically go after that genre because they want that crowd and many who avoid it like the plague. While I think Triple Town has done well enough that it probably doesn’t matter how you categorize it, calling it a match-3 game is a little too easy. And in some sense it’s doing Triple Town a bit of a disservice by shouldering it with all that “RomCom baggage”.

Second, as a reviewer one of the things you’re hoping to do is guide people from games they like to games they might like as a result. You’re the flesh and bones Pandora for games, and I’m not sold on the idea that people who like to match 3 things in Bejeweled will enjoy matching 3 things in Triple Town. They might, but probably not because they just happen to like the action of matching 3 things regardless of the how, when and why of it. I enjoy both Kindergarten Cop and Terminator and would recommend both movies. I would not recommend both movies to any two groups of people just because of Arnold. What he brings to one he does not deliver in the other. If that’s the only common thread of interest my recommendation is going to fall flat. Same actor, VERY different role. Same action, VERY different role.

So What IS Triple Town?
I think it’s a strategy-puzzle game, which is lightyears away from what people think of when they hear match-3. The pacing of Triple Town is completely different than Bejeweled games. The process for arriving at a match is completely different. The impacts of choice and luck are completely different. They share the action of matching 3, but as a thread of similarity the association between the two is extremely weak.

Although it’s a digital game, Triple Town has more in common with brick and mortar board games like The Settlers of Catan than it does with its so-called digital match-3 brothers and sisters. And the people who enjoy frantically dropping down gems in Bejeweled may very well not appreciate the calculated and challenging puzzle of building up a Triple Town.

To the point that people are accustomed to consuming apps like so many chips and dip during the Super Bowl, Triple Town could certainly suffer a worse fate than having the enormous match-3 crowd take a look, even if it’s for the wrong reasons. No harm no foul I guess. But in the spirit of appreciating Triple Town for what it really is, I wish that more reviewers would describe in plain English that Tiple Town involves some matching, rather than simply branding the “match-3 genre” into its hide.

Triple Town LogoHowever you slice it, Triple Town is an enormously fun game that you should try (it’s free). And if you haven’t already played Bejeweled, well… I’m really not sure how you made it this far into my article. Either way, thanks for reading!

In the interest of leaving you on a less serious note, I think maybe @victordecarv put it best:

Touche.

What Cries From the Screen is Your Mistakes

This morning I watched a documentary called “Thumb Candy – A History of Computer Games”. It centers on interviews with many early video game pioneers, beginning with Steve Russel who wrote Spacewar! in 1962 for MIT’s PDP-1.

While worth watching, I’m not here to recommend the film. I wanted to point out a snippet taken from around the 44 minute mark, during the interview with legendary Tetris creator Alexey Pajitnov. The host asks Pajitnov a familiar question:

Why is Tetris so addictive?

Pajitnov points out that when the game ends, the remaining clutter that once was your game board becomes “a picture of your mistakes”.

Gesturing at the HUD, he remarks that “your results are somewhere in this number, in the score” but “what cries from the screen is your mistakes… and you want to fix it right away”. It’s subtle, but I think there’s some truth to that.

To lose and have your score staring you in the face is one thing, it’s just a number. But it’s another thing all together to be forced to look at your game board, sad and cluttered after you’ve worked so hard at keeping it clean. Without scores to compare yours to, a number has little meaning. But there’s no ambiguity to the meaning of the tangled wreckage that is your final screen.

I know I can do better.

We talk about this a lot at the office and often refer to it as the “just one more game” effect. How do you create a game that always makes you want to play just one more? Surely there are many contributing factors:

  • length of a single game
  • how easy it is to restart the game quickly
  • how much progress the player loses upon restart (no items to re-collect or abilities to re-acquire)
  • how fun the game is – duh

and so on. But I think there’s something very elegant about the idea of having a history of your failure splayed out in front of you at the end. A straight piece standing defiantly just one block from its intended home, another desperately over-rotated into an awkward final resting place. The final moment of Tetris can be a horrifying window into 20/20 hindsight and there’s no doubt it lends a hand in coaxing the user to give it just one more go.

I know I can do better.

It’s such a simple concept but one I’d never really considered on this basic a level until now. I will be thinking about ways to incorporate it into my games in the future. And in the spirit of it, why not read just one more article. :P j/k

How Stephen King Can Make You a Better Game Designer

In Stephen King’s book, On Writing, he talks about “situational writing”. Sometimes, rather than writing towards a specific end, he’ll create a scenario and write around it.

You wake up to find yourself in an unfamiliar room. A man is unconscious on the floor and he’s bleeding, but you can’t see his face. The door is locked from the inside but you don’t remember how you got there. In your pocket you find a few bus tokens, a note in a foreign language and a cell phone… no batteries.

This scene raises a lot of questions for and about the man who woke up:

  • How did he get here?
  • Who is the man on the floor and does our character know him?
  • Who locked the door and why?
  • Did he take the bus there or was he on his way to the bus? Does this character normally ride the bus or is that outside his normal routine? If so, why did he end up taking the bus?
  • What country are they in and is it a familiar one?
  • How do they get out of the room?
  • What good is a cell phone with no batteries…?
  • Is the other man alive? Friend or foe? How did he get hurt?

The questions could go on forever. But as you start to answer them, you build backstory, you move the story forward and you ask yourself (as the writer) questions about the characters that will start to give them personality. From there a story is born.

Whether you’re trying to come up with a concept, the same technique can be used in game design. Let’s try a quick one:

It’s a post-apocalyptic world. Some devastating event has massacred not only the plant and animal life on the planet, but it’s disrupted the very planet itself. Everything is in chaos: Constant earthquakes, lava and steam vents spew randomly from the surface of the planet. The planet is experiencing violent and dramatic weather changes… climates that would normally be thousands of miles apart are now tangled up against one another. From the shadows you hear awful shrieking, groaning and hellish cries from sources unknown.

Now, certainly this paints a vivid picture that will drive the story. Who is the character and why did HE survive? How many others survived? Is he searching for someone? What is making those awful noises? Is this planet Earth or another planet all together? What year is it? And so on…

These are all great questions that will get you well on your way to an interesting game with a rich story. But you can also use situational writing to come up with a type of game and your mechanics, both of which will drive what makes your game fun, unique and challenging. Some questions I’d ask myself about this world…

  • How does the hero react to the different climates? Can he stand extreme heat and cold?
  • Does he need special suits to withstand extreme temperaturs? Is there a puzzle element here, like The Lost Vikings?
  • Strong steel and concrete structures would probably have survived. Maybe the character is making his way across the ruins of a city, the remains of which are mostly the twisted skeletal structures of skyscrapers and subway tunnels.
  • How does he move across this landscape? Does he slide down twisted beams? How does he react to heights? Maybe his movement slows or gets wobbly the higher he gets. Can he wall jump?
  • I bet our hero would have his dog with him. How can a dog fit into this game? Is he protection, like a shield who takes hits for us? Can we play as the dog? Does the dog sniff out food or other hidden items? If so, he’s a privilege, something that makes the game easier. So what in our game can take the dog away and how do we prevent it? How do we get him back when we lose him?
  • If this isn’t Earth, what’s the gravity like? Is it weak like the moon? What kinds of challenges and benefits are there to moon gravity? What about heavy gravity?
  • Maybe now the planet has screwy magnetism and the hero has crafted metal boots to take advantage of that. What kinds of challenges can be born out of this concept?
  • What about shifting gravity? How about strong winds or shifting landscapes? Is there a trigger that warns us of upcoming shifts or do these things just happen at will? Can I find or make something later in the game that gives us this warning? Maybe it’s the dog… if we still have him.
  • What about all of this makes the character fun to play?
  • What about all of this will make him difficult to master?

The questions can go on and on. But you can see how very quickly you’ll find a place to start. Once you start fleshing this stuff out, you’ll begin to identify the hero’s strengths and weaknesses. You’ll define the types of challenges he’ll face, the enemies he (or she) will encounter and how they behave, react and use this landscape to their advantage. Just a few sentences can pose a ton of questions, probably more than you can answer. But situational writing is a great way to get started building the world your hero will live in and the rules, advantages and challenges that will make playing as him (or her) fun.

By the way, if somebody wants to make this game… go for it. If not, maybe I will ;)

UPDATE: I received some good feedback on this article and it appears that I wasn’t clear on how story and mechanics interrelate. Typically, they do not or at least they do not have to. If you changed the characters and objects in Super Mario Bros. the mechanics of the game probably wouldn’t change . The story doesn’t dictate how he jumps, how fast he runs and certainly not why Flower + Person = Fire. The intention of this article was to suggest one way you can get yourself started if you’re staring at a blank page. If you’ve got nothing, thins kind of thinking can shake ideas loose. You can reverse engineer a story into a game, then work forward as if you had started from the mechanics you stumbled on through situational writing. Thanks for the feedback!

How to Simplify Programming Challenges

I recently had a young programmer named Jack (that’s not his butt to the right) ask me for help with a game he’s been working on. I don’t want to give away too much about his unreleased game, but for the sake of discussion I have to at least tell you that it involves a big ass rock that goes around smashing the crap out of different shit. (and 2 sentences in I’ve hit my butt reference limit for this article)

The version he shared with me was pretty far along but he was stuck on one particular detail; getting the rock’s tail to point in the proper direction. Essentially he wanted the tail to point away from the direction the rock was moving, similar to the tail a roll of toilet paper might draw when thrown through the air.

This is a fairly common challenge in game programming and I, like many other game programmers, have done this in the past. I have code that I would have happily handed over to him, but after speaking to him we decided it would be more valuable for me to push him in the right direction rather than just take his FLA and fill in the blanks. I’ll spare you the Chinese proverb about teaching a man to fish..

On Problem Solving
Whether you’re programming super complicated banking software or just making a simple number guessing game, the process is the same.

  1. What do you need to do? Define the challenge.
  2. What do you know? Assess the tools and info you have at your disposal.
  3. Do you have all the pieces? Figure out if what you have can be used to solve the problem.
  4. If yes: Create a plan for using what you have in order to solve the problem.
  5. If no: Break the problem into smaller challenges and return to step 1

This is of course a grotesquely generalized version of problem solving. But what’s important to note is that by asking the right questions you can distill ANY problem into simpler more manageable parts. No matter how complex, the solution to all programming challenges (and most real life ones too!) is simply the sum of smaller problems solved in the right order.

Asking the Right Questions
Let’s take a look at Jack’s problem and how we might break it down into a solution.

1. What do you need to do?
We need to rotate the rock so that it’s “facing” the direction it’s moving.

This is a “plain English” definition of the problem, which is the best place to start, but before we can continue we’ll need to convert the definition of our problem into something we can quantify.

Since movieClips have a rotation (_rotation in AS2) property, it’s likely that we’re going to need to use this to point the clip in the right direction. We know that the rotation property accepts degrees, so we’re probably looking for an angle.

The real answer to Question #1 is:
“We need to figure out the angle at which the rock is moving.”

2. What do you know?
In this step you’ll want to keep the answer to Question #1 in mind, but it’s perfectly fine to be liberal about listing the things you know. You can sort out the relevant data from the irrelevant later, but you never know what piece of information might spark an idea so to start it’s a good idea to list whatever comes to mind. (be creative!)

  • Since the rock is a movieClip we have access to all of its properties; rotation, x, y, etc. These 3 are the most likely to be useful, but remember movieClips have all sorts of properties.
  • It’s moving so we probably know its speed in the x and y directions
  • Our rock might be in an environment with some rules, such as gravity, windspeed and friction. It’s our world, so we’d know all these things too.
  • We also probably know who shot Mr. Burns. Who doesn’t? But I can’t imagine that’s going to do us any good.

3. Do you have all the pieces?
Now that we’ve listed the stuff we know, we have to sift through it for something that might help us calculate an angle.

If we can define a line, we can calculate an angle. Well, a line is defined by two points so let’s look at what we collected in Question #2 and see if we can come up with two points; two points that define the path of our rock.

We have the current location of the rock, via the x and y properties of the movieClip, which would be the end point of our line. We need the starting point to complete the line, which we don’t have in our list.

This means that the answer to Question #3 is “No”. We have to put this part of the problem on hold for now and refine our problem into a more specific question:

Where can we get the starting point so that we can draw a line?

Luckily for us this is an extremely simple problem. On every frame we’re going to be updating the position of the rock. So all we have to do is store the current position of the rock before we move to the next frame. (I recommend a variable called lastPosition)

If we do that, we can add lastPosition to the list of things we know, which gives us two points. We’ve got our line! This means we can calculate an angle, which means we can figure out what angle we need in order to point the rock in the right direction. We’re almost done!

The next thing we need to do is write a function into which we can pass our starting and ending points that will give us an angle in return. Since this isn’t a math lesson, it’s a lesson about learning to fish (OK I lied about the proverb), I’ll just write the function for you. They’re adapted from one of my favorite books, Keith Peters’ Foundation Actionscript 3.0 Animation: Making Things Move! (I’m also a big fan of this book) Both are fantastic resources for math, physics and other common game programming stuff.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// AS2
function getAngle(startX,startY,endX,endY):Number{
	var dx:Number = endX - startX;
	var dy:Number = endY - startY;
	var radians:Number = Math.atan2(dy,dx);
	return radians*180/Math.PI;
}
 
// AS3 
function getAngle(st:Point,end:Point):Number{
	var dx:Number = end.x-st.x;
	var dy:Number = end.y-st.y;
	var radians:Number = Math.atan2(dy,dx);
	return radians*180/Math.PI;
}

The last thing for us to consider is how to setup the rock clip. If we set it up so it’s facing to the right in its default position [rotation=0], the angle we get back from our function will point the rock in the correct direction.

There you have it, a seemingly complex problem broken down into a few manageable parts.

This problem was small, but the process is applicable to a project of any size and challenges of any complexity. The key is accurately defining the things you need to achieve. From there you can survey what you have at your disposal and see if what you have can be used to get what you need. If you can’t, you need to define more specific questions until you have all the tools and info you need to finish the job. It’s just that simple.

Now go, build the next Farmville or twitter or Google Wave, you know…something really useful. Oh, one more thing, bedonkedonk… I lied about the butt thing too ;)

Thanks to Ajay Karat for lending me his rock and fire art for the trajectory sample above.

Olderposts

Copyright © 2024 Bacon and Games

Theme by Anders NorenUp ↑