We are working on a new iPhone game in our spare time as just a fun weekend project. It is an action game with some puzzle elements. Above is some of the concept art. The working title is Boulder Smash, however our marketing resources are working on the most appetizing name they can conjure, as well as a name that won't solicit lawsuits for copyright infringement. It's also just not nice (or our business model) to steal someone else's name or unwittingly interfere with existing intellectual property.
The beetles and gems are some of the various prizes that can pop up. You tap them quickly to capture them for extra points and to complete various collections for access to bonus stages. A segment of the population likes collection style activities in games so we are thinking this game play element will be appealing to them.
As I was writing the methods which instantiate these prizes I was thinking about variable and method names that would succinctly describe themselves and came up with names like boulderPrize and spawnBoulderPrize since these types of prizes come from tapping boulders.
The artwork was done in Adobe Illustrator which is well suited for the simple style we chose. Illustrator really helps make art asset generation easy.
We are building the game engine from scratch just using UIKit for the entire game. No Quartz, no fancy libraries, OpenGL, or even Cocos2d.
Even without any of the above, it is really amazing how little code is required for the game engine and how very complex animations can be done in just a few lines of code in Objective-C and iOS.
We love to talk about system design internally, with our strategic partners, and with customers. Our business plan goes into great depth about how the vast majority of games and software titles out there get fairly poor reviews, i.e. less than a rating of 80%, or 3 out of 5 stars etc.
What causes all of these games to be regarded so poorly? Is it lack of vision, passion, or expertise on the developers part? Is it the business side of the industry interfering with the creative process, or pushing to release something that is not ready? Why are there so few truly great games? Thinking back over the last decade, there have been whole calendar years without any blockbuster titles.
Developers and business leaders have rectified this some by releasing sequels to already existing hits. This may stifle innovation a bit, but most of the time I see them doing a good job of correcting past mistakes, and even adding depth, new elements, and new twists to their franchise.
Game and application design is a subset of system design which is my passion. Economy of design (call it KISS or LEAN or minimalsitic design principles) is truly an art-form that is beautiful to behold, and its elegance is immediately apparent.
The goal is to achieve the desired result in the fewest possible steps. The same thinking in software engineering exists in technical writing, consumer product design, transportation logistics, martial arts, bioprocess system design, and aseptic operations in manufacturing. You see it in nature wherein the successful animals are the ones that acquire the most food while expending the fewest calories.
It is a lean system designed to kill and then periodically make baby cheetahs. It is a life support system for sharp teeth and claws. Everything about it supports this end. It is an elegant animal, no?
You can also see it throughout human history in the desisgn of the spear or shovel, and in the economic movements Greek and Roman phalanxes.
William Shakespeare summed it up nicely around 400 years ago:
"Brevity is the soul of whit."