Terrors of perfectionism

Do you find yourself spending a lot of your time staring blankly at your screen thinking up ways to accomplish a task in a way that results in perfectly formatted, efficient and beautiful code? I know your pain.

Posted by Trigger01 on January 14th, 2014
Sometimes I find myself spending a lot more time making simple design decisions than I should. Usually in cases where it would actually have no or very little impact on the game itself. I ask myself which way is the "correct" way to do it, often until giving it a break and finally deciding on something that I believe will just be temporary.

The entire game has probably been rewritten more than three times since I started.

We wants it, we needs it. Must have the precious code.


As a perfectionist you'll spend a lot of time working on your precious code, but even on more planning it. And a lot of time by CTRL+F find and replacing and renaming. All to make your code more logical and easier to look at. Ideally, a brief glimpse should tell you everything you need to know about the code you're looking at. Of course, that is not always so easily maintained, and that's when the perfectionist will spend a lot of his time to create a true masterpiece of components and sub-components in a object-oriented fashion. Perhaps even ending up with a more complex solution that will be even harder to modify if need be, and thus eventually scrapping it.

Is it worth it?


In the end, will it really matter? No, not as long as the outcome is the same to the user. In reality, what really matters is what you give to the user. The user will most likely never even see your code, and if he did, would he really care about how perfect it was? Again, most likely not.

This is the sad truth for the perfectionist programmer. Often the reason for our doing is that the better we make the code now, the easier it will be to handle it in the future. This is true, no one likes to dig into a disjointed hell of messy code, but at some point it really has to stop. In the end it soaks up so much of your time, hell I think I'd almost had this game completed if it wasn't for all the times I've decided to remake something in a better fashion. Slight exaggeration, but you get the idea!

Forcing oneself to be lazy


Sometimes you'll just have to bring that lazy programmer-mind of yours to finish off the job. In the end I found that some solutions that I believed only to be temporary actually last forever, without problems.

On reasonable occasions..


Of course, optimization is one thing and design another, a user will notice if the game doesn't run well and it's your responsibility as a developer to make sure the game runs well for all of your users. However, there is a limit to optimization too - if I can make a process run 5% faster and it's gonna take me two days to accomplish that, I should probably spend that time working on something more essential.

Leave a Comment:

Avatar

Quen91 January 19th, 2038

Common "issue" among programmers, struggling with it myself lately. Its hard to just let your code go, you know :p


Avatar

Serge January 19th, 2038

Reprogram stuff again and again killed too many projects of mine already.
I like where you're going with this, 2D is the way to go when it comes to RTS games I think. Keep it up!


Avatar

barbourn January 19th, 2038

Concise and well written, tyvm for the information


Avatar

Oakleyss January 19th, 2038

I love that website layout . How was it made. Its very nice.


Avatar

Trigger01 January 19th, 2038

[#44] Hey thanks, it was custom made using HTML, CSS and PHP.


Avatar

Change January 19th, 2038

I know this if off topic but I'm looking into starting my own weblog and was wondering what all is required to get set up? I'm assuming having a blog like yours would cost a pretty penny? I'm not very internet savvy so I'm not 100% positive. Any tips or advice would be greatly appreciated. Thanks


Avatar

Trigger01 January 19th, 2038

[#185] Hey, no problem. I believe that I became a much more effective programmer myself after writing this piece.

I enjoyed reading your post, you left some good advice!


Avatar

MathiasLafeldt January 19th, 2038

Thanks for writing this great piece.

It has inspired me to write about the topic of perfectionism and programming myself:

mlafeldt.github.io/blog/perfectionism-and-programming/

-Mathias


Avatar

Ausgezeichnete January 19th, 2038

I'm truly enjoying the design and layout of your blog. It's a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Great work!