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."

9 of 80 comments (clear)

  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])

  2. 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 :)

  3. 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 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.

  4. 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.

  5. 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/

  6. 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.

  7. 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.

  8. 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.