I think that the differences are largely down to the weighting of:
- Objectivity vs Subjectivity
- Plumbing vs Sculpting or Crafting
- Design and Realisation vs Experimentation
Subjectivity vs Objectivity
Games are extremely subjective. A game that is loved by one crowd may be hated massively by another. Business applications can usually be made to fit many different users without alienating half of them due to the more objective nature. Trying to make everyone happy during gamedev tends to result in a mess that nobody likes, either that or two games in one. Either way, a stupendous amount of hours can be burnt up trying to make a game 'liked' only to upset the original lovers of the game.
Plumbing vs Sculpting or Crafting
Business applications are generally built by fixing together various technologies (plumbing) to fit with the business requirements (databases, form systems etc). Rarely are entire systems built from scratch. Games on the other hand tend to be created by building (or buying in) some base functionality then continuously refining and chipping away until you end up with a good, playable, (hopefully marketable) game. Not easy - particularly the last part in my case (see Gravity Core on the right).
Design and Realisation vs Experimentation
Again, business applications are largely built in a methodical manner - even when built using Agile methods. Sometimes functionality may not work out and is scrapped but generally the design is built piece by piece until a required level of functionality is reached. The next phase of the application can usually be visualised by a designer then realised pretty accurately. Quite often with games, the end result is quite different to your original vision as some key features may not work as you envisaged or rebalancing may yield a very different gameplay experience. Huge amounts of time can be spent tweaking, refining and reworking the design with no obvious finish line.
Clearly all software is elements of all of these things but the emphasis is in different directions for games and 'serious' software.
Now that progress has been made on the other project, I'll burn some hours on gamedev next week.