Sign in to follow this  
cparki3

How do you finish a game!

Recommended Posts

Hey everyone,

 

This is my first post in the forums, but I have always wondered what it takes to complete a game with a small team. I always start out with a few guys and a great but when we get past the prototype stage. After we have a decent prototype, the project general slows to a grind and then eventually stops. The innovation stage is always so much fun! Any tips or tricks for getting through the more boring parts of game programming or development? 

 

Thanks!

Share this post


Link to post
Share on other sites

The easy question is 'how', the harder question to answer is, 'why'. That is, why is it so difficult to finish a game? Well a lot of generalizations can be made. Family, work, lack of experience, lack of believe of eventual product success, all contribute, I feel, to a stark slimming of motivation, and morale of small dev teams.

 

However, all of these reasons pale in comparison to probably the most common reason, lack of time perspective. I've seen it with developers I work with, and I see it all over the web, very select developers have a true notion of TIME. Sure it's easy in the idea phase to throw out the most outlandish, and extravagant features/ideas as they come to you out on the table. But, it's not so easy when all of these ideas have to be polished from their conceptual form, and come fluently together to create a cohesive, and engaging gameplay experience, AND be developed relatively quickly, and accurately if you have a stringent time scope on the project (Nobody likes Scope creep).

 

I've seen it, even as a reclusive indie/hobbyist, very talented developers overestimate not their overall ability to do something, but their ability to do something within a period of time. Nothing is more demoralizing when the project was given a scope of 6 months, and the whole team is sitting on a broken/buggy build with half the features implemented (Maybe even implemented poorly) at month 13. And all the project needed from the beginning was somebody who said, "Stop, let's work with what we have".

 

This may not apply to you, or the team(s) you have worked with, but I've seen it enough to know it's a re-occurring issue with startups/indie teams.

 

Marcus Hansen

Share this post


Link to post
Share on other sites

One way to keep the momentum is to release the fun prototype early, a vertical slice, to build a community, get feedback, exposure, and possibly even some funding. Or just aim for making a prototype from the get go instead of aiming to make a game. Or keep scaling the project down.

Share this post


Link to post
Share on other sites

The easy question is 'how', the harder question to answer is, 'why'. That is, why is it so difficult to finish a game? Well a lot of generalizations can be made. Family, work, lack of experience, lack of believe of eventual product success, all contribute, I feel, to a stark slimming of motivation, and morale of small dev teams.

 

However, all of these reasons pale in comparison to probably the most common reason, lack of time perspective. I've seen it with developers I work with, and I see it all over the web, very select developers have a true notion of TIME. Sure it's easy in the idea phase to throw out the most outlandish, and extravagant features/ideas as they come to you out on the table. But, it's not so easy when all of these ideas have to be polished from their conceptual form, and come fluently together to create a cohesive, and engaging gameplay experience, AND be developed relatively quickly, and accurately if you have a stringent time scope on the project (Nobody likes Scope creep).

 

I've seen it, even as a reclusive indie/hobbyist, very talented developers overestimate not their overall ability to do something, but their ability to do something within a period of time. Nothing is more demoralizing when the project was given a scope of 6 months, and the whole team is sitting on a broken/buggy build with half the features implemented (Maybe even implemented poorly) at month 13. And all the project needed from the beginning was somebody who said, "Stop, let's work with what we have".

 

This may not apply to you, or the team(s) you have worked with, but I've seen it enough to know it's a re-occurring issue with startups/indie teams.

 

Marcus Hansen

This happens in AAA games too, if you dont make a plan at the beginning you will never get your time schedule in order. The worst thing to happen in a game is start the production phase without having a design in AAA because you are running behind already things cant move forward without a design.

Share this post


Link to post
Share on other sites
My few cents;
- make a plan, keep it realistic
- keep deliverables small
- small scope/ feature set if it's your (team's) first game
- stick to the plan, discipline, discipline and euhm, more discipline :)

Don't be the next MMORPG creator which will never see daylight.

Share this post


Link to post
Share on other sites
Any tips or tricks for getting through the more boring parts of game programming or development? 

 

 

You soldier through it.

 

There are a number of things you can do to avoid some of the pitfalls mentioned in this thread.

 

zero bug tolerance.  build the game one piece at a time. complete each piece before moving on.    design, code, debug, test, refactor if needed, cross it off the todo list. move it to the done list.

 

todo list driven production.    everything goes on a prioritized todo list. your job is to grind though the list, closing issues.

 

keep project scope appropriate to team size and skills.

 

