I have had a few discussions with friends lately about the merits or not of me doing certain stuff myself, or getting (paying) other people to do it. When you are an indie developer, you essentially have four choices when it comes to a particular aspect of your business (for example, managing advertising).
- Do it yourself
- Pay someone else to do it on contract/ad-hoc basis
- Partner with someone else to do it
- Employ someone
I rule out the last one, because I work from home, and having an actual employee with pensions and national insurance and not easily dismissed and all that sounds like huge hassle (thanks government!) so I am left with the first three. I used to always do everything myself, then I made a transition to the second and third options for stuff like art and music, where the end results were much better than anything I could have done myself. I am currently wrestling with the problem of what to do with stuff I *could* do myself, but am too busy to do.
Take, for example, the idea of porting games to new platforms/devices. I *could* learn to do this myself. I’m clearly not *that* bad a programmer, and I’m sure I could learn OpenGL/Mac/Linux/Smartphone stuff/HTML5, etc and spend the next year just porting my next game to all those different environments. The question is, is that a good use of my time?
If you aren’t familiar with the terms ‘opportunity cost’ and ‘comparative advantage’, you should google them right now. They are fascinating concepts, that you learn in economics, but are applicable to almost everything. I still remember being amazed at LSE when I learned that country A can be better than country B at producing absolutely EVERYTHING that country A or B makes, and yet still there is benefit to the two countries trading. Look it up :D
Anyway… to get back on topic, I think there is a natural tendency amongst indies to only outsource/contract out work that they ‘cannot’ do, rather than do the maths and accept that there is stuff you *could* be doing, but it makes more sense to do something else, which earns enough to pay someone else to do that stuff for you. We do this in our daily lives. I *could* wash the car, or I could pay a robot to do that. I *could* learn how internal combustion engines work, but I pay a mechanic to fix the car. I think you should apply the same logic to game development.
So I won’t be doing the last one on the list, or the first, but I still need to work out the right combination of the middle two for any new stuff I take on. These decisions are never easy…