NBA Hotshot (iPhone Game)

Game Icon

  • Product description 3D pop-a-shot basketball game. Reached #29 on Top Applications across entire App store.
  • Release Date Jan 5 2010
  • Product Genesis Had previously built a basketball shooting multigame (Flick Basketball) with my theComplex engine. We redid the models and graphics, breaking this component out into it’s own title to focus and polish it.
  • Team Self, Producer, Artist, QA team.
  • Core Technologies C++ game in theComplex engine supporting iPhone OpenGL
  • Most Proud Of Integrated a theora video decoder for the backboard to animate short videos triggered by the player’s actions, like that seen at arcades. This was on devices that could not yet do any sort of video through standard apple APIs.
  • Responsibilities All code except the ball throw itself.

Gameplay Screenshot

All of the 2d user interfaces were implemented using Interface Builder. theComplex was able to load xib files directly and create OpenGL-based objects with them. This also included support for any aspect ratio screen (as would be needed on Android). Later on I found out the producer was able to create a free advertisement-based version of the game without any need of a coder until it was practically complete.

Backboard and net movement were animations imported from Maya using the Collada importer of theComplex engine.

Added synchronized network play with four other players via GameKit (bluetooth or wifi). It synchronizes the game start, then displays the scores of the other players in real time.

High Score Display Screenshot
Integrated Plus+ leaderboard system.

Built an in game “store” that you can purchase additional basketballs and prizes. How you did in the game awarded you special points that you redeem in the store.

There was a bit of discussion around the ball throw itself. I had built a method of throwing the ball that worked out the ideal angle/speed to throw the ball, and then averaged all the player input to modify it. The feel was pretty easy, good for casual gamers. However the game Skeeball had recently been released and was a fairly big hit. In that game, only the player’s beginning and end of the swipe mattered, and it was used to make a direct correlation to the velocity and angle of the throw. It was much more difficult in my opinion.

An older (but more exciting!) portfolio page for this project.

kinda green

It’s been odd these past couple days for me to be so dang “glass half full”. Tho I think it’s related to a) forementioned great project; b) wifey and I finally reached 100% on Lego Star Wars (those who play know that isn’t easy); and c) completing an independant game called Iji.

To those who play, Iji is a classic side scrolling platformer with great writing, great music, and a main character you can believe. Tho what really got my bacon was the ending stats screen which said I killed a huge number of enemy characters I didn’t need to. This is after an entire storyline devoted to the idea of the insanity of having to kill just to get your voice heard. It really hit me how greatful I am knowing I don’t have to make decisions of that order of magnitude in my real life.

While I’d like to say my kill ratio was just because I’ve played games so long, the fact that I can look back and see many places I could have just run makes me think I should not be playing such violent games.

This week’s buzzword: Augmented Reality

Since iPhone 3gs came out with it’s compass everyone has been talking about augmented reality. So we jumped on the bandwagon. In two weeks I’ve made a full on game for augmented reality on the iPhone complete with skin animated butterflys, full UI, and fairies with fast beating wings. And it’s fun, too!

We can show as many butterflies as we want- it shares the animation results and only processes it once a frame. I really like the engine I wrote over this last couple years. It’s sad that the other projects it’s been in haven’t been very commercially sucessful. This project is different- it’s not being held back anymore. Now that it reads Interface Builder files directly it doesn’t need a secondary user interface engine.

This time around we finally have an honest to goodness technical artist. Every 3d house must have one, and we have a great guy!

Dunno when the publisher will release it but I’m excited about how fast and well we made it!

Why windows cross development can be a pain.

Debug image crashes app, have to compact them on mac side.

Can’t switch to window mode – no button. Compact again on mac side.

Network disconnects halfway into session. Have to reboot.

Windows UAC locks up when switching back to window mode.

Took two minutes to fix, once I could actually reach the problem. Total time: two hours.

Done!

My first iPhone project, Flick NBA Basketball, now shipping! View on Freeverse.com (dead link)

My goodness it’s fun to work on the iPhone. It’s amusing to me, that my career started with Apple ][e’s and the iPhones are based on the same basic architecture (ARM processors). It also seems to separate the coders who actually care about resource (RAM, disk, etc) useage from the ones who just “splat” code.

 

Yup, there I is, “Lead Programmer.” Woo!