Sign in to follow this  

I can't seem to finish making a game!

This topic is 3737 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I am running into trouble with finishing games I start making. Ideas are cheap and they come to me sometimes 2-3 times A DAY... but actually sitting down and finishing a game, impossible. I suspect that I don't have: 1. good enough programming skills 2. good enough software design knowledge I want to start with simple games, and by simple I mean 2D turn based tactics, or 2D real time naval/space combat... I am OK with using SDL with C++ but would really like to maybe use Java with Ecplise, with which I feel very comfortable... What do you recommend? Are my goals exaggerated? How do I get it right? Do I need to read some book? Do I need to join an online project? and if so, where? Please - I am very frustrated. Thanks.

Share this post


Link to post
Share on other sites
Quote:
Original post by Warlax
Hi,
I am running into trouble with finishing games I start making.
Ideas are cheap and they come to me sometimes 2-3 times A DAY... but actually sitting down and finishing a game, impossible.

How big are these ideas?

Start small, come up with a game that you can prototype in a day, then finish within the week. Often people can't finish a game because they're trying to make something that's too big for them.

Quote:
I suspect that I don't have:
1. good enough programming skills

Can you write Tic Tac Toe? Yes? Then you can create a game. You just have to choose a project that matches your skill set.

Quote:
2. good enough software design knowledge

Can you write Tic Tac Toe? Oh, sorry, did I just ask that? [grin]

Quote:
I want to start with simple games, and by simple I mean 2D turn based tactics, or 2D real time naval/space combat...

See, that's why you can't finish a game. Strategy games take a huge amount of time to get it "right". Here's an exercise for you: can you make a strategy tactics game with the simplicity and playability of Bejeweled? Of so, make that. If not, you're not thinking hard enough! [wink]

Play some board games with your friends and see if any of those give you ideas for simple-but-fun video games. I'd suggest checking out Tsuro, Quoridor, and Blokus for ideas.

Quote:
I am OK with using SDL with C++ but would really like to maybe use Java with Ecplise, with which I feel very comfortable...

Doesn't matter what language you use. Use what you're good at, and what you're comfortable with. Working with a language that you like will make you far more productive than slugging through a language that you don't.

Quote:
Are my goals exaggerated?

Possibly, if your game ideas are trying to compete with the big guys.

Quote:
How do I get it right?

Think small, don't try and mimic the games you're used to playing. Instead, keep the game small and simple while still being fun, both to play and to create.

Quote:
Do I need to read some book?

Sure, I could give you a whole list of books you should read. But they won't make you more productive.

Quote:
Do I need to join an online project? and if so, where?

I'd suggest not until you have a game or two complete. There are two kinds of online projects: ones made by experienced hobbyists, and those made by newbie developers. If you're a newbie developer you would likely be out of your league in type #1, and type #2 usually never gets off the ground due to lack of an experienced management team.

Make a game or two by yourself first, then think about working with a team for your next project.

Share this post


Link to post
Share on other sites
Perhaps your expectations are incorrect.

Starting from scratch and working alone, any of those ideas will take you at least 6 months to 1 year to complete (assuming that you're working on them every day).

You're ideas are likely coming faster than the reality of implementation. But that's the reality of programming.

-me

Share this post


Link to post
Share on other sites
I had trouble finishing my games, because I never really put a lot of time and effort into the pre-coding phase of making a game. When I finally put the time into getting all my ideas on paper before coding anything, I was very pleased with the outcome. I just drew pictures of what my characters/maps/GUIs would look like. I made a list of major functions and constants that I thought I'd need. I made a basic flowchart of how the game would run. I tried to make a lot of the game-art right off the bat, since my lacking artistic ability is something that tends to become a roadblock while putting my games together. So after ten or so pages in my notebook and a few days in MSPaint, I was ready to code. By planning out a good chunk of the details ahead of time, I avoided a lot of deleting and recoding (which can be a cause of being derailed from a project). While making the game, I kept a list of fixes to be made and a list of features to be added. I checked them off as I continued along. The final product was a complete game. Not only that, but it was the best game I'd ever made. I actually wanted other people to play it. When I remake it, I'll put it in the showcase. Should've backed up my computer. LOL. :-( Ahhhh!

So basically, I'd suggest putting more time in the early planning stages. And don't just plan enough to get the game up and running. Plan it all the way through to Game Over. Definitely work on whatever area it is that you seem to get stuck at first (if possible), whether it's getting the right sounds, making your own artwork, or whatever. Invest more time up front, and you won't want to let your baby go so easily.

Share this post


Link to post
Share on other sites
Quote:

I suspect that I don't have:
1. good enough programming skills
2. good enough software design knowledge

If this is true now,you'll get better as time goes by. But you shouldn't put yourself down in this way.

Quote:

What do you recommend?


I can tell you what I have done:

have you made tic tac toe yet? That was my first actual game, did it in visual Basic. (although, we call it naughts and crosses in the UK).


When you got that working, do pong. Following the advice of my science teacher, I did this next.
Break it down into several smaller milestones:

0) Displaying parts of pong table on the screen.

1) getting paddles moving

