The deeper I get into coding, the more I am finding that I have to ramp up to get into the groove. I cannot just go from a clean slate and code whatever I would like; I have loose ends to tie. My first reaction was to think that my code is terrible and that I was fighting against spaghetti but upon further reflection I think that I am simply up against the equivalent of task switching to rapidly in a work day. My interruption is the week I spend between working on my game rather than the quality of the code. I thinking about what I should do about it.
I could do one or all of the following:
- Larger chunk of time: Find one larger chunk of time so that I can get into things and get more meaty progress.
- Preplanning: I could do more than a two minute list of what I am going to do.
- Remove distractions: I confess…I’m an Internet addict.
Larger Chunks of Time
Anyone that has gotten into a creative groove understands how important immersion is. I find that I’m just getting into interesting territory when I have to call it quits. I think the ideal amount of time to work would be about a four hour chunk. With the hour or two I spend I find that I take most of the time to figure out where I was and then I’m just remembering everything when I have to stop. Therefore I am going to try and find a bigger chunk of isolated time to work.
Pre-planning
Although I’m on a big kick of just “do” things rather than planning, I am finding that I don’t have enough structure for my work. I think I need to take the time to do a quick design treatment of my game so I know what I am building with a few design briefs and then I think I should write up a few brief technical notes on how I am going to approach the systems. This way I can have a quick paragraph or two that should remind me of why I am building a system to do something. If I can this will be separate from the time to implement the plan even if I have to alternate weeks.
Remove distractions
How many of you out there are internet addicts? I find that since my project is a hobby and is on my free time I often drift toward searching for things I would like to buy. Current interests are Paradigm Atom Bookshelf speakers, MacBook/MacBook Pro, Intel X25-M SSD and a new house. Only one of these would help with my project and even then only if I invest the time to install windows or restart my project in a Mac friendly way. How do I avoid these distractions? I think I’m going to plan enough that I don’t need an internet connection and then switch it off to work. Any tips out there for avoiding internet addiction?
What did I actually get done?
I took the very raw and basic “particle” class and message system that I had and changed it so my asteroid explodes into a bunch of other asteroids in “sort of” an explosion. The reason this caused me to look at my planning was because I should have a rough outline of how I want the particle effects to work before I just start hacking away at explosions. I think I would have been better off posting my particle strategy rather than fighting the code for a 1/2 hour and not being sure it was a waste.
Next Week
I am hoping that I can use a template from an older book I read called Game Developers Marketplace and write up a design treatment for my little game.
I think i know exactly what your going through. I’ve felt the same way, and StumbleUpon only makes it worse. The only solution I have is to put effort into making the API for my classes as simple and consistent as possible so that I don’t forget how things work and I can jump in and make changes easily. I factor out common code that i use into a sort of library which is just compiled in to whatever i make. (I just call it SGL – “Simple Game Library”). I’ve practically written it 3 times too, in 3 different programming languages.
I still don’t know how to do cool explosions, I’d love to hear about how your doing it. I was pretty lazy with particles, I implemented the basics once and haven’t changed them yet. It still dynamically allocates each new particle (but doesn’t hurt the frame rate even with thousands of particles.. which is interesting…)