ID:1394940
 
There may be instances where one might feel compelled to do things his or her own way. A redesign of an engine when libraries are already available, or a custom system even though one is already built in. Whichever the case, doing this is not really a waste of time. There's a few benefits that come with a custom engine or library:

  • Completely modifiable source code
  • Can be optimized
  • Runs native to the engine or system
  • No dependencies
  • May be written in a favored style
  • Any errors would be on the designer's end (you)


To the opportunist, grabbing a tried and tested library for use in his or her own program is optimal. Though, each library and engine works its own way, and is written differently from any other source.

I am not shunning libraries. If anything, it can be beneficial to look at the source code of the library you would like to learn off of and adapt one's own style of it to suit his or her needs. It might just be me, but to have things written by myself helps me out greatly in understanding how the program flows. Furthermore, if there are any design flaws, the one at fault would be the one developing the system (me). I can debug any errors and work things out without having to depend on the reliability of another library made in DM.

There's some things of course that are out of my control, such as the backend of DM itself. I'm sure there can be a lot of things that could be changed, but that is something we all must deal with. I probably wouldn't know what to do about it anyway.
I tend to be fiercely independent and a do-it-myself-er, by personality. And that definitely spills onto my programming habits, so I like to write my own code, even if there's a perfectly good wheel already out there.

That said, I've used libraries in my projects (Murder Mansion uses Deadron's EventLoop, Deadron's Pathfinding, Shadowdarke's DynamicAreaLighting, Polaris8920's .txtParser, and a handful of snippets copy-pasted from the forums over the years.

But in all these cases, it is because the system is/was beyond my ability (or motivation) to create myself. I use them because they're all something I can't/couldn't do (or didn't want to put the effort into)

But even then, none of them are included in Murder Mansion in the traditional "check the include box, and use the provided hooks" manner. I have copied them into my own code files, and made all kinds of little edits. The definition of "library" means that you shouldn't have to make any edits, but I like to custom tailor the parts that I can, or add on extra functionality that is too specific to my game design for the original library to have included.
Makeii wrote:
  • No dependencies
  • May be written in a favored style

I prefer building everything myself for those reasons, it also helps me get a better understanding.
I agree with you, ssgx. Part of it for me is that it's personal, and I am also cery independent with my work. I can learn a lot from libraries and demos, but I would never have DM #include them in my project. I would most likely take snippets from the library, rewrite it to fit my programming style, and then implement it. There's something I dislike about foreign code most times.

Now to kozuma:
I always enjoyed writing everything myself because I know that the only dependencies would be the engine itself. Also, whenever I am reading code that is not mine, I instinctively want to change it to fit my style. I am guessing that this is because I like my code to be aesthetically pleasing while also being simplified and readable. The downside is that it is not always optimal.
If you're coding for fun, do whatever you want. Rewriting things isn't a waste of time since you're having fun and probably learning.

If you're coding to learn, rewriting is a good idea. It's the only way to really understand exactly what a library is doing.

If you're coding to make something, rewriting is a terrible idea. You'll save so much productive time by just including the library and leaving it at that.
If you are new to coding i suggest doing it yourself until you understand how to do it then, if you chose to use library read them and if you understand how to do it yourself go ahead and use the library since it would save you time that could be better spent customizing icons or special codes ect.

That is my view point, why reinvent the wheel if a perfect one has been made already to suit your tastes like the ,OP said you can always customize it to fit your needs.