PDA

View Full Version : The UN-finisher


Code_wizard
02-06-2007, 08:20 AM
Hello, my name is Code_wizard, and I have a problem.
I'm an un-finisher, I can't seem to finish any projects!

Let me elaborate, I have been programming games since I was 12. Granted most of them were C++ console/text games at that time, but still. I have recently acquired some skill in pixel art, nothing too fancy, good for place holder sprites though. I have game design ideas out the wazoo. The problem is, I have never released or even finished a game, ever...

Now let me assure you this was not because I got stuck, or found a problem I couldn't fix. Actually, its exactly the opposite. As soon as I get the hard part finished, I lose interest. As soon as I jump that last hurdle I don't feel like finishing the race. Granted some of my projects are too ambitious, but I have realized that and have adjusted my game ideas accordingly. Also, I used to dive in to the programming right away, but I have gotten better at writing Design Documents before touching code. Still, with all this planning, I can't seem to do it.

So, this brings me to my questions. First off, how do you stay motivated to finish a project? Second, whats a healthy time frame to bring a sell able project from idea to finished product? Third, what do you think my problem my be and how can I fix it? Fourth, how much time do you spend on a project every day/week. Fifth, how much time do you spend in each phase of development (Concept, Prototype, Alpha, Beta, Final)?

princec
02-06-2007, 08:53 AM
So, this brings me to my questions. First off, how do you stay motivated to finish a project? Second, whats a healthy time frame to bring a sell able project from idea to finished product? Third, what do you think my problem my be and how can I fix it? Fourth, how much time do you spend on a project every day/week. Fifth, how much time do you spend in each phase of development (Concept, Prototype, Alpha, Beta, Final)?
1. Pick a really tiny project. Start with the title screen, hiscores, help screen, menus, and nag screen. If you can get all the boring shit out of the way first then the rest of the time you will spend coding the rather more motivational game part.

2. How long is a piece of string? The shorter the better.

3. Do the title screens first. Use a RAD tool like Blitz so you don't get stuck on development problems. You want to spend every minute of your day coding the game, not solving compiler problems and figuring out why something won't link. And hire/share profits with an artist and sound guy. Don't try to do them yourself.

4. String length still indeterminate.

Cas :)

luggage
02-06-2007, 09:01 AM
What you think is finishing the hard part is actually finishing the easy part.

"First off, how do you stay motivated to finish a project?"If I don't there won't be bread on the table.

"Second, whats a healthy time frame to bring a sell able project from idea to finished product?"How long is a piece of string? Depends on the game type and ability amongst other things.

"Third, what do you think my problem my be and how can I fix it?"Not easy, you just need to force yourself to do it. There's no magical fix. Try starting with a really small and simple game and finish that. Even if it's just space invaders. I personally get a burst of enthusiasm when I get dleivery of lovely new artwork.

"Fourth, how much time do you spend on a project every day/week."As much as I can deal with. I'm full time but we have other projects and things that also need doing so it varies from day to day. Some days I'll spend many hours and other I'll spend few.

"Fifth, how much time do you spend in each phase of development (Concept, Prototype, Alpha, Beta, Final)?"See 'second'. Personally I don't really pay that much attention to each of the phases. I hit them when I hit them. There's no external pressure on deadlines so I don't feel the need to cut features or worry about not being able to add others.

mpolzin
02-06-2007, 09:05 AM
Yeah, there was a time when I suffered from this same problem. Its a tough one to get through. For me I finally realized that I couldn't do it all, I'm just a coder. So I started hiring artists and musicians and my job is just to create the game code / engine. Then I am responsible for the technical portions and I don't waste a ton of time doing things that quite frankly I am not that good at, and would end up walking away from frustrated.

If you sit down and write up a game design document, spelling out how it works, once your done just hand that off to your artist and let them go at it while you do your thing. A lot of indies try to be everything, and for most that really isn't possible. There are few out there who are skilled programmers, musicians, and artists all in one.

Identify your skills, build on those. Identify your weaknesses and find others to take care of those aspects, you might find you get a lot farther along before boredom or frustration sets in.

Code_wizard
02-06-2007, 09:23 AM
Sounds like I need to just buckle down and do it. For me, it's (or will be hopefully) a secondary income so I won't have all the time I would like, but at least I have some time to work on it.

Also, mpolzin's comments hit home. I now realize I was getting frustrated doing the things other than coding. The projects aren't turning out the way I want them to because of my lackluster art and sound abilities. This sounds like a good start. Outsource the other stuff.

Anyone have anything else to add?

HairyTroll
02-06-2007, 09:30 AM
How long is a piece of string? The shorter the better.

My Dad would drive me crazy with that one. And the other one was:

- "Dad, where are we going?"
- "There and back to see how far it is."

Aaarrrrggg.

KNau
02-06-2007, 10:04 AM
If you're the kind of programmer who gets off on a challenge I highly recommend cramming your development schedule into as short a time as possible. Try the 40-hour or 24-hour style of game development, I think you'll find that A) you get more games done and B) the addition of a short timeframe adds another layer of challenge that appeals to your personality.

