do you plan your projects or do you improvise?

I rarely plan a lot ahead. I probably enjoy it more this way, deciding every day what to work on, without having a huge pre-established plan to hassle me.

I try to tweak the stuff to be enjoyable also when it's very simple, to avoid working a lot hoping that when it's done it will be fun.

I read in some places that professionals don't do this, they have a perfect idea of everything before they do it, they dont do what they lke but what interests the market, bla bla bla.

While this might be true for applications, the magic thing about a game is that you actually cannot tell if a game will be fun or not before it's actually done (unless of course you copy another fun game, which is what the industry's solution seems to be...)

A little bit of both, usually all the improvisation gets slammed in during acting out bits of plan, which makes each part of the plan either take longer to reach, or nullifies bits completely.

In other words plans are fluid, drink responsibly.

Right now I plan on getting back to work, but I'm totaly uninspired, like my project is a four hundred pound bearded lady and she's saying "you know you want this". I just can't get in the mood, no offense to the 400 hundred pound bearded ladies in our community of course.

Maybe If change the name to iNymph3D it will be more attractive again.

I generally find (as I mentioned in the article on my web site on this topic) that what works best for me is to write out a game play idea and then whip up as quick of a prototype as possible. I iterate this until it's fun. Then I proceed to polish it up. For example on Marbol I wrote a Python script (perhaps 3 lines of code) that would do the "falling" algorithm for the marbles. Then I turned that into C++ code and added 30 minutes or so worth of cheap graphics (basically solids, no animations) and keyboard input to make it playable. I was able to go in and tweak the number of marble types and game board size, and make sure it would be somewhat fun to play.

In the end though, there's two pieces that never seem to work out with the plan: the up front part where you decide what to make, and the end part where you're trying to finish. The idea for Marbol wasn't mine and I'm not sure I've ever come up with a game idea from scratch yet that's actually fun to play. And when you get to finishing it up, sometimes you realize that what you thought was fun just isn't fun. Or the game balance is a little off, or whatever. That one's tough.

KDC and Arachnoid each have an entire notebook devoted just to them, filled with pretty much anything: sketches, code snippets, diagrams, class hierarchies, whatever. KDC was a 3 month project, and filled an 80-page notebook, while Arachnoid was a 3 week project and took up half a notebook.

I've never felt hindered by it- in fact, I find it actually helps my motivation and speed when I formulate my thoughts into something coherent and create a plan of attack.

That said, I stay flexible. Being able to bend my own designs (say if I think of something new that requires a change in other areas for balance, or if I find something I've designed is infeasible to implement) is crucial.

Generally I start with a graphical concept. I'll visualize exactly how some level half way through my game looks, then think about how to make it fun. Then I'll start coding it. When I have a prototype in place that is starting to look and feel the way I imagined I spend about an hour a day thinking about it on the bus, planning it out, visualizing the look and feel, and how the code needs to be refactored to be workable.

Then I code for half an hour in the evening, then watch TV, drink beer, and fall asleep, rinse, and repeat.

I tend to brainstorm a ton before I start a project, and I probably write down a couple pages of stuff. As I do the project, I will usually make little notes here and there, but nothing big. Most of it is just in my head from all the brainstorming I do.

On some projects though, I just have to write down everything just so I can step back and see everything at once and look for problems. One of my current (longer term) projects is a full-fledged programming language. I have probably written 150 pages on that project alone, and it's still in its earliest stages right now.

personally, i mostly just jump right in with all the ideas in my head
if one part of the project gets boring, i try to move on to something else for awhile

this is most likely the approach 99% of programmers would say NOT to do, but it kind of works for me, but may also be the reason I've never actually finished a project (with the exception of Gokuban)

Currently I'm working on a game, I've restarted it recently and am working on a helper class, so the project isn't too far along (since further development would be much better with this class finished).

All in all, I think the best way is to try different approaches and see what works best for you.