Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (567)
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  
  Combatting Programmer A.D.D. in large projects.  (Read 859 times)
0 Members and 1 Guest are viewing this topic.
Online Rayvolution

JGO Kernel


Medals: 208
Projects: 2
Exp: 1 year


Resident Crazyman


« Posted 2014-03-31 04:18:20 »

So, I have a lot to do in my current project. So much in fact, it's hard to focus on any one thing. I find myself working in one area, and it leads me to work in another, and that spirals into working in another. Eventually I get to the point I can swing back around to what I was working on in the first place and wrap it up but not before I hopped around 40 other areas first.

Really, my work is fairly well organized, I keep track of everything I'm doing and everything that isn't finished or needs work I have extensive notes on. But, it seems like it's a natural process for me to work on 14 things at once that are all somewhat related. For example, right now I'm working on my inventory system, the NPCs, sprite animations and just today I finished a method to sort rendering orders so sprites don't awkwardly "overlap" each other incorrectly.

So, do you guys get programmer A.D.D.? How do you combat it? Do you even bother or just let the programming flow? Wink

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Offline Gibbo3771
« Reply #1 - Posted 2014-03-31 04:21:55 »

I just let it flow, I've been working on path finding, state machine and AI in my game... All while coding a level editor on the side. I posted a similar thread before and got mixed views.

I think it keeps the mind fresh.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline JVallius
« Reply #2 - Posted 2014-03-31 06:28:06 »

Well... ToDo lists and tasks' priorization.

I write down all the features I can figure out. Then I sort the features in four categories:
MUST - the game is not going to work without this feature
SHOULD - this is needed, but not so time critical, can be implemented later
NICE - a feature that can be dropped if needed to but usually adds some coolness in the game
WON'T - dropped feature, may add it in the future

This kind of sorting is also know as Moscow method

My first goal is a "minimum viable product" and I'll do it by completing all MUST tasks. Then I have a build I could release if I need to, but it's usually very rough version
needing a lot of polish. So the next step is to do all SHOULD tasks and then NICE. All tasks can be usually divided to sub-tasks and "Moscowing" them too.

Btw it gives some satisfaction to cross out a task when completed. I mean literally, with a marker. Smiley

I have this kind of overall ToDo list and then a daily list written on the white board.

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

JGO Kernel


Medals: 208
Projects: 2
Exp: 1 year


Resident Crazyman


« Reply #3 - Posted 2014-03-31 06:40:18 »

Well... ToDo lists and tasks' priorization.

I write down all the features I can figure out. Then I sort the features in four categories:
MUST - the game is not going to work without this feature
SHOULD - this is needed, but not so time critical, can be implemented later
NICE - a feature that can be dropped if needed to but usually adds some coolness in the game
WON'T - dropped feature, may add it in the future

This kind of sorting is also know as Moscow method

My first goal is a "minimum viable product" and I'll do it by completing all MUST tasks. Then I have a build I could release if I need to, but it's usually very rough version
needing a lot of polish. So the next step is to do all SHOULD tasks and then NICE. All tasks can be usually divided to sub-tasks and "Moscowing" them too.

Btw it gives some satisfaction to cross out a task when completed. I mean literally, with a marker. Smiley

I have this kind of overall ToDo list and then a daily list written on the white board.

Thats a good system Wink

Oddly enough my entire list is "MUST" stuff at the moment. So it's really a matter of sorting everything by order of most complete to least, trying to knock out stuff thats almost complete first. Problem is, half the time I complete something I end up with 3 more things on my "MUST" list. Alternatively, another problem is I can't complete something because I need to do something else first. Shocked

Needless to say, I can't wait until my game is a game. It's still a glorified walking simulator after 3 months of development. Cheesy

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Offline JVallius
« Reply #4 - Posted 2014-03-31 07:53:16 »

Problem is, half the time I complete something I end up with 3 more things on my "MUST" list.

Those things should go on NICE or SHOULD list because you should define and lock the MUST list at the beginning of the project. Just to prevent feature creep. Wink
For the minimum viable product, cut off the things. The first version shouldn't do everything you imagined.

Alternatively, another problem is I can't complete something because I need to do something else first. Shocked

Prioritize tasks, sort them and complete them one by one, starting from the top of the list. Do not skip a task until you have a somewhat working solution. Having something is always better than nothing. You can always come back and improve it later.

Offline ctomni231

JGO Wizard


Medals: 99
Projects: 1
Exp: 7 years


Not a glitch. Just have a lil' pixelexia...


« Reply #5 - Posted 2014-03-31 08:35:59 »

You're doing great. The only requirement on creating games is not giving up on coding them. As long as you are coding it, there isn't really an issue on what. This is actually the best type of procrastination as your program always wins :-)

Even for simple things, I get caught up in feature creep. Those things can be erased later on and might end you in a better (or slightly worse) state than last time. This route usually gets me the most happy accidents, in where I got a feature or improvement I didn't intend for but it works. Sometimes, I get a bug. However, all in all, the game is coming together. For me, that is the most important thing.

So yeah, let it flow... Keep surprising yourself. You never know what you may find.  Shocked

Offline kpars