2) Getting a ball to bounce off of things

3) Creating a scoring system.

Then, when pong is finished, re-use the code to create breakout. My Science teacher recommended this as well. (you know, you have a load of blocks to destroy by hitting them with the ball).

Next, A friend and I worked on a side scrolling space shooter. He did the graphics and I did the programming. I didn't actually finish this game, but I did have fun creating it and learned something. I sort of wrapped it up and made it playable, but it only had one level where the same two background images scrolled forever.

then I made a rogue like game in Pascal. Nothing special, and certainly not a very deep combat system. you just hit anything that was blocking your way, and each character had a flag for if they were good or evil. Evil attacked good, and good attacked evil. each level was a single cave with a random number of monsters in it.

Then I sort of got stuck in to c++ and OpenGL. I didn't make any further games for two years now, and had the problem you are having now. I have decided to work on one large project, a 3rd person shooter.

Share this post


Link to post
Share on other sites
Quote:
Original post by slowmike
When I finally put the time into getting all my ideas on paper before coding anything, I was very pleased with the outcome. ... So basically, I'd suggest putting more time in the early planning stages.


Same here, I started several games and just gave up because I got so sick of trying to understand my own hacked spaghetti code. Then, when I actually started designing the game and how it would all work before I started actually coding, I could easily finish a game, and what is more is that it was enjoyable!

In addition, take advantage of object oriented programming concepts. Develop classes that handle specific aspects of your game and are loosely coupled to the rest of the objects. This allows you to develop smaller portions at a time, which helps you to focus on the concept at hand and makes it easier to develop your game in general.

Just my 2 cents,
Svenjamin

Share this post


Link to post
Share on other sites
Take your time. If you find a design you like, write it down and do it. Though, make it really small at first. You can always expand it. It's a lot easier to expand something then it is to decrease the size of a design half way through the game IMO. So again, start small.

Chad

Share this post


Link to post
Share on other sites
Like they said, write down your ideas and some pseudo code that may seem workable. I did the same thing, write down ideas and have so many cool features, but not go anywhere else. I've started drawing out where things will be, how they will work, then I write their classes and functions they will need on paper, then I type it up on the computer, along with some minor editing, and wha-lah! Getting progress in game is great, but when you finally finish a game, it's the greatest title ever, then you can call yourself an official game maker.

Also, don't try to sit down and make the Next-Best-To-Halo, they had a team of who knows how many and tons of college/university experience. Start off small like (In 2d wise) a flat racing game, then build up to Zelda-like action, and when you feel confident in your abilities, Title Games.

Share this post


Link to post
Share on other sites
Another tip if you're starting lots of game projects: Modular code.

For example, if you're using Direct3D, write a simple class with a couple functions to create your window, init the devices, etc. Don't make it specific to the game you're working on; make it general purpose. But don't get carried away and try to make it into an entire game engine; just a simple class to init Direct3D. Then make your next modular class, for example, to draw sprites. And so on.

This way, even if you tire of a project before you finish it, you'll have a set of useful modules. You'll feel that you've accomplished something. Then, when you get another game idea, you'll have these modules to draw from, and you can get it put together much faster. Even if a particular module isn't exactly what you need for your next game, it'll often be close enough that you can adapt it with just a few quick modifications. After a while, you'll have a good library of modules from which you can put together a game prototype pretty fast.

Share this post


Link to post
Share on other sites
It's mostly a question of motivation in my experience. It's hard to motivate yourself if you do not have a clear set of goals and timetable. I know, I sound like one of those wide-eyed motivator monkeys, but it's the truth.

If you set yourself a plan and what to do, what you want to achieve, how long it will take to achieve, and making sure you meet your own deadlines will help you see a project through. If you stick to your goals, and see progress, that itself will motivate you to go further. Give yourself a number of hours a week to work on a project, and stick to it. If you've underestimated the task, do not abandon it, but re-schedule it, give yourself more time and break it down to goals you can achieve realistically.