realistic time estimates. if you have't done this much, take a guess, then double it. If you think you might do it in 6 months, count on at least a year. the more you do estimates, then complete the work, the better you will get at making estimates. its a skill that seems to only be learn-able by experience.

 

know what to code (design), and how to code (implementation) BEFORE you touch a keyboard for code entry. By the time you start typing, you should already have the code worked out in your head, or on paper if sufficiently complex.

 

I have completed many games this way over the years including  grand strategy games, racing games, tank sims, domino games, space fighter sims, strategy games, RPGs, starship sims, and arcade games.

 

Anything else you can do to alleviate boredom and maintain motivation levels will help as well.  Short periods of high quality fun time seem to help break up the monotony of grinding through the todo list.

 

Its kind of like being in a long draw out war. morale of the team is very important if you are ever to reach your goal.

Edited by Norman Barrows

Share this post


Link to post
Share on other sites

The easiest answer is - you pay people.

 

I think the elephant in the room is that a lot of programmers enjoy programming for its own sake. They might enjoy exploring new technologies, solving problems, improving the code. What they are often not that interested in is getting to a point where they can stop doing those things. I know someone who's shipped many professional projects when employed by others, but who contributes to an open source game project that is still in alpha after about 10 years of development. Most of the team probably doesn't care about getting it out of the door for the final time.

 

If you want to move a project beyond the tinkering phase into the product phase then the team has to be willing to stop playing with the fun bits and dig into the boring bits - and there sadly is no magic trick to motivation. Maybe you can intersperse boring tasks with fun ones, and make sure everyone is sharing the tedium equally, but there's not much you can do beyond that if you're not paying people to work.

Share this post


Link to post
Share on other sites

I've heard it called the three ninety percents, plus the last 10% that really hurts

I think part of this steams from the principle that once the game is 90% complete there is less awe about what it could be, due to the fact it has become, "What is this?"

 

The easiest answer is - you pay people.
 

Kylotan nailed a good point, 

programmers enjoy programming for its own sake.

I like to program when there is a clear challenge. Someone hands me an impossible task and I find away to make things work. It isn't alway clean or 100% stable, but I am able to blaze the snowed pass. Now that the basic idea of how to make it work, it becomes more about cleaning it up and stabilizing it, which is not as fun.

 

You soldier through it.

While this can be the mindset or the idea, it often falls flat. Uninspired work is much slower, only increasing the current problem.

 

Any tips or tricks for getting through the more boring parts of game programming or development? 

Personally, when the area of the project has slid into a grind feeling I switch to a different part of the game. It helps keep the code fresh in mind and allows me to feel inventive again. 

Another tips some have hinted at is getting the game out to public. Maybe not as a released or even a demo, but some version of community building. Tweet a screenshot or build a website. Get people providing feedback and here is the key, engage back with them. Discuss your game and enlighten them why it is great. Maybe they help shape a feature that revives your creative spirit and pushes your development forward. Nothing helps more, I think, than having the project in the public eye, because it is much harder for the mind to simply walk away.

Share this post


Link to post
Share on other sites

Like most have already said, finishing a game - or anything for that matter - requires a lot of patience, determination, and strong will. You need to be dedicated and willing to push yourself to work on it, sometimes even when you don't feel like it anymore. Starting a project you always have a lot of drive and determination, which tends to fizzle out as you go along. You need to fight against this. 

 

You also have to accept a point when you and your team say it's done. That is another important thing. Perfectionism is often a killer of completion. You want it to be functional and as perfect to what you have in your mind as possible, this is true, but once you get to that point and are still fiddling with minor details......it might be time to consider it finished and move to the next step. Otherwise you can fiddle for years. 

Share this post


Link to post
Share on other sites

 

"Software is never finished, it is only abandoned."

Where is this a quote from? 

 

 

Art is never finished, only abandoned is a quote from Da Vinci. Coding is an art form (think of range-for, so beautiful)?

Edited by sjhalayka

Share this post


Link to post
Share on other sites

The best advice I can give is to never "fix it later".  Especially with hobby projects, it's easy to hold off fixing annoying bugs in favor of the "fun stuff", and that invariably makes fixing it all the worse.  Spending lots of time not adding features is incredibly demoralizing for a hobby project, so try to amortize it out as much as possible.

 

You're still going to have to do a lot of random bugfixing near the end, but try to make sure your game is always in a state where everything you've done previously still at least *seems* to work.

 

In a professional context, we effectively get around this by having other people tell us what to do (bug reports, essentially) and being paid to fix them.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this