Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (808)
Games in Android Showcase (239)
games submitted by our members
Games in WIP (872)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  I need to break an addiction to organization...  (Read 13888 times)
0 Members and 1 Guest are viewing this topic.
Offline wessles
« Posted 2013-10-27 23:43:10 »

Whenever I try coding something simple, I find myself having an uncontrollable need to make it as flexible and organized as possible. This is good in some cases, but for a simple game that should only take up a few files, I make 5x as many so that everything will work no matter what the circumstances. It is getting to the point where I am getting less efficient because I am trying to be more efficient  Tongue!

Anyone else had this feeling to go back and make everything organized and flexible, despite it not ever paying off or being worth it? Have you broke it?
Offline kpars
« Reply #1 - Posted 2013-10-27 23:52:54 »

Make your own library, which, you already have your own engine.
Offline HeroesGraveDev

JGO Kernel

Medals: 383
Projects: 11
Exp: 4 years

┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻

« Reply #2 - Posted 2013-10-28 00:14:06 »

The only time I ever go back and fix something is when it starts to slow my progress on actual work to the point where I have no choice but to go back and refactor.

It's inevitable that the code you write as a novice will drag you down later, and that's why small projects are good.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Troncoso

JGO Coder

Medals: 20

« Reply #3 - Posted 2013-10-28 00:14:25 »

"Use libGDX!"
Then I feel like a copy-paster!

No offense, but that's very ignorant. Using an engine/package/library/framework that is already proven useful is a major factor in being efficient with your software. You'll never find a company/studio or whatever that isn't using libraries to get their work done.
Offline Opiop
« Reply #4 - Posted 2013-10-28 00:48:57 »

I get the same way. I know that I need to use libraries to help me so I can actually finish a game sometime, but then I just feel so bad when I actually do use it. I hate using others' code simply because I didn't think of it first. Its a dumb way to think as a programmer, but unfortunately its how I am :/
Offline kpars
« Reply #5 - Posted 2013-10-28 03:49:47 »

Meanwhile, I'm sitting here enjoying the little things.

When I heard Slick used OpenGL, I completely nerdgasmed and started porting all of my code. LibGDX seems like a step too far for me.

Though for smaller games, like in Ludum Dare, I recently wrote my own library, so I'll be using that.

- Jev.
Offline philfrei
« Reply #6 - Posted 2013-10-28 13:26:04 »

Have you looked at Agile or Extreme Programming methodologies? Both are considered under the topic of "Iterative and incremental development".

If you haven't read about them, perhaps reading the rationale for the theory will give you a better basis of the pros and cons of how you are now doing things, and that would be sufficient to rebalance your efforts.

Committing to following one of these methodologies for a project, to try it out, might be a way to "break the habit" if simply absorbing the ideas from reading about them isn't enough.

Martin Fowler is a good author on the subject.

music and music apps:
Offline Troubleshoots

JGO Knight

Medals: 36
Exp: 7-9 months

Damn maths.

« Reply #7 - Posted 2013-10-28 14:01:15 »

Surely it's good to be organised and more efficient. The hard part is starting the project. If you feel that way, like I always do, you spend hours on the core set-up. Once you've completed it once though, you can copy it for the next project and tweak it to your needs.

Why are all OpenGL tutorials written in Brainf**k?
Offline Roquen

JGO Kernel

Medals: 518

« Reply #8 - Posted 2013-10-28 14:31:54 »

..having an uncontrollable need to make it as flexible and organized as possible. This is good in some cases, ...
There are no good can't even make a realistic hypothetical situation (include a tutorial) where this is good.
Offline xsvenson
« Reply #9 - Posted 2013-10-28 15:01:50 »

(With an overzealous generalization) There are 2 groups of people here: the tinkerers and the content providers.

The tinkerers are those, that are more interested in the engines and technology. They are those that write everything from scratch and are less likely to use framework and libraries already present. The good side is having a good knowledge of the system and processes. The con, however, is that there is less likely a finished product (a game in this context), since all the effort goes into "optimizing" and "making things better". Make no mistake, however, there are very impressive tinkering results scattered on this boards. For example the shader based particle engine was my favorite.

