The Indie Developer’s Guide To Selling Games

A new book has just been published that hopes to help indie game developers in the area of business that most of us struggle with. Besides the actual game design and development, marketing is the most important aspect of reaching success as an indie game developer.

No matter how good your game is, if no one knows about it, your sales will suffer.

Joseph Lieberman of VGSmart specializes in indie game marketing and has taken his expertise and compiled it into one volume. The Indie Developer’s Guide to Selling Games is available in paperback ($34.95) and PDF (27.95).

Cocoa Game Programming Workshop

Do you have $10 and the desire to quickly get up to speed on game programming and Apple’s Cocoa framework? I did.

I recently finished a book on Objective-C and Cocoa programming that gave me a pretty good introduction and base for developing applications on the Mac. Though the book was helpful, I still felt lost when it game to taking my recently acquired knowledge and applying it to games.

Enter Cocoa Game Programming Workshop, by David Hill from SpiderWorks.

This $9.95 eBook walks you through developing your own Gauntlet clone.

Well okay, not quite the Gauntlet I remember but certainly a big step forward in putting together a simple tile-based hack-n-slash type game.

The finished game isn’t really the goal though. What I got out of it is a solid base for moving forward with my own Mac game project. Hill, fills in the pieces I was missing and gave me just enough of a start that I feel like I can move forward.

Some of the helpful things I picked up that will definitely help moving forward:

  • Subclassing a Cocoa Custom View to serve as the main game view
  • Displaying images on the screen using NSImage objects
  • Reading and Writing XML documents
  • Accessing resource files (graphics and sounds) included inside the application bundle
  • Setting up a timer with callback functions (selectors)
  • The Cocoa sound API and using NSSound objects
  • Handling Keyboard input
  • Refactoring Objective-C

The book really is geared towards a beginning game programmer. I imagine someone who knows Cocoa and Objective-C to even an intermediate level could probably put this simple game together. But for someone like me, who has no real prior experience with Apple’s development tools, this seemed like the perfect introduction.

There’s enough information to get a game up and running without getting bogged down in too much of Cocoa’s details. Now, I can get started and pick up what I need as I need it.

Book Review: Game Programming All In One, 2nd Edition

Game Programming All In One, 2nd Edition — by Jonathan S. Harbour

Before starting this book, I had partially read at least half a dozen game programming books over the past ten years. They covered topics ranging from simple game programming to 3D engines mostly for Windows on the PC. Since my switch to the Mac shortly after Mac OS X Jaguar was released, I’ve been looking for resources on game programming that would target the Mac, or at least not be so directly tied to Microsoft’s DirectX framework. Finally, this book was what I was looking for. Basic 2D game development using the cross-platform game framework, Allegro.

The book starts off with a general introduction to game development and the author’s history writing games, presumably to establish authority and to give you a sense of what types of games he has worked on. Then, Harbour quickly runs through Allegro and how to install it and compile it for the platform you are running — as long as it’s Windows or Linux. There aren’t any instructions at all for the Mac, but as I covered in my previous article on Allegro, there are instructions online.

Once you have the framework installed (with little to no help from the book) you quickly start writing code to excercise the framework and get used to the general layout of an Allegro game loop. All goes smoothly and looks very promising. Harbour then progresses through the basics of putting together a simple but relatively feature rich, two player tank game throughout the rest of the book. He does take some detours to teach some specific topics about vertical scrollers and horizontal scrollers, but always returns to the tank game as a basis of a progressivly more complex game engine. Overall, he does a pretty good job of keeping explanations simple and to the point with out getting too caught up in technology specific implementations. This makes it very easy to take the ideas, algorithms, and approach of building the game engine to any platform and technology you desire.

The only negative I would point out is that the version of the Allegro framework that the book covers is sorely out of date. If you use a newer release, some adjustment of the code is necessary at points to get correct functionality — but your compiler should give you adequate warnings about deprecated methods and structures and the online documentation should help you find adequate replacements for the outdated methods.

Game Programming All In One is a terrific learning tool for picking up the basics of how a 2D game engine is built. After working through the examples and seeing how the pieces fit together, I feel ready to move forward on my own projects. In the end, the book has provided one of the best return on investments of any technology book I’ve read in quite some time.