You won't probably get it right first time, eck, not even the pro can do it! Especially if there are parts you are unsure of, give yourself some research/experiment time but try not to spend too much time in that will eat your productivity.

It's basically managing a project, how you get things done. Maybe there are some example / tutorial on how to design and manage the development of a game, It's actually quite hard to estimate the time it takes to get things done, and how to discipline yourself and stick to a schedule (for everything actually). It's a good thing to practise though. Hell, right a blog about it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Chad Smith
You can always expand it. It's a lot easier to expand something then it is to decrease the size of a design half way through the game
While this may work for you, and may work for many [hell, lets just suppose it works for everyone but me], I've found this to be the magic bullet that can kill any project. As soon as you start expanding on a design with a code base that has already been written, you're going to be pushing on the boarders of that code base. In many instances this is fine, but as soon as you add a feature that forces you to rewrite portions of your code, you'll rapidly find yourself scrapping parts of your project. This [in my experience] leads to re-writing LOTS of your code, and after having worked on a project for months and months with absolutely nothing to show for it [nothing, because you just had to undo everything you did have], the magic is gone, and the project dies. In the same vein, as soon as you try to add a feature that you cannot add because you've already coded over where that feature *would* have gone, you become disappointed with what you're doing, and the project dies. That, and it's really tough to let one new feature in, and not let in a hundred.

It's important to make, and stick to, the plan. If you're not really happy with the plan upfront, don't even start working on it until you've hammered the plan into something you *are* happy with. Sleep on it for a few days, kick around the final version of the plan for a week. If you're still madly in love with the idea, and everything works great on paper, then start on it.

I don't mean to say you're [Chad Smith] wrong [actually, we'll just assume that your method has worked and will always work for you and many others], but in my experience, nothing kills a project faster than establishing a precedent that the plan of attack is at all flexible. Once you start coding, you should be able to see the entire map out in front of you of what is going to go where, and have confidence that a month from now, that map will be exactly the same. If you start having to redo things you *thought* you had finished weeks ago, you'll loose interest fast.

*edit* oh, and Warlax, congrads.

[Edited by - Drigovas on September 17, 2007 1:34:46 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Warlax
YOU GUYS!
I've done it!!!

I listened to your collective advice and finished an albeit rough working TETRIS clone!!!!

You guys rule!

Thank you so much.

Congrats! Once it's finished, make sure you post it so we can all see [grin]

Share this post


Link to post
Share on other sites
I got this issue... and it's because my ideas are just way too big for my own good. I've been choking away for three years trying to realize something... it goes back farther then that spanning multiple languages and decades... delayed due to work, school and family all alike. Games is a hobby of mine.

I'm almost done... in programmereeze I'd say 90%... but I suspect it's more like 50%. Just when I think that I'm near completion of something, I find that I need to tweek something about it... which causes a cascade of many lines of fresh new code. It took a long long time, but I've got code that it should be easy to add to... that was the biggest nugget.

I suspect that my code is mostly complete... but the wall I've got is content. So much to draw... so little time. Which is okay for me... because I do have something put together, it's just very skeletal for now. I need to toss on some layers of skins or something to that effect.

My only solution/remedy/patch to my issue is joining up to a programmer site, and reading about all of the other folks with a similar issue to complete... that way I don't feel so alone in my undertakings.


Don't look at me... I'm really just here to vent :/

Share this post


Link to post
Share on other sites
Quote:
Original post by Warlax
YOU GUYS!
I've done it!!!

I listened to your collective advice and finished an albeit rough working TETRIS clone!!!!

You guys rule!

Thank you so much.


Damn, that was fast. Congrats! A tetris clone was a good place to start. It's simple, but not completely trivial, so it covers a lot of the components of a basic game framework. Good luck on your future projects!

Share this post


Link to post
Share on other sites
Break it down into managable parts.

I originally started my space shooter 7-10 years ago, but I wanted to do it all and it became too great a project and I got frustrated.

I'm starting again, new ideas, new plans, broken down into managable phases:

Phase 0: make a rigid body physical data ganerator.
Phase 1: develop free 1v1, multiplayer co-op version in deep space.
Phase 2: Develop SP campaign for retail, w/ phase 1 included.
Phase 3: Develop MMO version. Should accept P1 and P2 models of game.
etc, etc, etc.

If necessary, break the phases down into even smaller parts;

P1.a: develop lobby program
P1.a.1: develop UDP/TCP pkt communication subsystem and protocol.
P1.b: develop engineer's panel and program.
P1.c: develop science officers panel and program.
etc, etc, etc.

Share this post


Link to post
Share on other sites

This topic is 3737 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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