Keep your designs as ambitious as possible, it makes the tight dev schedule even more invigorating. Imagine if you could pump out a saleable game in 2 weeks or less - you'd be unstoppable!

Agent 4125
02-06-2007, 10:32 AM
So, this brings me to my questions. First off, how do you stay motivated to finish a project?

Because, to me, until the project is finished, all of the time and effort I put into it are worth nothing. Being able to post a download link to an actual playable game is the only thing that counts.

Bad Sector
02-06-2007, 10:40 AM
If you have problems finishing, just slice your tasks to smaller tasks. Continue slicing until you reach to a "implement the + operator in my Vector class" style of tasks :-P. Write all of them to some kind of notepad and make each one of them.

Another method is to show your progress to your friends and relatives. I find it motivating to show to others what i'm working on -(ps. according to Bobby Prince that's also the case with John Carmack - he likes to show everyone else his latest everything - although that may be old news these days).

If you're making a game that is somewhat similar to another game, then spend time playing that other game. I'm making a FPS and everytime i play a FPS game that is similar to what i want to do (thankfully not many such FPS games exist :-P), i'm telling to myself "damn, i'm gonna do that". Well, i still play that FPS game but it fuels my will to work on my own after that :-).

Code_wizard
02-06-2007, 10:41 AM
Try the 40-hour or 24-hour style of game development, I think you'll find that A) you get more games done and B) the addition of a short timeframe adds another layer of challenge that appeals to your personality.

It's funny you should mention time limit game development. I have recently become a fan of http://www.experimentalgameplay.com. They have a 1 week time limit. I have thought of setting a time limit for myself, but I like the concept phase a lot...maybe a little too much.

Code_wizard
02-06-2007, 11:51 AM
If you have problems finishing, just slice your tasks to smaller tasks. Continue slicing until you reach to a "implement the + operator in my Vector class" style of tasks :-P. Write all of them to some kind of notepad and make each one of them.


Thats a good idea, I think I will give it a try.

:)

whisperstorm
02-06-2007, 12:52 PM
Another possibility might be to find an existing project that you might offer to help out a bit with. Then watch the project come to completion. Youll get the sense of accomplishment while not having to have it 100% in your hands if it finishes.

But I agree with other comments. Find something extremely small - do it to the finish and share it with the world. Every time you find yourself wanting to add yet "another cool feature" say "no, that'll be in 2.0 version" (keep a list). Stick with your "1.0" till it's done, no matter how lame you think it is.

you may find that once you finish 1.0 you are so sick of it you go on to something else - whereas if you had continued to add features you would still have it in your mind that you still need to continue to work on it.

princec
02-06-2007, 01:19 PM
Thats a good idea, I think I will give it a try.

:)

I'd say that was just more work to do getting in the way of you finishing ;)

Cas :)

Sybixsus
02-06-2007, 01:53 PM
I don't know how much it helps because I've only ever done it this way, but the earlier advice about starting with all the boring stuff and saving the good stuff till last is how I always do it. That way, I can't lose interest because what I was looking forward to is still waiting for me. I can get disheartened by not being able to do it yet, but that's not such a problem since it still drives me to get through the boring stuff.

Artinum
02-06-2007, 02:24 PM
As soon as I get the hard part finished, I lose interest.

From the vast number of postings about it, I'd say the hardest part of producing a game is the very last - the marketing. If you live for challenge, that will prove the biggest.

More seriously, perhaps you need a "buddy". Someone to work alongside, even if it's on different projects. Team up with another developer, swap stories and progress reports. Spur each other on. If you stall on your game and the other guy is moving into beta testing it should shame you into getting on with something.

Code_wizard
02-06-2007, 03:22 PM
More seriously, perhaps you need a "buddy". Someone to work alongside, even if it's on different projects.

I've tried, and the sad part is, I'm usually the one that makes it further.

