Archives by Month - August 2012

OddBall Screenshot Saturday #15

11:53 AM August 18, 2012
I missed last week's update (was out of town and also sick) but I'm back with Screenshot Saturday number fifteen! I've been working on doubling the resolution of my graphics. You see, back when I first started this iPhone game (2009) I had an iPhone 3 and there was no retina iPhone and no such thing as an iPad. The GUI was designed for a 480x320 pixel screen.

Since then (I stopped development for 1.5 years) there has been the introduction of iPhones with a retina screen (960x640), the iPad 1 and 2 (1024x768), and the "new" iPad (2048x1536). My 3D graphics will scale up easily for those resolutions. But the 2D UI was always designed to be pixel perfect so it looks crisp on the screen, and it was designed for the original 480x320 resolution. Scaling that up looks pixelated. So I finally went back and updated my UI code to scale up for different resolutions. This required that I remake all the 2D graphics in a higher resolution (my target is 960x640 which is twice as big as before). For the last 2 weeks I've been working on this. It's been tedious, but the result is a game that looks 2 times better and more crisp. Oddball is now in HD!

Today's screenshot shows the introduction of level 16 where you earn the first Oddball powerup ability: the Umbrella Powerup. This powerup makes any Oddball strongly affected by fans in the level, and opens up the possibility of new ways to complete puzzles.

OddBall #screenshotsaturday #15

OddBall Screenshot Saturday #14

12:40 PM August 4, 2012
Here's Screenshot Saturday number fourteen! I've been continuing to work on graphical updates this week. I've finished the umbrella model and texture, as well as an updated umbrella GUI button that you can see in today's screenshot.

I also updated the side/top/back walls. They use to be 5 separate objects each textured individually which resulted in 5 draw calls. I've since modelled them into 1 mesh and UV mapped the textures so they share the same material. Now they are only 1 draw call, which improves performance for each level. I also tweaked the lightmapping that's baked into them as well. These are all small changes that may not be apparent to the casual observation, but combined they equate to better performance and nicer looking graphics overall.

I've also been working on new wall textures for the various level blocks that have been untextured up to this point. You can see some of them in today's image. This level is a bit grey but that is for a few reasons. World 1 in OddBall has a strong warehouse feel to it and so it is mostly brick and cement in style. Actually most of the game has a warehouse vibe, but it's especially true in the first few worlds. I'm also intentionally making the static level blocks appear more "grey" so that the interactive objects (like moving walls, buttons and of course the OddBalls themselves) stick out more. If everything in the game was overly bright and crisp the art style would be a visual mess. Making sure the important game objects pop out, even subtly, helps the player to clue in to important game mechanics.

However, I do still have a few more "wall" textures planned for world 1 that will add some more colour to the vibe, such as wood planks. I will also be using a slightly different theme for each world, which includes unique textures for each. I just need to take my camera out and grab some more photos to make the appropriate textures from. That is what I will be working on this week :).

OddBall #screenshotsaturday #14