I agree with you all here (for once!). Soyuz, thats definately true. Even if theres just the two of you working toward the same goal its incredible the buzz you get off working things out together. And like you say, you end up competing against each other which works wonders for the project. Also good for bouncing ideas off of each other.
IanM n StevieVee, again spot on. Ive lost count of the number of things ive given up on simply because ive gone about it the wrong way from the start. Breaking down is the way to go.
Also, another thing that ive been doing lately is having three or four totally different things on the go at once. This way, i can work on whichever one takes my fancy depending on the mood im in at the time.
For example, at the minute ive got a BIG thing im heading towards, which will take ages, so im letting it go at its own pace, building a level editor first that`ll handle all the scripting and effects in one.
For the times i cant be bothered with texture directories and such, ive got a retro game ive been fiddling about with, thats totally updated with clever use of the matrix commands. Just a fun project to be honest.
Ive also got a simple puzzle game type thingy on the go, which makes extensive use of memblocks for fast and clever effects.
AND i got a nice little war game in the style of a 3d Risk in modern day situations coming together nicely.
Like i say though, its best to do little things that are different from anything else you may be doing. That way, who knows, you might learn something along the way as you play about, and its a good way to stop the boredom