JGO Wizard


Medals: 81
Projects: 4
Exp: 3 years


Extreme Typist.


« Reply #6 - Posted 2014-03-31 08:45:13 »

Eh, recently I've just learned to chill out about it. I just work on small games instead of working on huge projects that I have to keep up on constantly.

The big turn-off for me when it comes to making games is that I always get worried that I focus on assets more than gameplay/programming, and usually when I run into one of those periods I spend some time working on MERCury or some other engine projects I work on in secrecy. It slightly works out? Undecided

It's something that all of us game developers fight. My creative mind loves to troll me when I'm busy on specific projects.

Oh, you're making a dungeon crawler? Time to make a space simulator!

^^
This is usually how it goes.

These moments usually come when I'm fixing bugs, and I really think the only real solution is just to never giving up on your projects.

- Jev

Online Rayvolution

JGO Kernel


Medals: 208
Projects: 2
Exp: 1 year


Resident Crazyman


« Reply #7 - Posted 2014-03-31 15:52:11 »

Those things should go on NICE or SHOULD list because you should define and lock the MUST list at the beginning of the project. Just to prevent feature creep. Wink
For the minimum viable product, cut off the things. The first version shouldn't do everything you imagined.

Heh, I guess that's true. I guess what I mean is, if I complete one MUST thing that's currently active it opens the door to do 3 others. It's endless it seems. The closest thing to a SHOULD I've added so far is probably the blood splatter mechanics. But even that was more inching into a MUST thing because I planned to make my game a bit over-the-top in the violence department just for kicks. Wink

Of course, my MUST list would be insanely long if I had one, I think thats the norm for "RPGs" though, because of all the complicated systems you need to add to make it even quality as such a game.

Maybe the problem with the MoSCoW system is my minimum standard is way too high so a lot of features are "MUST" features. Wink

Oh, you're making a dungeon crawler? Time to make a space simulator!

hahaha, I'm guilty of that too. I usually stay on track with no speed bumps. But even yesterday I was thinking "Man, a tower defense game would be fun to make on the side! I could even use SixtyGig's graphics as a foundation!". Although that idea really just sits around as an idea.

I plan to have some mini-games eventually, so I'm hoping those will help with those "lets do a side project" moments. For example, I was going to have arcade machines in the game world you could play that were minigames, like a ripoff of Pacman, Tetris, etc. You'd stick in a credit or two (Game currency is "creds") and play. They wouldn't serve much of a purpose, they'd just be gimmicks. But it could help me break away from coding the RPG a while if I need a break but still technically be working on it. Wink

- Raymond "Rayvolution" Doerr.
Retro-Pixel Castles - Survival Sim/Builder/Roguelike!
LIVE-STREAMING DEVELOPMENT: http://www.twitch.tv/SG_Rayvolution
Offline 65K
« Reply #8 - Posted 2014-03-31 16:47:57 »

So, do you guys get programmer A.D.D.? How do you combat it? Do you even bother or just let the programming flow? Wink
Divide your work packages into smaller calculable tasks, finish them, commit, go on.
A chaotic unfocused approach is the ideal hatchery for bugs and introducing side effects.

Offline JFixby
« Reply #9 - Posted 2014-04-01 09:34:36 »

There is this old solution: http://en.wikipedia.org/wiki/Spiral_model

my dev log: http://jfix.by/
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gimbal

JGO Knight


Medals: 25



« Reply #10 - Posted 2014-04-03 07:54:01 »

I had that problem; its triggered by the fact that programming is and remains hard; you cannot focus on one thing at a time because sooner or later that one thing is going to depend on other things to exist before you can even test or run it. You can't test legs without having a torso as it were.

There is but one true solution in my experience: proper code design. If you know the ecosystem up front (and it can be as simple as drawing up a simple high level diagram of all the different components), you can design placeholders/mock implementations so you CAN focus on one specific cog in the machine and still try it out, if necessary by giving it a spin by hand as it were.
Offline Grunnt

JGO Wizard


Medals: 70
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #11 - Posted 2014-04-03 08:05:37 »

You may also want to consider trying some form of iterative development. In a large project theres always a huge number of things that MUST be finished, but maybe you can bunch a couple of these MUSTs together in an iteration. Ideally you want to have a working version after each iteration that has something cool (like colored hats or explosions) for you to look at, enjoy, and be proud of. At least that is what I try, but it depends a bit on the project whether that works well.

Pages: [1]
  ignore  |  Print  
 
 

 

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

The first screenshot will be displayed as a thumbnail.

Pippogeek (35 views)
2014-09-24 16:13:29

Pippogeek (28 views)
2014-09-24 16:12:22

Pippogeek (17 views)
2014-09-24 16:12:06

Grunnt (40 views)
2014-09-23 14:38:19

radar3301 (23 views)
2014-09-21 23:33:17

BurntPizza (58 views)
2014-09-21 02:42:18

BurntPizza (29 views)
2014-09-21 01:30:30

moogie (34 views)
2014-09-21 00:26:15

UprightPath (47 views)
2014-09-20 20:14:06

BurntPizza (51 views)
2014-09-19 03:14:18
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

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!