radishan
02-06-2007, 05:14 PM
Before starting a project think/dream/list out everything (even if it's in your head) you want to accomplish with it and how you'll do it. If you can see a finished product and have a good understanding of all the work it'll take to get there that's a good sign.

I've worked with a couple people who just like to think of cool ideas, but they don't think about how much work it's going to take to produce what they envisioned. They always give up halfway through a project.

Anthony Flack
02-06-2007, 07:22 PM
It's quite simple. Just don't start any new projects until you've finished what you're working on. I am totally undisciplined in almost every sense, but I learned a long time ago to follow this rule, or get used to making half-finished game after half-finished game.

Either finish the project you're working on, or never program anything ever again. You'll get to the end of it eventually.

JoshuaSmyth
02-06-2007, 09:54 PM
Finishing a project is HUGELY benefical to your learning.

The way I delt with it was just to slog away at an extremely slow pace over a long peroid of time. My first (and currently only) game took 18 months to make. (Part time of course.) I just worked at it, and when I got stumped I took some time off and then tackled it again.

Choose something that doesn't need tons of art assets (or stylise it in someway) and you'll probably be alot better off because you can just focus on the programming and design.

Even simple stuff like space invaders and pacman can offer interesting design challenges...

Although when it starts to become more than just a hobby, you'll have to work harder and faster and probably also with others, but till that time comes - just finish something damnit. The time is going to pass by anyway.

Rod Hyde
02-06-2007, 11:52 PM
I'm an un-finisher, I can't seem to finish any projects!Is that really all projects, or just ones that you do for yourself?
Now let me assure you this was not because I got stuck, or found a problem I couldn't fix. Actually, its exactly the opposite. As soon as I get the hard part finished, I lose interest. As soon as I jump that last hurdle I don't feel like finishing the race.
Ask yourself the following question: What is your real goal? Is it to finish a game? Is it to solve the hard problems? They aren't necessarily the same thing.

Set yourself a challenge with a major constraint, eg, write a clone of an existing game (the usual suspects: Space Invaders, Asteroids, Galaxian, etc) in a working day. Can you do it? Of course you can. What's different about doing that to working on your own stuff? You already know what the goal is and you can't change it.

--- Rod

moco
02-07-2007, 04:26 AM
It might be a self-fulfilling prophecy! Call yourself the Ex-Un-Finisher and give yourself a break. Make a clean start. Decide that you're going to finish one game. Choose a small, enjoyable one that you know that you're capable of finishing. And then finish it at all cost. The morning after you'll be much more optimistic and you'll be able to take on what it is that you REALLY want to do.

Code_wizard
02-07-2007, 08:39 AM
Wow, thanks for all the help!

Is that really all projects, or just ones that you do for yourself?

Your right, all the projects in my programming courses I finished. Maybe it's all about setting an achievable and well defined goal.

And I will apply that to moco's idea -> Call yourself the Ex-Un-Finisher and give yourself a break. Make a clean start. Decide that you're going to finish one game. Choose a small, enjoyable one that you know that you're capable of finishing. And then finish it at all cost. The morning after you'll be much more optimistic and you'll be able to take on what it is that you REALLY want to do.




It's quite simple. Just don't start any new projects until you've finished what you're working on. I am totally undisciplined in almost every sense, but I learned a long time ago to follow this rule, or get used to making half-finished game after half-finished game.

Either finish the project you're working on, or never program anything ever again. You'll get to the end of it eventually.

I tried this once. The project started off poorly (my fault), and had some unforeseen design issues (also my fault). I ended up throwing out 99% of the code and tried starting over...but I couldn't bring my self to do it.

Jesse Aldridge
02-07-2007, 01:19 PM
I think anything you do for long enough is eventually going to become a job. Games are fun and exciting at first, but by the time you hit hour #500 on that project things have become rather boring. I think you just need a grim determination to grind out those hours until you have a finished product.

Hey, it's better then bagging groceries right?

DtD
02-07-2007, 04:13 PM
I know how you feel, I had the same delima when I was starting out. Here's what I do to keep on my projects:

Leave things like the menu for last
You can make a makeshift menu with simple box buttons, but don't get too elaborate. Making a fancy menu takes alot of time, from my exp making the menu first seems to always burn me out for the rest. (ESP if you are a perfectionist like me)
Don't set a release date
Unless you are a big company with a huge team of highly paid people, it's hard to get the game out of the door on time.
You have to consider that big bugs could arise during beta testing and it might be hard to get them fixed on time.
Also, if you have a big community of people, having to bump the release date up alot can piss some people off big time.
NOTE: If you are doing more elaborate games (Esp if it isn't you first commercial game) you may want to set a release month or quarter (I've seen some games say "Coming in 2007, third quarter")
Unless you are on a schedule or are working in a team (besides like music and gfx, they just make the stuff it doesn't always matter how far you are for them to work) you shouldn't overwork yourself, it will just keep getting worse and worse to the point where you get programmer's flu (you are literally unable to write good code).
Set priorities.
Don't just start programming randomly, try to go in a reasonable order here are some example (of what not to do):

Here's a RPG example:
Make the starting town
Now let's make the town where you meet the elf (even though it's 5 hours into the game)
Now lets make the final boss
Ok, time for the forest outside the starting town

NO this will cause great problems and an uneven design in the game.

Instead the creator should go from part to part.

EG:
Starting town
Forest outside town
Hidden witch's cave
...
Sometimes, it's better to just display a text story.
In games like RPGs that may have elaborate prologues should probably just have a quick snap bang bit of text explaining what is going on. (The prologue can be a very hard thing to make)


I could probably think of tons of other things, but I'll stop here.

~DtD

Jesse Hopkins
02-07-2007, 10:49 PM
Hello, my name is Code_wizard, and I have a problem. I'm an un-finisher, I can't seem to finish any projects!

I think it could help to do something like a Pac-Man or Breakout clone. Just do one level and make good graphics for one stage, then call it a game. It could be funny that it is so short, with a comically inflated ending cinema after 1 minute of gameplay. Just don't sell it unless its for a buck.