Announcement: Bullfrog Released

Cross Posted on Make Mac Games

After a ton of work over the past month designing and programming my first Mac game, it is finally finished.

All the final artwork and animation is complete. All known bugs have been fixed. The final executable binary has been packaged and zipped.

Bullfrog has been officially entered into the 2005 OMG Cup and public voting opens December 1, 2005 at midnight.

If you’re interested in playing the final complete version of the game, you can find it on the official contest entry download page along with all the other games entered in the competition.

I would love for you to give the game a try and if you like it, please take the time to vote for it.

While you’re trying out games, why not support independent Mac game development and try out some of the other entries. There are some fantastic games waiting to be discovered. Don’t forget to rate each game you try. Who knows, you may discover a new favorite.

Related Links:

I Think I Need a Web Site Designer

I have several web sites that need new designs.

I’m also in need of an e-commerce shopping cart that can be integrated into the site in both form and function to allow for the sale of digital content (ie software). I’m aware of osCommerce and zen-cart but am interested in more simple and user-friendly alternatives. Free is good, but these aren’t always the easiest tools to use, maintain, and upgrade.

Do I link these sites together, do I keep them completely separate? Do I try some cross site branding with a common look and feel? Or does each site need to have its own individual identity and style?

This is a lot to think about and even more work. Do I go for free website templates? Do I try and do it myself? Do I hire a designer? A designer would be pretty expensive for four sites. Maybe, a combination of the above.

I know there are tons of free or cheap web site templates out there. But, how many bad designs do I need to search through to find the right one? Is it worth my time?

Does anyone know of good sites that provide quality templates that are modern but not cliche and over used?

Will a free template look good enough or match the company logo I’m having professionally designed?

I’m feeling a bit overwhelmed.

Lunch Time Recess

It’s funny how lunch break at the day job reminds me so much of the good old days of lunch time recess back in elementary school.

Every day about noon time, the same clique of guys gather to escape the confines of the office and hit the town to grab a sandwich.

Every day: same time, same people, same sandwich.

Spammers Found Me

The spammers finally found this site.

So I’ve implemented spam prevention for the comments section. If you are a logged in registered reader, there is no change. For unregistered readers, there is now a security number to enter in when commenting. Sorry for the inconvenience.

Back to Full-time Contracting

Today is my last day before going back to full-time contract work. I’ve been off since September 15 — a full two months.

When I finished up with my last client, I needed to take a break. I’ve been a full-time contract software developer for almost seven years now with no real break between projects. It was time to recharge the batteries.

As it turns out, what I needed was time to work on my own projects. I was looking for a break from contract development and the break turned out to be filled with more software development.

What I found is that one of the best methods of recharging my energy and enthusiasm for programming is to work on my own projects. There’s something special about taking one of your own ideas and turning it into a working product. It’s completely different than working for someone else.

The first full day I had off to myself, I was overwhelmed with the amount of free time I had on my hands. Now that I look back, I’m amazed that I was able to virtually fill all of it and that it went so fast.

Working from home with no distractions, I was able to complete more than I would have ever imagined. My plan was to have a working prototype for a computer game; to be far enough along with enough momentum that I could carry on development when back working full-time for a client.

I out did myself. I actually have a functionally complete game that only needs some details to be finished and is awaiting professional artwork to be completed and integrated. Additionally, I have a working prototype for a second product that is awaiting its turn for my attention.

Both projects are for the Mac platform, on which I have no real prior development experience. I’ve progressed from a complete beginner in Objective-C and Cocoa to someone who knows enough to be dangerous.

As this day quickly approached, I was initially very envious of other bloggers who have made the permanent jump to full-time MicroISV status. But, I’m now feeling pretty good about what I’ve accomplished in such a short time and very thankful that I was able to take the two months off.

I’m also lucky that my new project looks to be quite interesting. No, it’s not for the Mac, but it looks like I may get to work with .NET 2.0, Visual Studio 2005, and the newest version of SQL-Server.

As much fun as my new contract looks to be, I can’t help but look forward to the opportunity to work full-time on my own ideas again. My next goal: to put enough away in the bank for my next hiatus. Maybe, the next one can be longer.

Apple: Getting Control with Subversion and Xcode

Apple Developer Connection (ADC) has up a new article on setting up Subversion to run with Xcode.

I’ve written several times about my use of Subversion with Xcode, but this is the first “official” step-by-step article I’ve seen from Apple that also includes setting up Apache 2.0 for the task.

I’ll have to revisit this once I finish up my current Mac development project and begin serious work on the next one.

Debugging Cocoa Memory Management

I’ve been trying to learn Cocoa and Objective-C on and off for about a year now. It wasn’t until the past five or six months that I’ve really been able to dedicate the time to climb the steep learning curve required.

One of the big hurdles I’ve faced (and from what I’ve seen others have too) is object reference counting or retain counts. I’ve encountered reference counting before in C++ and in the world of COM on the Windows platform. For some reason, the way Cocoa and Objective-C handles it has proved to confuse me.

The Big Nerd Ranch’s new weblog has a great resource on Debugging Retain Counts.

This is very timely for me. As I’m trying to finish up my first cocoa project, I’m starting to really concentrate on the refactoring and general clean up of my code.

A big part of this process has me concentrating on memory allocation of my objects. When do I allocate? When do I retain? When do I use autorelease?

Now that I know how to debug retain counts, I need a good resource on the best practices of when and how to retain objects.