Wednesday, August 25, 2010

Day 2: Math + Math = More Math

For those of you keeping watch over my daily progress you may have noticed that today's entry is marked Day 2 instead of Day 3. (Yes, I do know how to count and no, I'm not cheating.) The reason is actually a tough one. Yesterday was a very surreal day of personal tragedy in my wife's family. I'm not going to elaborate on the specifics here as it isn't the purpose of this blog to document personal matters. Let's just say that despite my best efforts to spend time on my gaming goals every day this month something completely out of my control took precedent and leave it at that. I did manage to get a few tiny research things done, but not enough to count as a day in my mind.

So then, on with the 30-day game challenge.

Remember how your teachers always used to say how important learning math would be someday? Remember how you scoffed in their face because you were going to be an artist or a sports star and there was absolutely no practical use for algebra, trigonometry, geometry and stuff like that in your memory banks? Remember that?

Well, this is one of those moments in life where it bites you! Suddenly, you realize they were right the whole time. It turns out math is important after all, imagine that, and not just elementary math the big stuff! Yup, it's time to start thinking like a genius again and getting reacquainted with your old friends sine, cosine, tangent & the Pythagorean Theorem. I spent a better part of my day today doing just that. Reminding myself about the joys of higher learning and how good I will feel knowing the "useless stuff" I learned in high-school actually was worth learning.

The moral of the day: No matter how simple a game concept may seem on the surface, and no matter how user friendly a "code free" game development engine may appear on the surface, the reality is at some point you are going to have to roll up your sleeves and dive into the mathematics of game development.

For me it was figuring out an equation that launched my main character into the air at a trajectory determined by the angle of the user's touch and the distance between the character being launched and the user's finger. After a bunch of attempts, partial successes and outright failures I employed another math equation and solved the problem.

Want to know what that equation was?

Frustrated Me + Help from Friends = Productive Day

Never underestimate the power of a second pair of eyes. If you set out on a 30 day challenge of your own, it doesn't mean you have to do it alone.

Now before I sign off for the day, I wanted to introduce you to somebody important. After considerable thought I've decided the storyline for my game is most certainly going to center around a bunny rabbit. Why? Because bunnies bounce, they're super cute and they are hard to take seriously when angry. Awwwww...see what I mean? A face like this is worth millions on the app store.


Meet Bounder. He's going to be our lovable hero for the remainder of this journey. Just so you know, I created this character a couple days ago while pondering if I should tackle a 30-day game challenge like this. Well, today it's official. I'm using this little dude for my gameplay and he's already turning out to be a ball of fun (and trouble). He's a mischievous, bouncy and loyal furball who is always ready for adventure.

I have long-term plans for our leaping little lad, but his first game needs to be something I can really sink my teeth into. Something fun, but simple. And with a spring-loaded figure like Bounder, I'm thinking it should be something with some serious pouncing in it...don't you?

I wonder how high he can jump?

Monday, August 23, 2010

Day 1: Defining the Concept

Today marked the first day of my quest to develop a casual iPhone game in 30 days...from scratch. I know, I know, I can hear you game developers laughing already (this guy is nuts, he's never going to do it). The truth is, I'm pretty new at this and even though I have a strong multimedia design background and a love of gaming, my knowledge of programming is about as deep as my goldfish bowl. Even though I've developed a couple of flash games, I didn't program any of it...my brother did. Sure, I'm familiar with coding, but I'm primarily a writer, a designer - a creator of brands.

So, what business do I have developing an iPhone game in the first place?
Good question.

One could argue that I'm ignorant of the immensity of the task before me and they'd probably be right. But since I don't know what isn't possible...I might just achieve it! I believe too often we eliminate the possible from ever happening simply because we THINK we know it can't be done. Granted, there is a time to be realistic about things (please don't jump off the empire state building thinking you can fly), but there is also a time to dream and let your inspiration be what drives you to do something impossibly great. Sometimes you have to commit to putting a man on the moon before it's ever been done, or calling that girl that makes your heart beat wildly even though she seems way out of your league. And even though all reason seems to say that "it's impossible", there comes a time to give it everything you've got and put yourself in a position to expect a miracle.

That's what I'm doing. I may fail horribly...but I'm going to try it.

Enough with the "pie in the sky" stuff. I bet you want to know how exactly I plan on doing this.

By starting with specific goals and a plan of attack. Now, if you feel compelled to follow me on this crazy journey via these blog entries it's only fitting that you understand what it is I am trying to achieve. Here are the specifics:

1. My goal is to submit a casual game to Apple for release on the iPhone in 30 days or less.
2. The app will have to be something of value...worth paying at least $0.99 (this is not a promotional app or marketing scheme)
3. I will do so using the rapid development platform known as GameSalad (www.gamesalad.com). This revolutionary software package will help eliminate my need for most programming skills.
4. All graphics will be original artwork by me (no pre-rendered characters)
5. The storyline has to be fresh

So now that you know my plan/goals, let me share what I did for my first day on the job.

For starters, I spent the better part of the day discussing my idea/quest with several friends in the gaming community that I know and respect. After gathering their feedback on what made a great casual iPhone game that's fun to play for all ages I came up with the following goals:

1. The game must be simple to operate. One or two actions (at most) should be required to accomplish the majority of the tasks required for gameplay. This ensures a good crossover market between adults and kids. After all, with as many iPhone as there are, if a game navigation is too complex to figure out...the audience will look elsewhere for something fun to play.

2. Use "move" based actions. This game should not require quick reaction times by users in order to avoid "enemies". If we keep it logic based and possibly allow for users to even "undo" their previous moves it keeps the game more casual and encouraging to the user base. Think "chess game" not "xbox game". If you can make it multiplayer...all the better.

3. Give them the same thing...only different. This suggestion is for both enjoyment and rapid deployment. With only 29 days left I will need to reuse the same functionality over and over again. But this isn't a bad thing. Actually, repetition is one of the things that makes games so enjoyable. You play UNO because it's the same thing (but with different challenges each hand). The same function is required for iPhone games as well. Get a good concept and repeat it for multiple levels with slight (and increasingly harder) variations on the same goal.

4. Tip your hat. Don't leave your users guessing in the dark. Give them enough information to plan their next move effectively. Even if they guess wrong, they will be glad you hinted at the answer and adjust their approach when they try it again. If you confuse them too much...they'll never come back.

5. Make it social. Allow users to post their high-scores on a website or brag about the game on Facebook. If this can be integrated the user base for the app will broaden quickly.

and Finally...

6. Destroy stuff. Let's face it - it's fun to watch things get blown up/broken. It's part of the allure of gameplay. We can't do it in "real life", but if we can vent our frustrations through creative gameplay it can curb our curiosity and make us smile.

I'm going to add another element to this list even though it wasn't said. I think having a compelling storyline (no matter how simple or fantastic it might be) will help appeal to the user's heartstrings and emotionally attach them to the game. I'm not talking anything "tear jerking" here...just something to connect them with the gameplay in some way.

That being said, I did some brainstorming and came up with the following log-line for my game.

"A spring loaded rabbit discovers the bunny of his dreams has been taken captive by an evil hedgehog. He must collect 24 golden carrots before sundown or he will never see his sweetheart again."

Sounds like a hollywood blockbuster in the making, eh? Well, at least its a start.

My thought at this point is to make the game about "leaps and bounds". How many leaps will it take to retrieve a golden carrot from each level. The fewer leaps you require...the better your score. The idea is like "bocce ball" but with bunnies. Sounds simple enough, right?

We shall see.

Until tomorrow...sleep well and dream big!