Slashdot Mirror


Why Game Developers Should Finish What They Start

Michael writes "Too often, hobbyists and open source programmers take on game projects that they can't hope to finish. Freshmeat is rife with games from developers who have bitten off more than they can chew. So I drafted an article which takes a look at the major roadblocks to successfully completing open source and hobbyist game projects."

80 comments

  1. I find myself in this situation a lot by gildesh · · Score: 5, Interesting

    There are times when I'm working on my personal project (a game, not surprisingly) that I just stop after getting one feature debugged, and I end up doing anything but work on it for weeks on end.

    The way that I get myself back on track is by concentrating only on the code that must get done and then I worry about making it more robust later on. I sometimes find myself worrying about the content. This is A Bad Thing(tm) to do while programming a game engine. It's a lot better just to focus on the code and the functionality first.

    Obviously, there are times when I physically am unable to program for various reasons (real life and all that). But, no one said that being an open source game developer was easy.

    I'd love to post my game URL here, but I'd rather not have my ISP think there's a DDoS attacking me. It's called Ether though, it's a web-based MMORPG. (there's a very uninformative page for it on SF.net [projectname: ethermmorpg])

    1. Re:I find myself in this situation a lot by mausmalone · · Score: 1

      I've got my own unfinished games too, but for other reasons. I really suck at AI coding, so I usually never finish anything beyond PvP.

      I also ran into the problem of a nigh-unusable menu when you're using a slow computer (as I put in way too much OpenGL goodies and the menu actually runs too slowly to move the cursor correctly).

      --
      -=-=-=-=-=
      I'd rather be flamed than ignored.
    2. Re:I find myself in this situation a lot by Anonymous Coward · · Score: 1, Funny

      The way that I get myself back on track is by concentrating only on the code that must get done and then I worry about making it more robust later on.

      Rumour has it that Microsoft also use this approach. "Later on" never comes though since they're always busy thinking up new major features to add to the next "service pack". Clippy, the Office paperclip assistant, would have been one of those "must get done" things while security and robustness were put on the roadmap.

    3. Re:I find myself in this situation a lot by the+argonaut · · Score: 1

      The way that I get myself back on track is by concentrating only on the code that must get done and then I worry about making it more robust later on. I sometimes find myself worrying about the content. This is A Bad Thing(tm) to do while programming a game engine. It's a lot better just to focus on the code and the functionality first.

      I thoroughly disagree. Work on the content first, then develop the engine and other technology you need to implement your vision and story. There are already too many games out there that look really pretty but suck in terms of playability because the developer spent too much time on form (engine, graphics, etc.) and too little time time on substance (storyline, characters, etc.). Much like certain filmmakers (Lucas?). . .

      --
      fuck you.
    4. Re:I find myself in this situation a lot by JVert · · Score: 1

      I was just thinking about this last week. I have absolutly no interest in doing AI for a multiplayer game. But what if left an api in place that gamers could create bots. As antisocial as the bots seem, with good balance they can still be cannon fodder for real players and maybe get more enjoyment out of smashing another players bot instead of "fighting the game".

    5. Re:I find myself in this situation a lot by cryoknight · · Score: 0

      I have to disagree with making content before the engine. If you want to hardcode your content, that's probably fine. Of course, if you are trying to make a reusable engine, that's impossible. The Engine HAS to come before, or at least, simultaneously, to the content.
      You CAN'T EVEN MAKE all of the content before the engine is built... How do you make a level before the level editor is made?
      How do you add content to the game, when the code isn't there to add it? How do you SEE the content, if the code isn't in place to draw it yet? How do you make the NPCs interact, without adding the code that allows for the interaction?

    6. Re:I find myself in this situation a lot by the+argonaut · · Score: 1

      I think you may have missed my point. What I am referring to is more like scripting, storyboarding, etc. Let's face it, in the end the engine and graphics are meaningless if the game isn't any fun to play.

      --
      fuck you.
  2. It's my own time so I'll do what I want by Chris_Jefferson · · Score: 5, Insightful

    As an amateur game developer, I can tell you I've got more half-written games around than I can count :)

    The reason why people give up is quite simple.. it's fairly easy to get a 80% complete game, and see what it's like. The last 20% however takes 50x longer to do, is really quite boring, and by that point I've had a new idea for a "greatest project ever!", and have decided to go and write that instead :)

    One problem with games that other programs don't have so much is that most games (with the except of fairly free-form RPGs like nethack) is that most people will only play them once or twice, so if you write a game and release a 70% complete version, then 4 months later release a 80% complete version, very few people will re-download and re-play the new version, which is one reason people find it so hard to motivate themselves to finish them, and not just go and write something else.

    Now pardon me while I try to get and think of another great idea for a new game and start to write that one!

    --
    Combination - fun iPhone puzzling
    1. Re:It's my own time so I'll do what I want by trompete · · Score: 3, Interesting

      Amen to that. I'm guilty of this too, and I'll do it again.

      You learn so much from doing partial projects. This time around, I learned:
      LibSDL, SDL_Net, SDL_Console, and INI_Parser.

      Granted, I don't have a product to give away, but I just made the game for myself anyway :)

    2. Re:It's my own time so I'll do what I want by cunniff · · Score: 3, Informative

      The best way to get around this (for any project, not just a game) is to have accountability to some other person or group. In other words, you *have* to finish that last 20% because those other people keep asking you to.

      This works best, of course, if they really like the project you've developed and can give you positive feedback as well.

    3. Re:It's my own time so I'll do what I want by Corngood · · Score: 5, Insightful

      A friend of mine helped me out writing a little game/demo. He wrote me a schedule and harassed me on a semi-daily basis. I never finish my hobby projects, but he was so much help that I actually made a pretty good demo, which helped get me my first game industry job.

      If you can get people interested, even if they aren't actually contributing to the project, they can be a big motivator.

    4. Re:It's my own time so I'll do what I want by UnknownSoldier · · Score: 3, Interesting

      > The reason why people give up is quite simple.. it's fairly easy to get a 80% complete game, and see what it's like. The last 20% however takes 50x longer to do

      Yeap, the standard joke in the industury is that the first 80% takes a linear 80% of your times, and the last 20% takes an exponential 80% of your time. i.e. ~160% total time.

      Why do you think id, Blizzard, etc. keeps polishing their games before they declare them good enough to ship?

      --
      Original, Fun Palm games by the Lead Designer of Majesty!
      http://www.arcanejourneys.com/

    5. Re:It's my own time so I'll do what I want by Carnildo · · Score: 1

      Looks like I'm doing better than average. Of the games I've started writing, I've actually reached 100% for one of them -- a re-implementation of RoboWar. Of course, now I'm bogged down trying to upgrade the graphics to something more sophisticated than basic 32x32 sprites.

      Does anyone know of a C++-compatible scene graph library?

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    6. Re:It's my own time so I'll do what I want by ACPosterChild · · Score: 1

      Why do you think id, Blizzard, etc. keeps polishing their games before they declare them good enough to ship?


      They don't. They're just a bunch of sadists, and enjoy torturing hundreds of thousands of people by not releasing their games. They actually finish near the initially advertised release period, and then they sit in their offices playing their awesome games all day, all the while reveling in the satisfaction that fanboys are crying themselves to sleep! :D

  3. er... by gildesh · · Score: 0, Offtopic

    um... yeah... DDoS attack HAPPENING to me... right... sorry about that...

  4. get bored, not just games by Arngautr · · Score: 4, Informative

    I have found that when I work on personal projects, a couple games amongst them, I get bored with them once the hard parts (those that I haven't had much experience with ie new to me) are done and bug free (as best I can tell ;) ). I then get distaracted by something else that catches my eye and proceed to half finish it, then.....

    1. Re: get bored, not just games by Black+Parrot · · Score: 4, Funny


      > I have found that when I work on personal projects, a couple games amongst them, I get bored with them once the hard parts (those that I haven't had much experience with ie new to me) are done and bug free (as best I can tell ;) ). I then get distaracted by something else that catches my eye and proceed to half finish it, then.....

      Yeah, I tend to think of a problem, program at it just long enough to see how to do it, and then go on to another one.

      I suppose there's a reason we aren't all entrepreneurs.

      --
      Sheesh, evil *and* a jerk. -- Jade
    2. Re: get bored, not just games by julesh · · Score: 4, Funny

      Reminds me of a joke:

      From: dhein#NoSpam.onramp.net
      An Engineer, a Physicist, and a Mathematician all go the same
      Conference. University budgets being what they are, they all stay in
      the same cheap hotel. Each room has the same floor plan, has the same
      cheap TV, the same cheap bed, and a small bathroom. Instead of
      a sprinkler system, the hotel has opted for Fire Buckets.

      The Engineer, Physicist, and Mathematician are all asleep in bed. At
      about 2AM, the Engineer wakes up because he smells smoke. He looks in
      the corner of the room and sees that the TV set is on fire! He dashes
      into the bathroom, fills the Fire Bucket to overflowing with water, and
      drenches the TV set. The fire goes out, and the Engineer goes back to
      sleep.

      A little while later, the Physicist wakes because he smells smoke. He
      looks in the corner and sees that the TV set is on fire. He grabs a
      handy envelope, estimates the BTU output of the fire, scribbles a quick
      calculation, then dashes into the bathroom and fills the Fire Bucket
      with just enough water to douse the flames. He puts the fire out and
      goes back to sleep.

      In a little while, the Mathematician wakes up to the smell of smoke.
      He looks in the corner and sees the TV on fire. He looks into the
      bathroom and sees the Fire Bucket. Having determined that a solution
      exists, he goes back to sleep.

    3. Re: get bored, not just games by Anonymous Coward · · Score: 0

      "I suppose there's a reason we aren't all entrepreneurs."

      Yes, entrepreneurs use money to keep score. You see the problem?

    4. Re: get bored, not just games by IncarnadineConor · · Score: 1

      Either that or he hands it to the engineer thereby reducing it to a problem that has been already solved.

  5. Eat your own dog food? by rikkus-x · · Score: 1, Insightful

    From the site:

    "There are no games at the moment. When we announce something, we'll put it here!"

    Rik

  6. The title is just plain wrong by BoxedFlame · · Score: 5, Insightful

    The article is about HOW to finish a game, not WHY.

    1. Re:The title is just plain wrong by Kethinov · · Score: 2, Funny

      Close, but no cigar. "Why Game Developers Should Finish What They Start: So Articles Like This Don't Get Written"

      --
      You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
  7. Games by learning - or by fun by tod_miller · · Score: 4, Insightful

    I agree with Pitfall one, three is a bit suspect.

    Opensource isn't just a one man band. The best games would have >1 developer to lend a hand.

    Don't encourage rash, hacky programming tendancies to push quantity of quality.

    Of course, fleshing out mist of your game can be a good way of making you want to complete it.

    My advice: Get other people to help with graphics. Go to a site like www.deviantart.com and post a message saying pixel help / 3d help needed for xyz game, AFTER you have an engine that can showcase their work.

    Looking good isn't a crime!

    There are some rgeat freeware games around, and top down shooters using mouse look are excellent, and they usually have some funky particle FX.

    As game development is simplified through libraries, we may see more amateur games, and more skill, pressuring commercial games sales.

    CounterStrike for instance, if this used an open source, free beer 3d engine, then the 'best game' would have been open source and free beer.

    OK quake 1 is open source now for ages, I am not sure what this means for counterstrike source code?

    Valve obv. have license for thier commercial exploits of the game.

    Modification of games is also prevelant, making open source games modifiable, even using md2 model files etc, would greatly increase thier adoption.

    Top ten open source, free games?

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:Games by learning - or by fun by Anonymous Coward · · Score: 0

      "Top ten open source, free games?"

      If you disqualify card (i.e. Solitare) games, I doubt you'd have ten total games to choose from.

  8. Video Game Author: My dream job. by NoMoreNicksLeft · · Score: 4, Interesting

    And that's always been the case... of course, being more of a tinkerer of code than a real programmer, there wasn't much chance of it ever happening professionally. I've had so many ideas, and quite original, I'd think. Some go back to the early 90s, and they don't seem dated yet.

    Well, the last few weeks in particular, I've been working on my first game for real. Allegro, gcc on linux. I'm doing the mundane stuff first, menuscreens, trying to get libmpeg to do cutscenes, not that I'll ever actually have any rendered.

    Maybe it was the years of starting to doodle around with code, and never accomplishing anything, but I did realize that I needed placeholder images/video. Done, grabbed random mpegs, doodled out so laughable stuff in gimp. My game will use very little in the art dept, being SVGish in many aspects. At the moment, only the opening menu screens would seem to need any.

    The point is, why does this guy think this is a revelation? I can't imagine that there is anyone out there that isn't using Allegro or SDL, or has io needs so simple that a keyboard routine is all they need. His first requirement, therefor, hasn't been an issue in at least 5 years.

    His second issue, art/graphics. I can see this as contentious. Even so, those who really want to program, to author the game, they give up on it soon. (In some respects, at least... if I were doing a 3d game, I'm decent enough at 3d modeling). So people either finish this part, or they don't. Does he expect them to design games that don't need any, or would he just rather not see any unfinished games?

    It sounds more discouraging than encouraging.

    Offtopic: What in the hell do I do with my game, assuming I do finish it?

    1. Re:Video Game Author: My dream job. by julesh · · Score: 1

      As someone who watched an open source game project get caught up in stage 1 years ago, I can say that it is a risk.

      At the time, 3D graphics hardware was just starting to become common -- so, initially a rendering engine was written that used allegro's triangle drawing and the painter's algorithm to draw 3D objects. Then the authors decided that OpenGL was the way to go instead (I think Quake had been released a little while beforehand, and everyone thought it was cool back then). While they messed around for 6 months I gave up interest in contributing to the AI section I'd been considering working on. I understand later still they moved to Direct3D, I'm not sure why. I don't think the game was ever finished.

    2. Re:Video Game Author: My dream job. by NoMoreNicksLeft · · Score: 3, Interesting

      RTS here, space combat, multiplayer. You design your own ships, and fight them, either cooperatively (2+ players controlling different aspects of the same ship, gunner, pilot, etc) or standalone (1 player per ship). Since design is really only possible in 2d (can't expect someone to design in 3d and be good at it), the game itself is 2d.

      Designing a ship means drawing an outline (the hull) and choosing the hull material. Then dragging and dropping components. Pressurized interiors, life support, computer systems, engines, power reactors, weapon systems. Scripting the control interface. Some stuff, like routing power conduits and data lines might be done via wizard, but a person has 95% design control. Add in real physics, and it could be interesting. Your ship weighs 50,000 metric tons, but you only had room and money for the tiny engine with 2000 lbs of thrust? Oops. You forgot that there are no tires on the ground to turn with? Hope you put the weapons on a turret!

      And then of course, I can calculate exact component damages. They knock out several turning jets, damage a few more to 30% effectiveness, and your engineer is hurriedly writing new script, because the old keystroke assumed all 8 turning jets at equal power. "Cap'n, it'll take at least 10 minutes to get the primary navigation system back in order!"

      Graphics aren't too tough. Some stars in the background, with slow parallax. Bitmap or SVG skins over the ship visuals. (Pet project as a player? Making an authentic Narn battlecruiser design!) Various interface screens will be collections of guages and interfaces... probably SVGesque. All designed by the guy who makes the ship. Some people might even fly totally by instruments... there might not be a "space view" at all.

      I'm also considering a campaign mode, though it might be lame. Thank god for 2d, vector graphics and the stark void of deep space.

      Doubt it could be popular though, doubt even more so that people would buy it. But if I don't write at least this one game, I'll never be happy as a human being.

    3. Re:Video Game Author: My dream job. by WoodenBoy · · Score: 2, Informative
      Offtopic: What in the hell do I do with my game, assuming I do finish it?
      Assuming you want to get a job as a game developer, read through Tom Sloper's Game Biz Advice site.

      If you just want people to play it, I'd try places such as freshmeat, or the forums at gamedev.net or flipcode.com.
    4. Re:Video Game Author: My dream job. by MrResistor · · Score: 1

      I'd buy it, if it were available for Linux, and especially if it had a campaign mode. Something along the lines of Escape Velocity would be cool, especially with the ability to design your own ship.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    5. Re:Video Game Author: My dream job. by NoMoreNicksLeft · · Score: 1

      Development is on linux, needs allegro and a few other standard libraries. I have the option of a windows port, but I may do it on everything but.

      Campaign mode, I'd want cutscenes, but I'm not good enough to make my own. Plus, it's going to be tough, making the campaign missions non-lame. It's not that I don't want to do it, but that may be hard to finish, even more so than the playable engine itself.

      If I do it the way I want, though... there will be plenty of opportunity for others to make entire campaigns too (the kind I couldn't for legal reasons). Full sets of Star Wars, Star Trek, Babylon 5 total conversions, and not just ships. Gotta be careful what I say though, in case I actually do try and sell this game.

      Hmm, that needs clarification too. When I say sell, I mean putting up a small website where you can paypal me $5, and get the CD in the mail in a few days. Not pitching it to suits, who don't even have time to laugh at me.

  9. If you liked this... by waz · · Score: 3, Informative

    Check out the 'Indie Game Development Survival Guide' as it greatly expands on the article. A great book covering all aspects on how to complete a game (for fun or profit) as part of a hobbyist game-development team!

    http://www.amazon.co.uk/exec/obidos/ASIN/158450214 2

    1. Re:If you liked this... by Anonymous Coward · · Score: 1, Informative

      Perhaps it's just me, but this book provided very little value. Most of it was very basic common sense things like don't bite off more than you can chew. Charles River Media pulbishes some great book on beginning game programming/art/concepts/etc, but this is not one of them.

      Also, before writing articles on how to finish a big project like a game shouldn't the author have something finished before he starts wagging his finger and other homebrew developers? It's his personal game studio site and the only other thing he has posted is an article about emacs VS Visual Studio.

  10. My own tips on finishing the project by dave1791 · · Score: 5, Funny

    "... they focus on strength areas like plot and storyline"

    I have been writing a neverwinter nights modules for what seems like forever and I consider the authors tips, at least in the context of a "community mod", to be pure BS. Writing something good is hard, even on a platform like NWN where the game engine is already written for you and you can focus on the "plot and storyline". Doing it well is hard and takes a lot of work. Anyone who has ever written a large dialog tree for even a single conversation would know this. Think about what a players response to each line might be and write all the reasonable branches. By the time you have reached the grandchild node, it is immense. Oh and if any of these have a plot impact, or you include race or class based differences, it gets even more immense. Even a conversation between two NPCs to advance the plot can have you debugging for hours. A cut scene is a serious hair puller.

    Blowing things up is the easy part. Fights are fast and simple to put together. Putting together an immersive environment with properly placed background noise and placeables - as opposed to empty and lifeless areas is difficult. Good, self consistent stories and smooth play are difficult. That is why 95% of the modules on neverwinter vault suck and that is also why my "soundstage" modules still have a toolset to gameplay time ratio of something like 100:1. And that is soundstage where I can keep track of the plot in a notebook becasue I will be DMing them later.

    Oh and I periodically stop developing because I have a life; plain and simple. Wife, kids, job, friends, other hobbies. Sometimes I get sick of building and even play for a little while.

    So here are my own tips on finishing the project:

    1) If you have a spouse or significant other, they are simply a drag on your time and preventing you from delivering. Divorce is in order here. If you are not married, it is less of a hassle to extract yourself from this situation.
    2) Kids? Give them up for adoption.
    3) Friends. If they are not willing to help out on the project (remember the >1 developer rule), then they are not really your friends. Never speak to them about anything else for the duration of the project.
    4) Other hobbies. And desires to do anything else with your free time is indicative of lack of focus. Sell your hot rod/mountain bike/golf clubs/books/whatever.
    5) Getting bored with your project and need a break? This is the single biggest factor in not delivering. Oh, you say that you will take a break for a few days, watch that DVD, play, see friends, etc and then come back to work on your game again, but will you? Oh you might in a month or six, but your idea will be stale. REMEMBER - YOU ARE NOT DOING THIS TO HAVE FUN!!! Is the project starting to feel like you are still at work? You are. Now get back to that keyboard.

  11. Software Design by Nyhm · · Score: 5, Insightful

    In defense of good software design, there is something to be said for system components that are not inter-dependent. Good design means there is some hope of debugging the system. Achieving this should not take a "bleary-eyed programmer" all night to do it. If this is the case, your software design phase failed.

    Oh, wait, there is no mention of software design in this article...

    I keep forgetting that game development is not about producing good software, but about efficiently pipelining your artistic assets. This misconception transcends this little article. For example, Game Developer Magazine is a worthwhile publication, but should really be called Game Artist Magazine.

    1. Re:Software Design by Arkaein · · Score: 2, Interesting

      Modular design is important for big projects, and it's something I strive for in most projects, but it should be seen as an end and not a means.

      One thing I've noticed with my own hobby apps is that the most sucessful ones (in terms of actually getting something running somewhat decently) are ones where I just sit down and code. The ones which I spend a lot of time "architecting" tend to be the ones where I have less enthusiasm, and code more tentatively, almost like I'm afraid of making mistakes. Even if I don't lay down a good framework if I can just get a lot of good code written quickly I might find my mistakes sooner and be able to refactor effectively, rather than putting a lot of effort into an architecture that may not be optimal (after all, most hobby projects are about learning, so if I already knew what I was doing I might not be doing it).

      It comes down to psychology. Effective hobby coding requires continuous enthusiasm for the project. If the motivation isn't there, the project will stagnate, so the best approach is the one that makes every step enjoyable. For me this means seeing new results every day. If the project turns into something worthwhile it will be worth refactoring later. If not, then the beautiful framework was all for naught anyways.

    2. Re:Software Design by Anonymous Coward · · Score: 0

      So from which software design book did you get the misconception that if your programmers crunch all night at the end of the project then your software design phase failed?

      What if your software design phase calls for this? For instance, because you work in the real world without enough programmers to do the proper design, and because you acknowledge that it's 90% throw-away code so maintainability doesn't matter once it's out the door? Or because you need to compete with larger teams on a shoestring? The idea that there is no reason for crunching at the end of a project is pure dogma and belies the reality of the situation.

      And on what planet is efficiently pipelining your artistic assets not a part of that software design process? Don't confuse software with runtime code. There is a lot of software developed for a game, and only 30-40% of it ends up on the disc in the runtime. It's still software development to write this code too.

      And I'd like to see how late you have to stay up coding because your development model was so inefficient as to not bother to spend a sizable quantity of your time greasing the asset pipe, thus wasting hours on builds and rebuilds in those crucial last weeks of development.

      Or would you just slip and say, hang the penalties, we can afford to lose money on this game ... just as long as it's got a clean internal design with no effort wasted on making the job easier?

      Yeah? And you'd be writing these games in machine code, I presume?

    3. Re:Software Design by BenjyD · · Score: 1

      Software design is important, but having spent yesterday evening trying to read the code of several OSS projects like the ones the article refers to, I'd say there are more immediate problems:
      - Functions that are three or more screens long.
      - class members called undescriptive names like w,w0,w1 etc scattered everywhere
      - No use of polymorphism to avoid switch statement nightmares
      - code copy-and-pasted about with a few values changed rather than factoring out the similar code and putting it in a separate function

      C++ is hard, even without having to worry about large-scale design.

    4. Re:Software Design by BenjyD · · Score: 1

      It depends on whether it is something you're just doing as a hobby or whether you really want to get something good done (and involve other people in it). There's nothing wrong with either approach, it's just that if you don't design and just keep hacking, the project is far more likely to just disintegrate into a mess of spaghetti code with unsightly hacks. Once that happens, I find my enthusiasm to keep coding fades rapidly.

      I've learnt the importance of design the hard way.

    5. Re:Software Design by Nyhm · · Score: 1

      This is part of software design!

    6. Re:Software Design by Nyhm · · Score: 1

      Crunching at the end of a project seems the norm. The article (you read that, right) talks about crunching all night just to provide some good design practices to the code.

      This thread is all about hobby-shop coding. Thanks for the insight into the commercial world, though. This is why commercial software is, on the whole, terrible. OSS has the potential to be much better than commercial software BECAUSE it is not driven over a cliff in the garbage truck of marketing. (Unfortunately, too many OSS projects are tainted by the same attitude you have toward software development. I'm sorry for your disgust of the craft.)

    7. Re:Software Design by BenjyD · · Score: 1

      I suppose. I guess I'd class it as "being able to program", rather than strictly design.

    8. Re:Software Design by Nyhm · · Score: 1

      True! I think we're making the distinction between high-level design (a.k.a. architecture) and detailed design (class, sequence diagrams).

      "Being able to program" (at a very basic level, as you correctly point out) is an oft-overlooked quality. I should assume that, but experience has trained me to doubt mere competence.

    9. Re:Software Design by Warped1 · · Score: 1

      I think that depends more on the situation and person.

      For me, I notice that I could sit there and try to make it work on paper, or I could write something that works in practice - and then refactor as necessary. In the end, the latter seems more efficient to me.

      But then again, I don't work on truely large projects where architecture is more important.

  12. He also forgot a list of blockers. by leonbrooks · · Score: 1
    1. slashdot
    2. ummm...
    --
    Got time? Spend some of it coding or testing
  13. I can probably own that to an extent... by StressGuy · · Score: 4, Insightful

    I don't write games though, I've written software for assisting me as a structural engineer. However, my main motivation for writing it is generally to educate myself on some of the underlying theories and techniques. I figure that, computers are rock-stupid. Therefore, if you can explain it to a computer, you must have a pretty good understanding of it yourself. I've got more than a few half-written projects that I stopped as soon as I grasped the underlying concepts I was seeking to understand.

    While I've never released any of these projects, I suspect that this may be a similar situation with some of the game designers. I.e., the game is mearly a means to an end. If the true goal of the game is accomplished before the game is finished, there is less motivation to finish the game.

    --
    A goal is a dream with a deadline
  14. Rebuttal by Anonymous Coward · · Score: 1, Insightful
    Point by point, then:
    1. Amateurs don't make games solely because they want a finished game, so of course you don't want to get through technology development as quickly as possible. You're developing a game for fun, or to learn something, or to try to get a job. In all three cases, love the tech. (I'm assuming you're a programmer - if you're an artist, use tools, not programmers, because they love the tech too much.)
    2. There is little joy in mimicking the technology of yesteryear - work on MAME if you want to do that. Of course you should work on cutting edge tech. If you can't conceptualize a modern content pipeline, you won't learn much and it won't help you get a job.
    3. The reason you "will most likely be compelled to throw away the majority of your code on the next game anyhow" is because morons like this told you not to waste your time componentizing, possibily due to the "annoyance" of writing in a type-safe language. Let him do his games in Python while you continue to push the limits in C++.
    4. If you want to do an exploration game, do one. Figure out how to do one on your budget. If you can do that, you've got EA licked.
    But the final piece of advice is this: ignore those who have nothing better to do than write articles like these. There is a reason people make 20% of a game, and it's called learning. You did a game and only finished 20%. Good for you. You know you learned something. You know that this is how you learn things - after all, you have that half-finished text editor, and the IM client that never quite got past console mode, and a web server that kind of works with a few browsers, on a good day. You learned what you needed to learn and you moved on. But most importantly - you knew when to quit. On the other hand, if what drives you is to make 2D games with limited content and actually get them finished, then sure, this is great advice. I'd make a puzzle game - there are far too few of those around.
    1. Re:Rebuttal by Anonymous Coward · · Score: 0

      Not even 1 mod point? In an article with less than 50 posts? Come on moderators!

  15. Nature of the beast by llefler · · Score: 4, Insightful

    This really isn't a problem with game developers. It's not even unique to open source. Even with commercial development, a lot of projects are started but never completed. Some never make it off of the developers' systems because business requirements change. Some projects make it into production 'incomplete', with the intention of going back and adding features, but it never happens.

    It's not necessarily a bad thing. Some projects begin to test a theory that never pans out. Those projects feed into the next iteration that makes it a little further. And some projects are so ill concieved that they never deserve to see the light of day anyway.

    You can look at it as R&D, or as the electronic version of Darwinism.

    --
    It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
  16. Article not really descriptive by Sigma+7 · · Score: 3, Insightful

    After a quick glance at the article, I noticed that there was information missing (a feeling I had before I opened the page.)

    The reasons within the article are technological reasons about why games fail - pertaining to how the code is designed. It doesn't explain more pratical reasons, such as insufficient experience with programming or mathematics (e.g. you don't yet know how to divide a shape in two efficiently.)

    This sort of stuff needs to be written over a period of time - you can't just write a single small article and say that it's done. That's also why there are books on the subject rather than one section in a periodical.

  17. Effort to fix this kind of problem by pilot1 · · Score: 5, Informative

    Happy Penguin's Game of the Month is an effort to fix this sort of problem.
    Every month (or two, or three..) they choose a game to work on, and generally the end result is a greatly improved game. Currently they're working on TuxKart, if you view the screenshots of some of the improved models, they're amazing.
    Anyone who has an incomplete game that they're no longer working on would do well to at least suggest it to the GOTM people, since they have artists and other people willing to do the type of work that coders hate.

  18. Heck the pros are releasing unfinished games too by cjmnews · · Score: 3, Insightful

    After seeing how poorly the "fit and finish" of Champions of Norrath is as well as a few other games I have played, it is apparent that the professional game companies could do with some advice on how to finish a game too.

    Test Test Test! That is imperative. Don't use the same testers on the final version. You need to see different actions than the expected ones to ensure the bugs have been found. I play plenty of Beta modules for NWN and you can see who tests their modules and who releases the latest modified code. I can honestly say there are better developers in the NWN community than some of the professional developers.

    Specific issues for Champions: There should not be "holes" in the graphic walls a character can fall into and be outside of the defined world. There should not be a 10-30 second delay to a response to an action like your pack being full. Simple and common things like accessing your inventory must be fast. Do not force large automaps when you add more than 2 players.

    Other games: If the player moves the camera to a specific position, leave it there. If you have 2 tough areas back to back allow the user to save in between. If you have NPC characters, either move them out of the path of the PC or allow the PC to walk through them. If an activity is not required for general game play, but can help with bonus play, do not force the user to learn it.

    --
    You can lose something that is loose, so tighten the loose item so you don't lose it.
  19. What makes games get finished by Doctor+Cat · · Score: 4, Insightful
    I've been saying it for over 20 years now. There's a minority of Developers Who Actually Finish Anything Ever, and a majority of people who Only Start Things But Never Finish Things.

    If a project is to have a chance of becoming finished, it needs at least one person involved who is rabidly determined that it will get done, no matter what, no matter how long it takes. This person needs to have the will to take back responsibility/control from anyone who's not getting some part of it done, and the ability to either do all those parts of the project themself, or to find someone else who will do them. If you have a person with pit-bull like persistence and determination on a project, it is decently likely to get done. If you don't, it's hard to finish unless you're doing something pretty easy.

    --

    Furcadia - A free online game with user created content, DragonSpeak scripting, & more.

    1. Re:What makes games get finished by Anonymous Coward · · Score: 0

      I've been developing a set of 2d engines for a little under a year now. The game changes over time, which I don't mind so much because I'm overflowing with ideas, but I keep restarting my engine, for one reason alone; I realize, at some point, that I made it too complex to continue with, to get beyond the "hey, stuff works!" stage and build some editing tools and gameplay code that I could actually work with. I knew how to start, but not how to finish.

      So I would start again, with a slightly simpler design. And after about ten times of this, I had worked my way down from:

      Smooth-scrolling, heavily OO engine with modular object code and animating background tiles and persistent world snapshotting

      to

      Fixed single-screen engine ignoring OO practice with static tiles, scenes do not save their state

      And I figure this is OK. If I really am the great game designer I wish to be, I should be able to get around such a "crude" basis for my game and construct something fun.

      I'm doing this in Python with the Pygame libraries, as well. I couldn't imagine doing it in C++ or Java; that would have slowed the process down so much that I'd still be on my third or fourth engine, still dreaming.

      By the by, I think Furc is an excellent little world ^.-

  20. A Nice Reminder by blueZhift · · Score: 1

    This is a nice reminder to me to get my butt in gear! I've got all of these ideas swirling around in my head, but not too much code on the ground yet. Lately, I've been focusing on art work, and having a lot of fun at it, but gotta get back to the code!

  21. All projects by Anonymous Coward · · Score: 1, Funny

    Gah, don't remind me. I just got back on track dusting my code off and really getting work done on it when I remember that Doom3 gets here Thursday (not that the download isn't going as I type this). So Thursday and Friday will be a mad rush to finish Doom3 so I can get back to getting real work done. Speaking of real work, I need to stop posting to Slashdot and get back to that...

  22. From the article... by Scarblac · · Score: 1

    You need to get through technology development as quickly as possible. If you disagree with this statement, you care about something else besides finishing your game.

    Of course we care about something else - it's a hobby project, isn't it? Having fun is more important. And the technology development is the best part! Who cares about finishing this stuff, that's work.

    --
    I believe posters are recognized by their sig. So I made one.
  23. cheap article by Anonymous Coward · · Score: 0

    A number of users have already posted critiques of this hack job of an article. I was tipped off from the beginning...

    "Quite a few people build games no [sic] their own time."
    "...you care about something else besides finishing your game."

    If you manage to have typos in the second sentence of your article, then you care about something else besides ediiting your article.

  24. not any engineer I know by Anonymous Coward · · Score: 0

    most of us arent dumb enough to throw water on an electrical fire, the Mathematician tho...

  25. Game programming libraries by cjellibebi · · Score: 2, Interesting
    >Opensource isn't just a one man band. The best games would have >1 developer to lend a hand.

    If you're going at the programming by yourself, I would strongly recommend you use a library to save you from having to write your own low-level access routines (unless you just want to learn about how all these whiz-bang effects are done, but that may distract you from the goal of getting a game finished). Unless you have commerical backing, or are absolutely sure you have the willpower to stick to the project (by "absolutely sure", I mean you've done it before right to the bitter end and want to do it again), I would recommend using as hing-a-level library as possible.

    There are several out there with their advantages and dis-advantages. Some of them are Microsoft DirectX., OpenGL, Allegro and SDL. High-level libraries are good for beginners and are useful for rapidly developping games. You can accomplish a lot with a few lines of code, but they can make the executable size bloat, and sometimes, you may want more control over the system. Low-level libraries are useful for control-freaks who want more control of what's going on.They let you access the system with little overhead, but require a lot of work to get to work. DirectX and OpenGL are low-level libraries, Allegro is a high-level library, and SDL is somewhere in the middle.

    Also, check to see which platforms the library is available for. DirectX is only available for Microsoft, whereas OpenGL, SDL and Allegro let you write programs that can be ported to a multitude of systems and OS's.

    Personally, I use Allegro, but other people may have different requirements or desires to dig down deep into the hardware.

  26. Relying on other people by cjellibebi · · Score: 3, Insightful

    Another piece of advice: If you are writing the game just for fun, anyone who offers to contribute to it in anyway is not under any obligation, and may never get round to it. So try and rely on yourself as much as possible.

  27. Pitfall #0 by droleary · · Score: 2, Insightful

    People

    Most games (hell, software projects of all kinds) don't get finished mainly because they are started by the wrong people. Some joker with minimal OpenGL experience comes up with a "wouldn't it be cool" idea and then immediately thinks they have to announce it to the world. They then spend all their time without a solid plan engaged in activities that do little more than stroke their own ego. Those people are best told not to finish, but to not even start.

    1. Re:Pitfall #0 by geminidomino · · Score: 1

      *Hums the "Derek Smart" Song*

  28. Pitfall #5 by fred+fleenblat · · Score: 0, Offtopic

    Spending too much time reading slashdot.

  29. From a NWN mod author by PIPBoy3000 · · Score: 4, Interesting

    About two days ago, I shipped Demon after a year of development. It's a mod for Neverwinter Nights, the sequel to Shadowlords and Dreamcatcher. Both are in the Hall of Fame on the Vault and the Dreamcatcher series was Module of the Year. Yadda, yadda, yadda.

    The closest I've come to understanding why I keep making these things is a comment made by a writer. They didn't write because they wanted to write, they write because they had it.

    I make games because there are these stories inside me that keep wanting to pop out. Characters that demand being brought to life. Making the games can occasionally be fun, but the bugtesting and release is usually grueling and unpleasant.

    So, I think I'll keep my day job of code wrangling and tip my hat out of respect to professional game developers. It's a tough job, putting something you've invested so much of yourself out there for the world to poke at.

  30. Harsh But Fair by Anonymous Coward · · Score: 0


    2b) Pets. If you own any vets, take them to the pound and have them put to sleep. Buy new pets when you complete your project.

    1. Re:Harsh But Fair by iMMersE · · Score: 1

      I owned a vet once, and I put her to sleep. The judge was very angry about this, and made me stay in this nasty hotel for years.

      --
      codegolf.com - smaller *is* better.
  31. He wasted his time on Emacs vs VS article by Anonymous Coward · · Score: 0

    He has no games because he has wasted all of his time on setting up a mediocre website with two articles, the one that this post was about, and an article about Emacs vs Visual Studio 7.

    I can help him with a one-step-plan for finishing a game:
    1. Stop wasting your time advertising your incomplete site on Slashdot.

  32. My way around this by elhedran · · Score: 1

    My way around this is to simply admit I am never going to complete a game.

    I'm tackling the content side instead, sorta. What I have written basically is a terrain tile generator. I noticed a lot of the 'craft like games suffer from lack of good graphics, and figured that terrain was part of the graphics that might be easier to generate than to render individually.

    If you are morbidly curious my stuff is at gasnippets but I don't consider it finished yet. Working on DirectFB and OpenGL variants of the same thing, to learn about the platforms more than anything else.

    Doing it this way I get to work on something I find interesting (e.g. how to make good looking terrain in the range of 100000's of tile variations, without having to sit at gimp for 3 years), but not have to worry about the rest of the trappings for a game. When its done to a level I am happy with, I will post it to the 'craft like games I think could benefit from it.

  33. I know this all to well.... by shotgunefx · · Score: 5, Interesting

    From 92 to 96 I was working on and off on a 3D driving game. At the time, I was driving a truck and the frustration with the barrage of idiots I constantly had to avoid got me thinking, "Wouldn't it be great if I could just run them off the f*cking road" or worse... (yeah, real healthy, I know)

    So my idea was to make this driving game where you had to race across country, but that was just the plot for plot sake. (It was about as much plot as Doom had in the readme.txt)

    The race didn't matter. It was just an excuse for the different locales. The actual purpose of the game was to race, rob, carjack and maim everybody and anybody you felt like with your vehicles. I thought most drivers could identify with this on some level and the idea at the time was "out there" and sure to make some controversy.

    I was working around anywhere between 1000 ~ 2000 hours a year on this. (Depends which years) Every time it got close, a new game would come out and raise the bar. Like an idiot, I'd start all over because I wanted it to be as good as anything out there. Well, seeing the target for this 3D game was originally a 386DX, later 486DX DOS/32, mostly everything had to be done in assembler. (Actually, in hindsight, I probably could have gotten away with a little less optimization) it took forever for it to go anywhere. Just when I'd get the renderer in order and start adding the other elements of the game, a new game would drop and it didn't look so slick anymore.

    Anyway, I took a break for almost a year. I decided to finally just finish it and get it done. Thought it would be easier in some ways now that base targets were lot more powerful. Well shortly into it, as I'm coding, I see on the television a story about Carmegeddon and GTA.

    F*CK! I gave up right there, my thunder sapped. The first GTA was alright, but what I was envisioning was a lot closer to what the GTA series has become. It's weird looking back at notebooks with drawings of golf carts and cars dodging planes on the runway. (Though some of it would be dated, like the LA segment during the riots)

    I've had a PS2 now for over a year and outside of trying a rental or two, there is only one game I own and play. Vice City. Though it's missing a few elements, (Where's the steam roller?), it's pretty much, for me, the ideal game. (Might change my mind after I play Doom3 though)

    I try and take it with a grain of salt when I see how fantastic it panned out for them. Though it's hard not to think, if I hard only gotten that second 90% done, if I had just got it out and didn't keep revisioning it.

    Oh well :(

    --

    -William Shatner can be neither created nor destroyed.
  34. Well said by Moraelin · · Score: 1

    ... and this kind of article seems to ignore it. In fact, he's a prime example of the problem himself: doesn't actually have a game, he's just talking about some super-cool engine with remote debug logging and whatnot.

    The problem is: Games aren't only about programming. Neither are other apps, for that matter.

    Programming complicated algorithms is the fun part, and that's why every kid wants to show off his cool (non-structured, non-indented and generally buggy _and_ unmanageable) clever code. No offense you OSS types, but people who want to donate clever coding are a dime a dozen. That's _the_ easy part.

    What's the hard and thankless part (and often leading to open conflict with the coders) is the content for a game (e.g., dialogue trees) and the usability for both games and apps. Those are not monkey jobs to be left for last, those are what makes or breaks the game or app.

    The nice engine is good and fine, but without content, good design and usability, that engine is stillborn. It's not even dead: it never lived in the first place.

    The users won't see the clever code to handle NPC moods and racial interactions, because there are no well designed NPCs to use it. The users won't see that clever code to interpolate normals around a statue, and make it look like a higher polygon count object, unless someone actually sits down and models a statue. And without usability and well designed gameplay, they will see even less, because they quickly leave a non-fun game. Etc.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  35. And an example of a project went wrong by Moraelin · · Score: 1

    I've seen this problem in all its glory on my brief tenure as a builder on a LP Mud.

    _Everyone_ wanted to code some cool uber-complex function. Noone wanted to just sit down and write room or NPC descriptions.

    Getting a new _small_ town into the game took 2-3 years, with more team just for that town than some other MUDs have for the whole game.

    Even coding new functions for the game degenerated into uber-complex designs that were no fun for the user either.

    E.g., at one point they wanted to add ranged combat. You'd think that given the already existing limits of text mode, they'd do something simple and easy to to use. E.g., "shoot north at peter" to shoot at a player called Peter in the room to the north. Right?

    Naah. The way they did it, it involved writing a whole novel to a get the game to track Peter, aim at Peter, prepare shooting at Peter, etc. By that time Peter would already be long gone out of your line of sight.

    It was also a byzantine piece of code that wanted to track stuff noone even thought about in a text-based game. Such as the actual size of each room. (E.g., is it a small kitchen or a 1 km long piece of road described there?) Or the exact angles between them. (On the drawn map is that room directly west or sorta west-by-north-west?) Or visibility and cover. (Do we say something about trees in the rooms in between?)

    The monster not only ran for ever to code, it wasn't fun to test either. No player wanted to track all those trivia himself, in a text-based game, just to shoot a stupid crossbow at someone.

    E.g., at some point they wanted to have a crafts system. Me, I would have guessed "start easy, maybe change it later if you have time. Have a simple table of raw materials, tools, and outputs. It's quick to code, and easy on the player."

    But, nah, it wasn't realistic and challenging for them. They wanted a complex system, tracking known designs, player-made alterations, intermediate steps and their timing (e.g., is the forge still hot after 5 minutes from using the bellows?), etc.

    However, again, it degenerated in a monster project that AFAIK never even made it into beta-testing. Just as well, because again, I can't picture any player wanting to go through writing a whole novel for that and tracking all those details.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  36. Get allies, and about (sourceforge) projects by RedLaggedTeut · · Score: 1

    I think one should get allies who continue work on the project when you don't want anymore.

    Just read what Linus Torvalds did: he offered others the chance to work on Linux when he reached his threshold, and the project florished.

    Some of the projects on sourceforge I looked at suffer from too much control of the author; for example, if you find the map editor sucks, but the author tells you "I am right now working on it", then he got a lock on it, and it is pointless to continue working on the editor or a map. Really a turn-off, as much as authors announcing they really need to completely rewrite their code on their own to match their new-fangled ideas. Creates a lock as well.

    [Ad]
    Coincidently, I have a project myself where I need allies; It could be a central internet general rating system, but I'm stuck because I got no LAMP server and no motivation to do the final touches of PHP security and web design.

    Contact me when you are interested. The rating system should work well for game communities with about 1000 people online, but I guess it can be tweaked, losing some of its mathematical brilliance, but working with more people.

    Currently I own all the C and PHP code, and am hesitant to make it open source because I love the brilliance of the concept, but know that it is easy to copy if I reveal it ;-)

    --
    I'm still trying to figure out what people mean by 'social skills' here.
  37. It's not just games... by Anonymous+Brave+Guy · · Score: 2, Insightful

    I think the underlying issues mentioned in the article -- principally aiming too high in various areas -- hold back a lot of personal developments, games or otherwise.

    Now, I'm as much a fan of good design as anyone. I advocate it frequently, and I believe it more than pays for itself in time and effort over the lifetime of a project. But there comes a point where the best is the enemy of the good, and good enough is what matters. There is never a perfect architecture anyway, simply because projects evolve and you rarely know exactly what the future holds.

    Similarly, you have to know how much one person, or a small team, working in their own time can realistically achieve. I have a few useful and significant techie projects under my belt, but for the majority I did nearly all of the legwork in a weekend or two, with occasional tidy-ups and fixes during the weeks immediately afterwards.

    Perhaps the most impressive project I've worked on non-professionally was a complete redesign and content update of a reasonably large web site for a club I belong to. Without going into all the gory details, we're talking about well over 100 pages, a new graphic design, a new navigation system, and a completely reworked technical architecture based on XML+XSLT. The basics of that project took several hundred man-hours, of which probably the majority came from me over several weeks. However, I had help from a couple of other people on the web design and architecture front, checking things over and filling in some blanks. We also had several of the other club organisers providing content. Then one of the guys spent considerable time porting existing "minor pages" to the new scheme, etc.

    Now, I could have done all of that on my own, but realistically I was always focussed on the technical architecture, the overall site structure and graphic design, and the top 25-30 content pages that everybody was going to see. I might have taken on the "project lead" role, but without all the back-up, a lot of it probably still wouldn't be polished up even now, a year later. As with the games, you've got to know, honestly and realistically, what you can achieve yourself, and when you need help if something's going to get done.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  38. Personality by Rossome · · Score: 1

    I think it comes down to the fact that most good designers are bad implementors. Once designers grasp the concepts, they get really bored with the details. Or they get bogged down with the details initially (pitfall #1). So I can see how speeding through the bare-bones implementation might help.

    Maybe better promotion of your game idea will encourage detail-oriented developers to join you? ie. create quick storyboards and notes and publish them.
    I dunno -- I'm stuck with lots of ideas and half-finished projects too.

    LP

  39. Electrical fire by nuggz · · Score: 1

    1. Unplug the TV first.
    2. Don't use water on an electrical fire.
    3. Toxins are released, even if the fire is gone you shouldn't stay in the room.
    4. No smoke alarms?

    1. Re:Electrical fire by Anonymous Coward · · Score: 0

      Basically, you are the guy who doesn't have friends and who stays still during parties.

  40. Indeed, I did... :) by cryoknight · · Score: 0

    Yup! I sure did miss your point... My definition of Content is the actual components of the game that are _already_ made (like levels, art, characters, etc), rather than the design docs. Hence the disagreement.
    I think I've played 10 or fewer games in the last 3-5 years, that I've thoroughly enjoyed playing.
    Oddly enough, it's often the Interface that turns me off a game.
    Ah, I long for the days of Sierra On-Line, and all of the Quest series.

    I think it would be fantastic to see a new Quest for Glory game, that takes place with a new character, who starts in The CITY of Spielburg (years after QFG1, so the town could expand a lot).