In a past post I mentioned how game developers should focus on game production rather than game engine production. While it’s true that game production might require making changes to the engine, I still think that’s the ‘rule of thumb to follow’ – concentrate on making the game, rather than the engine.
While outsourcing and getting 3rd party components is important (and recommended), that’s not always the best solution. Some months ago I wasted some of my time to find a suitable level editor. I even bought one, just to see that the features promised didn’t work in my end. The support said ‘works here’, and I waste more time finding the solution. I have been planning the editor for some time, and today I started programming it.
It’s not complete yet, but after 2 hours of coding I managed to put together an editor that ‘works enough’. It’s simple, yet efficient for what we need right now. It will require some more work to get it usable for player, and it will require some additional features (like saving slots for levels) before it can be integrated in the game.
Nevertheless, I think the biggest lesson here is to find out what you need. I had some kind of idea about what I would need in the past, but as it wasn’t crystal clear – the editor I bought couldn’t match my needs. After all, how could it match my needs when I had only a rough idea about what I would need. Today the needed features for the editor are clear: and instead of hoping to shop for the right editor, I planned and started programming it.
Before you outsource, I really recommend checking out the following:
- Define exactly what you need. This is the crucial part: unless you know what you need, how on earth are you going to get that?
- Estimate how much time it would take to program something by yourself, and how much it would cost to get somebody else to do it. I didn’t deal efficiently with this part when I was looking for the editor, and the end result was that instead of spending couple of days for building my own editor I wasted several days and some money on something useless.
- Decide. Very obvious, yet extremely crucial element. After you’ve defined what you need and estimated how much time or money would it take, then you need to make a decision – and stick with it. I decided to program the editor by myself, and I have much better feeling about this compared to the feeling I had when I bought the editor.
Using 3rd party components is okay, but doing in-house is sometimes a better alternative.