Jump to content
  • Advertisement
Sign in to follow this  
Robo-Link

Create your own tools, or use someone elses?

This topic is 3617 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.)

Share this post


Link to post
Share on other sites
Advertisement
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Thank you both very much for your insight. I've decide to try using other peoples tools for my project. Once again, thank you.

Share this post


Link to post
Share on other sites
Quote:
Original post by Kest
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.
It 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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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).

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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!