Create your own tools, or use someone elses?
What are the pros and cons to creating your own tools or using someone elses? And what do professional game developers do?
(I.E. Creating your own 3D model format/viewer/editor, or using Blender.)
Well, the pro to developing your own tools is that you can get exactly what you want. The con (and a big one at that) is how much of a time and money sink it is to develop your own tools.
At work we have been developing our game engine and many of the supporting tools in house. I personally think that in general this hasn't worked out in our favor thus far, but I don't make those decisions [wink] For a project that we are planning on next year we're probably going to wind up licensing an engine for it. The man hours we'd need to devote to supporting additional platforms with additional features in the time we have before we start development just isn't feasible.
We certainly don't develop our own 3d art tools (very, very few companies do, but I know of a couple of them and they're all film companies, not videogame companies). Game specific tools are written in house, though. For instance when I was working on Iron Chef a guy wrote a tool for me to manage all of the data for assembling the recipes and adding all of the supporting text.
At work we have been developing our game engine and many of the supporting tools in house. I personally think that in general this hasn't worked out in our favor thus far, but I don't make those decisions [wink] For a project that we are planning on next year we're probably going to wind up licensing an engine for it. The man hours we'd need to devote to supporting additional platforms with additional features in the time we have before we start development just isn't feasible.
We certainly don't develop our own 3d art tools (very, very few companies do, but I know of a couple of them and they're all film companies, not videogame companies). Game specific tools are written in house, though. For instance when I was working on Iron Chef a guy wrote a tool for me to manage all of the data for assembling the recipes and adding all of the supporting text.
It depends on how complex the tool would be to develop. If it's rather simple, then the cost of being restricted by someone else's tool might be too high.
There's also the point of automation. Game resources often have many necessary frills that artists and developers need to add on to everything they create to go into it. By creating your own tools, you can make some of those things happen automatically, saving far more time in the long run.
Otherwise, if an existing tool does everything you need it to do, it would be stupid to make your own. Well, other than for fun or learning.
There's also the point of automation. Game resources often have many necessary frills that artists and developers need to add on to everything they create to go into it. By creating your own tools, you can make some of those things happen automatically, saving far more time in the long run.
Otherwise, if an existing tool does everything you need it to do, it would be stupid to make your own. Well, other than for fun or learning.
Thank you both very much for your insight. I've decide to try using other peoples tools for my project. Once again, thank you.
Quote:Original post by KestIt is worth pointing out that this goes for more than just tools. For example, implementing a physics engine from scratch (other than for educational purposes) is stupid, considering that physics is time consuming to implement, relatively hard to get right, and there are many, very good existing physics libraries.
Otherwise, if an existing tool does everything you need it to do, it would be stupid to make your own. Well, other than for fun or learning.
One thing to note is that many existing tools provide methods for customization. For example, 3D modeling tools frequently can be customized via scripting or plug-ins, often both. So if one doesn't support exporting to a file format you like, you can often write a plug-in to export to your own format.
I personally like to make my own (assuming I have the knowledge required to do so) just so I can learn more about how they work. I find it a great programming exercise. But in a real application or product, I'd rather use someone else's. Theirs would be more stable, better designed, and increase my production time.
Basically, yeah, what others have said. If you're doing it for learning (and you are interested in knowing what goes into making a tool), do it yourself. If you want to get to a finished result as soon as possible, or would rather concentrate your learning in other areas, use someone else's (provided it is suitable for your needs... you may not always be so lucky and have a choice).
Just one note, I heard it's better to write a format converter tool rather than an app/version-specific export script. Reasons are that the tool you use may change (different brand, different version, etc.), breaking your export script in the process. Whereas a good converter tool will always do its job and won't require (as much) maintenance in general. And you can always convert between different formats.
I haven't tested that idea myself, but it seems like good logic to me.
Quote:Original post by SiCrane
One thing to note is that many existing tools provide methods for customization. For example, 3D modeling tools frequently can be customized via scripting or plug-ins, often both. So if one doesn't support exporting to a file format you like, you can often write a plug-in to export to your own format.
Just one note, I heard it's better to write a format converter tool rather than an app/version-specific export script. Reasons are that the tool you use may change (different brand, different version, etc.), breaking your export script in the process. Whereas a good converter tool will always do its job and won't require (as much) maintenance in general. And you can always convert between different formats.
I haven't tested that idea myself, but it seems like good logic to me.
That works under the assumption that an existing format contains all the information that your format needs, which may not be true. After all, you're using a custom format for a reason in the first place, right?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement