Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
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 2331 times)
0 Members and 1 Guest are viewing this topic.
Offline wessles

JGO Wizard


Medals: 67
Projects: 4
Exp: 3 years


Profile picture isn't relevant.


« 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

JGO Wizard


Medals: 91
Projects: 4
Exp: 3 years


Extreme Typist.


« Reply #1 - Posted 2013-10-27 23:52:54 »

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

Offline wessles

JGO Wizard


Medals: 67
Projects: 4
Exp: 3 years


Profile picture isn't relevant.


« Reply #2 - Posted 2013-10-28 00:01:08 »

A very simple one at that  Sad.
It is way too simple for me to satisfy me...
"Use libGDX!"
Then I feel like a copy-paster!

Vicious cycle I have been stuck in. I hope this 'You're a copy-paster' feeling will go away sometime T_T. Meantime, I need to figure out how to stop this 'GET FREAKIN' ORGANIZED OR DIE!' feeling.

P.S.
There are higher level things that this compulsion affects.

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

JGO Kernel


Medals: 269
Projects: 11
Exp: 2 years


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


« Reply #3 - 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.

Offline Troncoso

JGO Coder


Medals: 20



« Reply #4 - 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 wessles

JGO Wizard


Medals: 67
Projects: 4
Exp: 3 years


Profile picture isn't relevant.


« Reply #5 - Posted 2013-10-28 00:18:25 »

No offense, but that's very ignorant.
None taken. I do plan to use it for when I want to get used to box2d. I know it is really ignorant, but whenever I use libraries that I did not write, it just kills me. I just have a really bad habit of having to re-invent the wheel. Working on it though!

Offline opiop65

JGO Kernel


Medals: 156
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #6 - 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

JGO Wizard


Medals: 91
Projects: 4
Exp: 3 years


Extreme Typist.


« Reply #7 - 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 #8 - 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".
http://en.wikipedia.org/wiki/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.

"It's after the end of the world! Don't you know that yet?"
Offline Troubleshoots

JGO Knight


Medals: 36
Exp: 7-9 months


Damn maths.


« Reply #9 - 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?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Roquen
« Reply #10 - Posted 2013-10-28 14:31:54 »

Quote
..having an uncontrollable need to make it as flexible and organized as possible. This is good in some cases, ...
There are no good cases...you can't even make a realistic hypothetical situation (include a tutorial) where this is good.
Offline xsvenson
« Reply #11 - 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
Offline wessles

JGO Wizard


Medals: 67
Projects: 4
Exp: 3 years


Profile picture isn't relevant.


« Reply #12 - Posted 2013-10-28 19:58:49 »

Quote
..having an uncontrollable need to make it as flexible and organized as possible. This is good in some cases, ...
There are no good cases...you can't even make a realistic hypothetical situation (include a tutorial) where this is good.

Well, not very many cases, but I can think of some cases where this would be useful. Like when I was writing a batcher: It was a little bit too big for me to read well, so I just deleted, and rewrote it. Now it is 2x as fast as it was, and is used in less lines of code, for the same results!

EDIT:
Have you looked at Agile or Extreme Programming methodologies? Both are considered under the topic of "Iterative and incremental development".
http://en.wikipedia.org/wiki/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.
Oh, and thanks. I am going to use this for Horde (rewriting it in my engine  Grin).

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

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

JGO Wizard


Medals: 67
Projects: 4
Exp: 3 years


Profile picture isn't relevant.


« Reply #14 - Posted 2013-10-28 20:17:30 »

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

Offline Roquen
« Reply #15 - Posted 2013-10-28 20:18:00 »

XKCD is always relevant:

Offline opiop65

JGO Kernel


Medals: 156
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #16 - Posted 2013-10-29 00:15:44 »

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

Offline Grunnt

JGO Wizard


Medals: 79
Projects: 8
Exp: 5 years


Complex != complicated


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

Quote
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
« Reply #18 - 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 that..it depends.
Offline sproingie

JGO Kernel


Medals: 202



« Reply #19 - 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
« Reply #20 - 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  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (38 views)
2014-10-17 03:59:02

Norakomi (28 views)
2014-10-16 15:22:06

Norakomi (24 views)
2014-10-16 15:20:20

lcass (28 views)
2014-10-15 16:18:58

TehJavaDev (54 views)
2014-10-14 00:39:48

TehJavaDev (54 views)
2014-10-14 00:35:47

TehJavaDev (43 views)
2014-10-14 00:32:37

BurntPizza (64 views)
2014-10-11 23:24:42

BurntPizza (36 views)
2014-10-11 23:10:45

BurntPizza (78 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org 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‑gaming.org
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!