Bank Shot (AKA OddBall)

5:27 PM September 24, 2009
What is Bank Shot? It has nothing to do with actual banks. As mentioned in my last post, Bank Shot is the working title of the iPhone game I am currently working on. About 4 months ago I started working with the Unity3D game engine and learning how to develop games with it. I have some previous game development experience, and of course my day job has been as a software developer for the last 9 years, but the Unity engine was brand new to me. So for the last few months I've been reading tutorials (both for Unity and game development in general), testing code and art, and researching various elements of the whole indie game business. Slowly but surely I am becoming more comfortable with this great game development tool, and I'm having a lot of fun too.

I had a few iPhone game ideas written down when I first started using Unity, but I've since put those on the back burner. One of the first things I did with Unity when I started learning it was to fool around with the physics emulator by creating a bouncing ball and various blocks and objects to interact with. This invariably led to a bunch of code and "playground" type prototypes that I built to learn the ins and outs of the physics functionality. And eventually this grew into a little game idea with structure and goals that has since become Bank Shot. The game is currently far from complete, but it only made sense for me to combine my prototype and learning work into something that is usable for a game. Plus, I think the game concept is a great target for the iPhone: it uses a fairly simple mechanic, it offers both real-time interactivity and methodical puzzle solving strategies, and it is easy to pick up and play for a few short minutes while still offering a good amount of depth and replayability.

So, what is the basic gameplay of Bank Shot then? Well, based on my description above it obviously involves manipulating physics-based balls through a series of puzzles. The game is broken up into a series of levels. Each level is a puzzle that must be solved. The goal of every puzzle is to aim and fire 3 physics-based balls out of a cannon and score them into a basket. Sounds simple right? Well it is, at its heart. But to add variety and depth to the game, I've designed various ball effects, powerups and level interactions. For starters, you have 3 different types of balls that each behave slightly differently. One is a bouncing ball, another is a more "floaty" sponge ball and the last is a heavy metallic ball. So they all behave differently with the game physics. There are also 4 different powerups that can be applied to the balls for brief periods of time to help solve level puzzles and to get around obstructions. One powerup lets you stick to surfaces, another extends a parachute to make the ball float, the third turns your ball into a heavy anvil to drop quickly with force, and the last one is a boost action that adds a burst of velocity to your ball in any given direction. By using these powerups in combination with each other and with the other balls, and by carefully planning out your shots, each level can be completed in a variety of ways.

On top of this basic gameplay there is also a points system where you will be trying to complete each level with the highest possible score by collecting items and using the least number of shots. So while Bank Shot is a simple concept at its core, I think it has enough depth to keep it interesting. It fits nicely with the type of iPhone games I currently enjoy playing. But while I'm designing and aiming to release this as an iPhone game, the beauty of Unity's cross-platform engine is that I could also release this game as a web plugin (like a Flash game) and as a standalone PC and Mac game. I haven't worked out the final details of the business side of this project. At the very least, Bank Shot is a learning experience for me both for game development and for the business side of the indie game scene. So my main goal is to gain experience and learn from this project. And I have a lot to learn. So far I'm enjoying every part of it. I only wish I had more spare time to dedicate towards this project.

So what does Bank Shot currently look like? Right now the game is a work in progress with most of the finished work being code. I do plan to post updates of the graphics as the game progresses so people can see it evolve, but there really isn't much to show at this stage. You can definitely expect some more graphical updates in the near future, and eventually a playable web demo. For now you will just have to use your imagination based on the description above and the knowledge that it is designed for the iPhone.

In the coming weeks and months I plan to continue posting blog entries about my development. I've been really enjoying reading other indie blogs about what they are working on, the problems they face and the types of technology and choices they make for their projects. Reading along as they develop their games and business strategies is really fascinating and has garnered my interest in their projects. So I plan to do something similar here to share what I'm learning, what I'm creating, the problems I will encounter and also as a way to elicit feedback. Consider this my first post in that vein. I think my next post will list some of the other blogs I've been enjoying and learning from as I'm sure some of you will enjoy them too. Lastly, to end this post I'd like to see if anyone has suggestions for my game's current title. The idea of the "Bank Shot" title is that you are planning complicated shots where your balls will be bouncing off objects to get around obstacles. So you will be "banking" your shots off walls and such. What do you think? Any suggestions?

This entry posted by Graham in OddBalls
Tags: Game Development, iPhone, Unity3D


These are great graphics!

Posted by:  Davin Greenwell  on September 25, 2009 12:41 AM

Post a comment: