I've been writing a small game in Python that generates random dungeon rooms with creatures for the player to fight. It's all text based, choose your own adventure style. A couple months of working on it later, I'm wondering if it would be better to seek some development software instead of manually coding it all? When is it better to code manually and when is it better to use a tool (Unity, Gamemaker, etc.)
There is no guidelines for this, as it's based on your own opinions, priorities, needs and such matters, that none else can really answer.
However, i'll give it a shot.
Code your own stuff if:
- You really just wanna learn to program and become better in it.
- There is no tools made for this job.
- You are kind of person ( like me ), who can't seem to finish anything, but likes to code.
Use existing tools if:
- You are trying to make money with game and time is your worst enemy.*
- Your skills are not even remotely there, what others has done and you really need to have it working as nicely. ( Physics libraries, particle engines etc )
- You don't really like coding, but still are interested in game making
So, these "guidelines" came from my head and might not make any sense to you, but it's something to think about.
* If you are creating games as day job, ie, you need to make money out of time invested in the game. Then, you just can't develop everything by your self. This means that instead of coding your 3D engine, you have to adapt and use something others has done. UDK, Source and Unity3D offer great variety and great power for 3D games. It's hard to compete against those with your own engine, while making money out of game.
And its not just engines, its network libraries, physics and all that. Libraries that might have been tested and used for many years already. If you are limited with time, then you can't start everything from scratch