Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#ActualKarsten_

Posted 20 November 2012 - 06:47 AM

Admittedly I often reinvent the wheel for quite a few tasks such maths library, image loader, socket code, model and animation library.

I have a few reasons for this...

1) User Convenience I hate it on Linux / FreeBSD when I have to drag in thousands of dependencies to install a single (often simple) piece of software. For example, the DevIL and SDL image loaders support a large number of image formats even though I only use PNG. So for this reason they will drag in libjpeg, libpng, zlib, libxpm, libgif, etc..., etc...

2) Maintainability If a library changes in an unusable way, on Unix, it is very hard to maintain your own specific version of the library in each package repository.

3) Profiling / Bugs / Leaks If I find a bug (for example a memory leak using valgrind) and I fix it... even if I can get the change to the upstream vendor, it will be a matter of months before the change appears in package repositories.

One of my main reasons against writing code for Java and C# is the user needs to install that whole platform. This is such a pain for the end users (especially on open platforms where Java still isn't 100% free).

However, I also use Glut 99% of the time for pretty much any 3D software so I am not against utilizing the code of others. (And yes, valgrind throws a fit when I allow an exception to propagate up through glutMainLoop() ;)

When it comes down to it however... you still need to write the damn game so any time saved on tech is a bonus ;)

#3Karsten_

Posted 20 November 2012 - 06:45 AM

Admittedly I often reinvent the wheel for quite a few tasks such maths library, image loader, socket code, model and animation library.

I have a few reasons for this...

1) (User Convenience) I hate it on Linux / FreeBSD when I have to drag in thousands of dependencies to install a single (often simple) piece of software. For example, the DevIL and SDL image loaders support a large number of image formats even though I only use PNG. So for this reason they will drag in libjpeg, libpng, zlib, libxpm, libgif, etc..., etc...

2) (Maintainability) If a library changes in an unusable way, on Unix, it is very hard to maintain your own specific version of the library in each package repository.

3) (Profiling / Bugs / Leaks) If I find a bug (for example a memory leak using valgrind) and I fix it... even if I can get the change to the upstream vendor, it will be a matter of months before the change appears in package repositories.

However, I also use Glut 99% of the time for pretty much any 3D software so I am not against utilizing the code of others. (And yes, valgrind throws a fit when I allow an exception to propagate up through glutMainLoop() ;)

When it comes down to it however... you still need to write the damn game so any time saved on tech is a bonus ;)

#2Karsten_

Posted 20 November 2012 - 06:42 AM

Admittedly I often reinvent the wheel for quite a few tasks such maths library, image loader, socket code, model and animation library.

I have a few reasons for this...

1) (User Convenience) I hate it on Linux / FreeBSD when I have to drag in thousands of dependencies to install a single (often simple) piece of software.

2) (Maintainability) If a library changes in an unusable way, on Unix, it is very hard to maintain your own specific version of the library in each package repository.

3) (Profiling / Bugs / Leaks) If I find a bug (for example a memory leak using valgrind) and I fix it... even if I can get the change to the upstream vendor, it will be a matter of months before the change appears in package repositories.

However, I also use Glut 99% of the time for pretty much any 3D software so I am not against utilizing the code of others. (And yes, valgrind throws a fit when I allow an exception to propagate up through glutMainLoop() ;)

When it comes down to it however... you still need to write the damn game so any time saved on tech is a bonus ;)

#1Karsten_

Posted 20 November 2012 - 06:41 AM

Admittedly I often reinvent the wheel for quite a few tasks such maths library, image loader, socket code, model and animation library.

I have a few reasons for this...

1) (User Convenience) I hate it on Linux / FreeBSD when I have to drag in thousands of dependencies to install a single (often simple) piece of software.

2) (Maintainability) If a library changes in an unusable way, on Unix, it is very hard to maintain your own specific version of the library in each package repository.

3) (Profiling / Bugs / Leaks) If I find a bug (for example a memory leak using valgrind) and I fix it... even if I can get the change to the upstream vendor, it will be a matter of months before the change appears in package repositories.

However, I also use Glut 99% of the time for pretty much any 3D software so I am not against utilizing the code of others.

When it comes down to it however... you still need to write the damn game so any time saved on tech is a bonus ;)

PARTNERS