The content providers are those, that are interested in making something workable. Coding, as such, is just the means and often, an annoying step. They are more interested in getting the game out, as such they use all the libraries and frameworks that make them do the least work for the most profit (in the efficiency sense). Those are the ppl that pop up from somewhere, demo a game, that's already in the Android market place, at the same time being new to java and LibGDX. (which is, once again, very impressive, seeing how many finished games I have )

The question is, are those 2 groups mutually exclusive, static or transitional states. Are they 2 parts of the same, personal, evolution tree. Or maybe the transitional state is actually a 3rd group?

If they are transitional states, then You just need time and experience. At one point, You will organize Yourself into more productive and less obsessed with side/meta issues. I, myself, have gone from "I must write everything myself" to "I wish I wouldn't have to write so much code".

Also, when ppl are suggesting libraries and frameworks, then those suggestions are come from the content providing part, since they really ease Your workload and give You more resources (Your time) for making a game (making content vs tinkering).

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Roquen

JGO Kernel

Medals: 518

« Reply #10 - Posted 2013-10-28 20:07:56 »

That's not an example of "making it as flexible and organized as possible".
Offline Roquen

JGO Kernel

Medals: 518

« Reply #11 - Posted 2013-10-28 20:18:00 »

XKCD is always relevant:

Offline Opiop
« Reply #12 - Posted 2013-10-29 00:15:44 »

Well, if we're posting pictures....
Offline Grunnt

JGO Kernel

Medals: 143
Projects: 8
Exp: 5 years

Complex != complicated

« Reply #13 - Posted 2013-10-29 08:50:07 »

might be a way to "break the habit"
This is just killing my productivity, so I am going to take a shot at breaking it.

Speaking for the "devil": the "tinkering" you do here might delay you in creating a product, but it may also be very valuable in learning how to write good code. So if I were you I'd not blame myself for not being "productive" or something, just be happy you learned something well and see if you can do the next bit of code a bit more pragmatic.

Offline Roquen

JGO Kernel

Medals: 518

« Reply #14 - Posted 2013-10-29 21:01:18 »

Learning experiences are great.  However trying to build "uber-awesome-library-for-X" is almost always pretty poor way to learn.  The time spent writing one junk library could have been spent writing lots of junk code covering more areas.  If you look back at code you wrote 2 years ago and don't think it's awful...then you're probably not learning enough.

Also "good code" is context dependent.  Minimally it's to spec and completed in the minimal amount of time.  Beyond depends.
Offline sproingie

JGO Kernel

Medals: 202

« Reply #15 - Posted 2013-10-29 22:33:11 »

Excessive code "gardening" or "architecting" is really just a form of procrastination, which is a knotty psychological issue to get to the bottom of.  I have a book called The Procrastination Equation that has a pretty good analysis on procrastination.  I bought it over a year ago, and haven't finished it.  Scribit se iocus, I know.
Offline Roquen

JGO Kernel

Medals: 518

« Reply #16 - Posted 2013-10-30 14:13:15 »

Procrastination:  never thought of it but it rings true.  Also I think there's a lot of people trying to prove something to someone (how clever, knowledgeable, etc.)...and the most dangerous is when you're attempting to prove something to yourself without realizing it. 

Something to always remember is that you never hear people talking about awesome code, design, etc in sucky or never completed projects.  And if you take a good look at some very successful or simply good-to-excellent programs you'll find alot of downright terrible stuff.  And that's actually desirable if doing so got the project completed on time and to spec.  The end result is really all that matters.
Pages: [1]
  ignore  |  Print  

mercenarius (13 views)
2020-06-04 19:26:01

mercenarius (21 views)
2020-06-04 19:13:43

Riven (857 views)
2019-09-04 15:33:17

hadezbladez (5847 views)
2018-11-16 13:46:03

hadezbladez (2656 views)
2018-11-16 13:41:33

hadezbladez (6272 views)
2018-11-16 13:35:35

hadezbladez (1509 views)
2018-11-16 13:32:03

EgonOlsen (4748 views)
2018-06-10 19:43:48

EgonOlsen (5803 views)
2018-06-10 19:43:44

EgonOlsen (3297 views)
2018-06-10 19:43:20
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!