How To: Implement a Fog of War – Part 1 – Chunky

The original post was so big that I split it up into two parts.

A standard feature of real-time strategy- and tactical games is what’s called a “fog of war”. The term comes from traditional warfare and it tries to describe the situational awareness experienced by participants in military operations (from Wikipedia). Continue reading “How To: Implement a Fog of War – Part 1 – Chunky”

How To: Implement a Fog of War – Part 1 – Chunky

Tip o’the Day™ 2: Commit Often

I will assume that you’re using a revision control system of some kind. If you’re not, you really, really need to. Even if you’re the only person on the project, you need to use something. Whichever system you use, be it Subversion, Mercurial, CVS, Git, etc., there are a few subtle, but significant differences in how you use it that can have a tremendous impact on productivity. I’ll show you a few techniques on how to use your system more effectively. Continue reading “Tip o’the Day™ 2: Commit Often”

Tip o’the Day™ 2: Commit Often

Don’t Make Me Think

When it comes to reading code (mine or someone else’s, it doesn’t matter; reading is reading), I have a really short attention span. I don’t want to spend a lot of time analyzing the code to figure out what it’s doing. I want to treat the code just like the sun: glance to get a sense of it, and then look away.

This is especially true when debugging. Most of the time you spend debugging is trying to find the cause of the problem. Once you have found the cause and collected your data/evidence, the actual task of fixing the problem is pretty trivial. When I debug, I’d like to instantly know what the code is doing. Any extra time I spend figuring out what the code is doing is really annoying, even if it’s just a few seconds. Continue reading “Don’t Make Me Think”

Don’t Make Me Think

Tip o’the Day™ 1: Take Advantage of Consts

The Tip o’the Day™ series is an on-going list of light, but focused tips and suggestions on how to improve the quality of your source code. The idea here is that each entry is small enough to pickup and try immediately.

Conditionals and Consts

Here’s something you might not have thought about doing with your conditionals. I came across this quite some time ago and I gave it a try because I thought it made sense. Now it has become a habit so I do this all the time. It’s not a drastic change from your existing coding habits and it doesn’t require much effort, but it will help you find errors in your code more quickly. Continue reading “Tip o’the Day™ 1: Take Advantage of Consts”

Tip o’the Day™ 1: Take Advantage of Consts

I Know What Your Files Are (or, Why You Should Hide Your Data)

Fair Warning: this week’s post is going to be pretty technical and will talk directly to developers. The post assumes that the reader has created their own project in Xcode, or at least knows how to build a project in Xcode and knows what the results of the build process are.

Should you be worried that I know exactly what your bundle contains? Does it bother you that I can use your files directly without your knowledge? How about this one: would you be ok with me taking your files and creating a clone of your app? This might come as a surprise to you, but unless you do something about it, there is nothing stopping someone from doing all of these things to your app. TODAY! Continue reading “I Know What Your Files Are (or, Why You Should Hide Your Data)”

I Know What Your Files Are (or, Why You Should Hide Your Data)

Reducing the Download Footprint

For a long time now, I have been thinking about what developers can do to reduce their app’s size. I’m not talking about the easy and obvious stuff like file merging and data compression, though we’ll talk about that in a future post. I’m talking about the extra steps developers can take that would really make a difference in their app’s download size. Continue reading “Reducing the Download Footprint”

Reducing the Download Footprint

The Wired Issue

Wired’s new iPad app was released on May 26, 2010 and instantly became Apple’s iPad App of the Week. It has been touted as the future of magazines and a bold step forward for digital and interactive content. Indeed, someone who works in the publishing industry has even said, “It is, ultimately, the best digital magazine on the best platform yet for digital magazines.” Continue reading “The Wired Issue”

The Wired Issue