Slashdot Mirror


Anatomy of Game Development

CowboyRobot writes "ACM Queue has an article titled Game Development: Harder Than You Think that looks at the complexities of creating a modern game, in comparison with the relative simplicity of doing so ten years ago. My understanding of the industry is that they have too many designers and not enough programmers. From the article: 'Now the primary technical challenge is simply getting the code to work to produce an end result that bears some semblance to the desired functionality... There's such a wide variety of algorithms to know about, so much experience required to implement them in a useful way, and so much work overall that just needs to be done, that we have a perpetual shortage of qualified people in the industry.'"

117 of 385 comments (clear)

  1. Too many designers? by Motherfucking+Shit · · Score: 3, Funny
    My understanding of the industry is that they have too many designers and not enough programmers.
    Well, you sure would think the opposite if you take Slashdot's "Games" section as an example...
    --
    "BSD: Free as in speech. Linux: Free as in beer. Windows 10: Free as in herpes." --Man On Pink Corner in #52607549.
    1. Re:Too many designers? by hyphz · · Score: 5, Interesting

      Yea.

      It's the usual story. Companies demand experience on all posts, and then whine about lack of "qualified" applicants. While ignoring the fact that they themselves are creating a qualification that's impossible to get.

    2. Re:Too many designers? by edwdig · · Score: 5, Insightful

      Well, the problem with too many designers is simply that almost anyone that's ever played a game feels they could design their own great game. I'm sure you know at least a few people that played a few Mega Man games and then came up their own ideas for Mega Man bosses. Heck, the bosses in the last few NES Mega Man cames were all entries submitted into a design a boss contest.

      There are plenty of game programmers too. Look around at the console homebrew development websites. Plenty of programmers there.

      What's really lacking is artists. You generally need a huge amount of artwork for a given game, and you need talented artists for a game. Someone who simply knows how to use Photoshop filters won't cut it.

      The worst part of doing a homebrew game is finding people to do the art. Very few artists are willing to get involved in a project without money up front, and those that do are often hard to keep motivated enough to get things done.

    3. Re:Too many designers? by Naysayer · · Score: 5, Insightful

      (I wrote the article).

      I think in the game industry the situation is actually the opposite of this. Most game companies, despite having been in business for years, still underestimate the difficulty of the task (because it keeps getting harder every year) and hire people who are underqualified (often because they just can't get anyone else).

      Like, all the time I see job listings like "Lead programmer for massively multiplayer game, must have 3 years of C++ experience, must know Direct3D , Visual C++" and I just think "Wow, these guys don't have a chance -- if their stock was public I'd short it."

    4. Re:Too many designers? by Anonymous+Brave+Guy · · Score: 4, Insightful
      Companies demand experience on all posts, and then whine about lack of "qualified" applicants. While ignoring the fact that they themselves are creating a qualification that's impossible to get.

      Or it could just be that many games programmers work stupidly long hours, particularly as stupidly close deadlines approach, while being expected to write code of a quality unseen in most of the programming industry because of the need to keep performance up and support the latest and greatest AI algorithms, without much of the fun and glamour they thought would come with the job because the production people get most of that, in exchange for financial compensation that barely beats what a Mickey Mouse business apps developer can pick up in his first job, assuming the company lasts long enough to get the game finished and published so there's any pay cheque at all. Nah, that's a silly idea...

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:Too many designers? by patternjuggler · · Score: 3, Insightful

      What's really lacking is artists.

      With respect to open-source projects, that's certainly true.

      I think it's harder to collaborate on art- Software forces a certain degree of conformity, while in art freedom is absolute- there's a huge proliferation of different styles that wouldn't look good next to each other in the same game.

      Tools are partially to blame- they are prohibitively expensive and hard to master. There are some good open-source solutions: Gimp is okay for 2d stuff (please someone give it a docked interface rather than having to shuffle through dozens of independent windows...), though interface-wise I'd rather be using a copy of Deluxe Paint from ten years ago (and is there any paint program that allows you to assign one color and tool to the left button and another color and tool to the right button?). Wings 3D and Blender can do some good 3D stuff, but there's a lot missing for creating more complicated objects

      The other problem is that the open-source community spirit hasn't infiltrated the art community yet. It may take a few years- I see in a site like deviantArt indicating a future where sharing and collaboration are more the rule. Artists may be less susceptible to the gpl ideology, or simply lack leadership- who would be the RMS or Linus of free software-art? And what is the standard license for distribution- something from Creative Commons?

    6. Re:Too many designers? by Grant_Watson · · Score: 5, Insightful

      Most game companies, despite having been in business for years, still underestimate the difficulty of the task...

      Isn't that pretty much the state of the whole software industry?

    7. Re:Too many designers? by coopaq · · Score: 4, Insightful
      Companies demand experience on all posts, and then whine about lack of "qualified" applicants.

      Actually everything I've read in the press and in B&N game books is that the industry can't keep it's top dogs, because they get burnt out.

      I would say not only that, but since EA just closed office(s) in Austin... of forget it. Game Publishers close offices all the time after a great game is shipped,etc and this article states there aren't enough programmers?!

      Well I personally know of a great programmer who left for the business world since it payed double what he was worth and the corporate bullshit stings pretty bad in game companies.

      Maybe that's what happens when real greedy CEOs and businessmen collide with very immature geeks and developers.

      The industry needs to reward better it's programming heros and keep them in the game.

    8. Re:Too many designers? by Kent+Recal · · Score: 2, Interesting

      Well, probably ion has improved a lot since last time I used it.
      I switched back to a more "traditional" wm two months ago because too many apps were causing trouble (basically everything except browser and [resize-patched] xterm) and real annoyances like un-movable galeon "find-dialogs" overlapping the page I'm searching through and such..

      I found it a pain to run the gimp in anything other than a floatws because resizing frames often left artefacts on the image and generally I found no way to line up all these popup windows in a sane way...

      Admittedly a seasoned gimper might actually find a way to get something out of ion - with a lot of kludges and work involved, tho.

      I didn't mean to bash ion as a whole, anyone looking for a "different wm" should definately give it a try. Was just a bit irritated to see it mentioned in context with the gimp (one of the apps that really challenge ion)...

    9. Re:Too many designers? by arose · · Score: 2, Informative
      resizing frames often left artefacts on the image
      Yes, stable gimp has that. 1.3.* and 2.0pre* work fine.
      I found no way to line up all these popup windows in a sane way [..] with a lot of kludges and work involved, tho.
      Less than you might think. Here are my current gimp (2.0pre*) kludges and a screenshot to illustrate them:
      -- GIMP
      winprop {
      class = "Gimp-1.3",
      target = "gimp-tools",
      }

      winprop {
      class = "Gimp-1.3",
      role = "gimp-startup",
      target = "gimp-image",
      }

      winprop {
      class = "Gimp-1.3",
      role = "gimp-image-window",
      target = "gimp-image",
      }

      winprop {
      class = "Gimp-1.3",
      role = "gimp-message",
      target = "gimp-image",
      }

      winprop {
      class = "Gimp-1.3",
      role = "gimp-toolbox",
      target = "gimp-main",
      }

      winprop {
      class = "Gimp-1.3",
      role = "progress",
      target = "gimp-main",
      }
      -- /GIMP
      That takes care of most basic things, as the crop dialog in the screenshot. Some things I use less still require manual shuffling (most could be fixed with more kludges or a bigger screen), but much less than with Gnome/Metacity, which I used before Ion.
      --
      Analogies don't equal equalities, they are merely somewhat analogous.
  2. Re:Shocking... by Anonymous Coward · · Score: 5, Insightful

    No it's not. Children make up games to play with their friends all the time. Why is it difficult to make a system? Codifying it formally is where everyone runs into problems. Oh and that everyone loves to reinvent that wheel.

  3. As a programmer and game developer... by SisyphusShrugged · · Score: 5, Interesting

    As a programmer and game developer myself I have experienced first hand the level of complexity that game design and development has approached in recent times.

    It used to be, and back in the day when I started programming my first games, that a single "Lone Wolf" programmer (Like I have always been) could develop his own game.

    However, now with the crazily complex 3D games, there has to be a whole army of developers, artists, designers, programmers, etc. just to create a game.

    Unfortunately that damages lone wolf developers such as myself, in that we cant keep up with the demands of such a large production budget!

    Anyway, I have attempted to work as good as I can, see what you think of my game, it is a bit difficult to wear the hats of Programmer, Designer, Developer, Musician, and Artist!

    http://abaddon.igerard.com

    1. Re:As a programmer and game developer... by nzkoz · · Score: 4, Funny

      Just outsource your development to india. That way you can hire 35 guys at 2 bucks an hour and voila! Instant complex 3d games.

      You developers need to think more like managers.

      --
      Cheers Koz
    2. Re:As a programmer and game developer... by Anthony+Boyd · · Score: 5, Interesting
      I have attempted to work as good as I can, see what you think of my game, it is a bit difficult to wear the hats of Programmer, Designer, Developer, Musician, and Artist!

      Well, I just downloaded your game. One of the things I like about this is that I take your comments at a higher value seeing that you're actually "down in it" building games on your own. I think your kind of game could really appeal to a lot of people.

      First of all, as the article describes, the industry is really stretched by new 3D worlds that require huge investments of time, staff, and money. Getting back to the lone developer model of gaming, or even a 2 or 3 person development team, could be one solution. Also, if you visit Usenet groups like comp.sys.ibm.pc.games.rpg, you'll find a lot of people who miss isometric games with smaller, tighter storylines. I personally would love to buy a few games like Baldur's Gate 1 & 2, but which had only maybe 20 hours of gameplay, instead of 60. Those games would be more "complete-able" by 30-something and 40-something parents (like me), and more "build-able" by developers like you. And we seem to be a bigger part of the market nowadays anyway.

      Garage Games is also catering to this market, at least in part. Smaller games, simple in scope, faster development & deployment, but great gameplay. I would encourage you to do more of this. I think the only difficulty is getting the word out, especially if you hope to charge money for the game. I don't know how you'd draw in traffic, except to say that Google's AdWords might be useful.

    3. Re:As a programmer and game developer... by DarthTaco · · Score: 3, Funny

      Tried Game, is a Shinning Force Clone if you liked shinning force take a look. Gerrard dude you could use an editor, if you want me to edit your dialogue message me.

      And that, my friends, is irony.

    4. Re:As a programmer and game developer... by Sj0 · · Score: 3, Interesting

      you should learn to play nice with others and work in a team. aparently the team model is a superior one then the lone wolf one. I am realizing this in my engineering studies.

      You sound like an engineering student all right. For the future, real engineers actually analyze problems and give workable solutions. Managers give catchphrases like "you should learn to play nice with others" without apparantly any knowlege of the situation beyond a couple paragraphs of type.

      OK smart guy, do the entire indie development community around the world a favour and break this little conundrum: How do you get together a team of dedicated independants who are willing to work hard on a project for years on end? If you can figure this out, please let us know, because I've seen thousands of projects fall by the wayside not due to some internal dispute, but because most independants have lives, and simply can't afford to dedicate that kind of resources to a project for the periods of time needed to finish a production run. Most who do are newbies who will spend a couple hours working on this project before quitting, a week at most. People with experience work alone or with people who they happen to know in real life, or they fail. It's a simple fact of life, one which I've experienced myself in a couple projects I joined with in the past. Eventually all of them folded, because nobody could keep working while critical team members took months off the project to deal with real life matters.

      Sure, sometimes a team manages to keep together, as the recent release of "Diver Down", a great indie RPG, shows. The problem is that it often has far less to do with team management and more to do with the fact that people have real lives to deal with, and simply put, shit happens.

      The best advantage of the lone wolf model for indie developers is that a single dedicated person can make the game of his dreams, and keep on making it while teams fumble around and lose members like mad. Take me. I've been working on my lifes work, a great RPG, for three years. In that time, the entire community of developers I tend to hang out in has been completely transformed several times, great sites have risen and fallen, great projects have come and gone never to be heard from again, but I'm still chipping away at this, dedicating every waking moment to dreaming up refinements to my original designs, preparing to code great enhancements, or actually going into the engine and adding things. I guarantee you that the odds of me finding another developer as dedicated as myself to this particular project are about the same as me digging up a UFO in my back yard. I'm sure the parent is the same way. Take a look at how long abaddon has been in development. No team will keep working that long. Only a man with a vision can, and so he does. Regardless however, many indie games done with this model achieve steady progress throughout their development, slowly but surely, as a single person fights to complete it through force of sheer will.

      It's a beautiful thing.

      --
      It's been a long time.
    5. Re:As a programmer and game developer... by Paradise+Pete · · Score: 3, Informative
      This is the inherent reason why the Indian software industry will never really challenge the Western (Japanese also) industries.

      Here's a link that might help make his post more clear to you.

    6. Re:As a programmer and game developer... by Triskele · · Score: 2, Informative
      Yeah, but Indian programmers are not creative

      What utter contemptible bollocks!

      We're working with an Indian games company to create a new console game and the team they've assembled is smart, inspired and better motiviated than most dev teams I've met in the West over the last few years. Remember these guys are doing something new in building the Indian games industry, they're not worn down by comparative low pay and dev studios going bust all around them

      See the announcement here

      Oh and the going rate is $10/hr not $2.

      --

      --
      USA: home of the world's largest terrorist training camp.

    7. Re:As a programmer and game developer... by 00420 · · Score: 2

      I didn't realize that complimenting somebody's artwork was considered trolling.

      So I apologize.

      I no longer wish the guy luck. Is that better?

      Mods: Stating you don't have Windows is NOT the same as telling somebody to switch operating systems!

    8. Re:As a programmer and game developer... by merlin_jim · · Score: 2, Funny

      I don't know how you'd draw in traffic, except to say that Google's AdWords might be useful.

      That and, you know, posting +5, Insightful comments on slashdot with a link to your site :)

      --
      I am disrespectful to dirt! Can you see that I am serious?!
  4. Outsource it! by in7ane · · Score: 4, Funny

    No, really...

    1. Re:Outsource it! by swimmar132 · · Score: 5, Funny

      Outsourced games.. ewww.

      You come across Wumpus!
      What you do?

      > Shoot Wumpus

      Wumpus die.

    2. Re:Outsource it! by Daetrin · · Score: 5, Insightful
      Actually game developers are probably insulated more than many other industries from the dangers of outsourcing.

      Games are art, more specifically they are art of the same kind as books and movies in that they have a strong cultural bias. Paintings and music are also culturally baiased, but they're much more open to apprecation by members of other cultures. Video games, books and movies all tend to make assumptions about the backgrounds and experiences of the audience that are necessary to fully understand the work.

      Sure, EA could set up a team in India to develop games for a lot cheaper than a team in the US or Japan, but the resulting games probably wouldn't sell very well. Even games transfered between the US and Japan tend not to sell very well statistically speaking (and i say this as an american who likes Japanese RPGs, but i know i'm part of a small group.) Companies in one country have tried to design games that they thought would appeal to the other, and as often as not they have bombed. I believe Final Fantasy Mystic Quest was one such experiment.

      So in order for the game to have decent odds of selling well in the targeted area, the designers need to be from the targeted area or an area that has close cultural ties, such as US and the UK.

      Ok, so keep the designers in america, and ship everyone else off to India. There are probably people capable of doing the work in India, but you'll run into another problem. Designers frequently don't know what the hell they're doing. I appologize to any designers out there reading this, but all the ones i've worked with know it's true. The programmers will write some tool for the designers to use, and the designers will get lost and come to us for help. We'll tell them how to do that, and they'll be fine for a few days until they run into another problem. Sometimes the problem will be something they can deal with if they just learn the scripting lanague or whatever the issue is, sometimes it will be something new that we need to implement, and sometimes it will be something we told them to do or not to do weeks earlier. They'll do A and complain that the enemy does blah, and we'll tell them that they can't do A, they have to do B or C instead. Then they'll come back a week later saying if they do A, the enemy does blah. You'll explain again, and they'll say "Oh yeah, you told me that before didn't you?" Designers just seem to think differently than programmers, which is why designers are designers and programmer are programmers i suppose.

      So if you attempt to outsource the programmers, you're going to run into huge communication difficulties between them and the designers, both in terms of developing what the designers want and explaining to them what they're doing wrong. You'll have possible langauge barriers, time delays from emailing back and forth across multiple time zones, the difficulty of not being able to actually _show_ the other person what you're talking about, etc. The reason why companies frequently have onsite QA even when there's an offsite QA team is because often you can't figure out what the offsite QA team is talking about just based on the write-up they email you. You either need to fiddle around for it for a long time yourself, or have local QA spend the time reproducing it and then show you.

      There are similar issues between artists and programmers, and i imagine there are also issues like that between designers and artists. If you seperate any section from the others you're going to introduce masive delays and complications to the project.

      The only area that i've seen effectively outsourced is sound. However it's interesting to note that the only company i worked for which had it's own in house sound department was frequently cited for the quality of the sound effects in the reviews of the games. And this is just with outsourcing the sound to another american person or group, even within the same state.

      So yes, they could save money if they outsourced the labor to India, but if they only out-sou

      --
      This Space Intentionally Left Blank
    3. Re:Outsource it! by _Sharp'r_ · · Score: 4, Funny

      Yeah, that foreign grammer really sucks.

      If they outsourced, pretty soon you'd have characters in games saying stuff like "All your base are belong to us..." and "Make your time...."

      --
      The party of stupid and the party of evil get together and do something both stupid and evil, then call it bipartisan.
  5. There is a saying for this in real life... by Ga_101 · · Score: 5, Insightful

    Too many cooks spoil the broth.

  6. Kama Whoring with ad free versions by Frogbert · · Score: 5, Informative
    1. Re:Kama Whoring with ad free versions by Rogerborg · · Score: 2, Funny

      Answers:

      #1. Don't you think it's immoral for you to have viewed those pages based on your argument in #2?

      #2. Don't you think this is a pointless argument because of what you said in #1?

      --
      If you were blocking sigs, you wouldn't have to read this.
  7. Is it just my imagination by Anonymous Coward · · Score: 5, Funny

    Or is the author of this article really called Joe Blow?

    Nice pen name

  8. He's wrong by Anonymous Coward · · Score: 3, Insightful

    The hard part is not the engineering. The hard part is the game design, story line, and content creation.
    So in a sense, the author is correct: game development is hard; but its about 10 times harder than he is making it out to be because he is focussing on the 'easy' bits.

    1. Re:He's wrong by tc · · Score: 5, Insightful

      The balance depends on the kind of game. The engineering is getting pretty tough, because games are becoming more complicated.

      Story lines, I don't think are that tricky, or important, at least for many game genres. To quote John Carmack: Story in games is like story in porn movies, you expect it to be there, but it's really not that important.

      Game design is hard, because that's the thousand little decisions you have to make that separate the great from the merely average. There's just no substitute for talent here.

      Content creation is hard, in the sense that you need an awful lot of it. And because there's a lot of content, then managing that content becomes a problem in itself - but that's basically an engineering problem. Artistic talent is certainly required in content creation, but ultimately this is not something that's become harder, just something that you need a lot more of.

    2. Re:He's wrong by gl4ss · · Score: 5, Informative

      the hard part is that too usually the designers don't seem to have been playing any games at all, ever! the biggest errors usually are all just about game design(and being designed to be something more than what the execution is able to grasp).

      imho what they should do is that they should bring in an outsider(always a different one!) in once a month to take a look at what they got going on and tell them bluntly if it doesn't make any sense or is stupid, frustrating or otherwise sucking(inside testers are too involved, and can't see if something 'just sucks' because they've seen it from the ground up or are afraid to say that it sucks). it often looks that the developers have gotten 'blind' from being too close to the project(and as such the end product ends up having some stupid shit that could have easily been fixed, like lacking keyboard configuration, having frustrating controls, bad camera view and so on).

      "not being able to see the forest because the trees are blocking the view"

      --
      world was created 5 seconds before this post as it is.
    3. Re:He's wrong by Mr.+Piddle · · Score: 5, Insightful

      "To quote John Carmack: Story in games is like story in porn movies, you expect it to be there, but it's really not that important."

      For Doom, sure, but in every other important genre, he's wrong. Too many games are like they are designed for teenagers who are flunking out of literature classes. The dialog, the characters, everything is just awful.

      --
      Vote in November. You won't regret it.
    4. Re:He's wrong by SnowZero · · Score: 4, Insightful

      It depends on the kind of game. Carmack's games are like the 1990's "special effects" movies, which were driven more by technical achievements than a good plot. As time goes on, it gets much harder- either you have to come up with increasingly complex technical achievements (like Doom3 or HL2), or combine reasonably complex technical systems with a good plot and gameplay, which are hard to develop, integrate, and polish on tight schedules. Games really are following in the footsteps of movies. Here's also to hoping that independent games will still exist like independent movies...

    5. Re:He's wrong by xenocide2 · · Score: 2, Insightful

      Of course, its quite simple to go completely to the other side of this. Look at the "Best Last Adventure Game" or whatver you want to call it, aka The Longest Journey. Lots of exposition, lots of cutscenes, relatively little game. There's plenty of academics ready to analyze and critize games in the same manner in which movies and books are. Most don't really get it at all. For every Warren Spector we have 20 authors who recognize that the stories in games are held to a different and much lower standard than any real writing.

      From what I can tell, story and game are completely orthogonal. To make it more clear, imagine describing the quality of a game on a left to right scale or spectrum. The quality of the game's story can be placed on a scale up and down, with no relation whatsoever. Seems like far too many critics can't distinguish between the two. Why else would Xenosaga do so well with critics?

      Instead of writing about how story is critical, and how every game needs a story, and even has one (this leads to stretches like the plot of a football game), maybe these critics should spend some time examining if their ideas even work. There's a whole world out there of game design and its relation to story, but you're not going to find it by tacking on story to a game.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    6. Re:He's wrong by Naysayer · · Score: 5, Insightful

      As the author of this article I will throw a couple of cents in.

      Content development (game design, story creation, etc) is harder than it should be. But that's mainly because the tools aren't very good. Why aren't the tools very good? Because it was all your programmers could to to scrape the basic game together; they hardly had any energy left to do more than cruddy tools.

      I would have gone into this in detail, but the article was already over its length budget.

      That said, even though content development is hard, it's still easier than programming. You have to have done them both in order to understand. Programming is always like building a fragile house of cards; content development isn't. That's the difference.

      The hardest thing about content development in fact isn't making the content, but managing the content creation process; it's difficult for the producers and art leads to hold it all together.

    7. Re:He's wrong by tc · · Score: 4, Insightful

      Bullshit. Story is important in pretty much one genre: RPGs. For everything else, it's only sometimes required, and rarely important.

      Is story important in RTS games?
      Is story important in puzzle games?
      When was the last time you gave a shit about story in a sports game?

      Games are not typically linear pieces of narrative, i.e. stories. Games are pieces of entertainment.

      Chess is the greatest turn-based strategy game ever devised. It has no story.

      Tetris is the greatest puzzle game of all time. It has no story.

    8. Re:He's wrong by NanoGator · · Score: 3, Insightful

      "Bullshit. Story is important in pretty much one genre: RPGs. For everything else, it's only sometimes required, and rarely important."

      I think you're right, but I'm not sure how warranted this generalization is. The game itself is more dependent on whether it needs a story or not, the genre is a secondary consideration for it. Wing Commander pops into mind. I loved that game, but part of the fun of it was the story that went with it. Take the story out, the game's not as interesting despite that it doesn't affect the gameplay much. Take the game out and just leave the story, and it's stil just OK.

      Part of the problem with Carmack's comment here is that he's treating it like there's some big formula for making games. In a sense there is, afterall you are targeting a wide market. However, the reality of it is, that if you're expressing yourself artistically, then each aspect one can bring up is entirely up to the creator to make.

      Be careful about comments like this. They can stifle one's creativity if taken too seriously.

      --
      "Derp de derp."
    9. Re:He's wrong by Daetrin · · Score: 2, Interesting
      mho what they should do is that they should bring in an outsider(always a different one!) in once a month to take a look at what they got going on and tell them bluntly if it doesn't make any sense or is stupid, frustrating or otherwise sucking(inside testers are too involved, and can't see if something 'just sucks' because they've seen it from the ground up or are afraid to say that it sucks). it often looks that the developers have gotten 'blind' from being too close to the project(and as such the end product ends up having some stupid shit that could have easily been fixed, like lacking keyboard configuration, having frustrating controls, bad camera view and so on).

      I agree, that can be a very good thing, but only if you take what the outsider says with a grain of salt. The last game i worked on they decided in the last month or two that it was really lacking, so they brought in someone from another area of the company who hadn't dealt with the game before.

      He had a LOT of suggestions. Some of the suggestions were really good, and some of them sucked. However since he had been brought in to make suggestions we were under orders from on high to try to implement all of his ideas.

      Overall the game probably improved because of his input, but it would have been even better if we'd ignored half of what he said. He was especially worried about the dificulty of the game. He insisted that we add all kinds of changes to make the game easier and implement them at all difficulty levels. He was afraid that if we didn't some reviewer would start playing the game at the most difficult setting and think it was too hard and give it a bad review. The only thing he would let us change was the HP/damage ratios, so we bumped those up a lot for the most difficult level and hoped that would compensate. (Some of the reviews still complained about how easy the game was, so at best it was only a partial success)

      In one level there were turrets that were supposed to track the player which he didn't think were good enough. He suggested we should make changes A, B, C, and D, all of which were fairly reasonable. I worked on it and told him that we had A, B and C, and something that was similar to D, but not exactly what he wanted. (He wanted circles of light to follow the targeting lasers around whever they struck an object, and all the consoles are limited in how many lights they can calculate at one time. The best i could come up with in the time available was to have sparks shooting out of wherever the lasers hit.) His response was that if we couldn't have all four, we should just yank the turrets out. We did so, despite how much improved the new turrets were over the old ones, and it made that level way too simple afterwards, but we didn't have the time to rework it.

      It would have helped if we'd started the whole process of getting outside input earlier so that we weren't quite as rushed, but it wouldn't have fixed the whole problem. It can be difficult to try and fairly judge the suggestions of someone on something you've been working on for months and they've been playing for a few days or weeks, but it's better than accepting what they say on blind faith. _Everyone_ has some good ideas, some ideas that are good in theory but suck in practice, and some ideas that just suck. This ratio improves for professional developers (or so we like to think) but no one is ever compeltly free of dumb ideas.

      --
      This Space Intentionally Left Blank
    10. Re:He's wrong by oskillator · · Score: 4, Insightful
      For Doom, sure, but in every other important genre, he's wrong. Too many games are like they are designed for teenagers who are flunking out of literature classes. The dialog, the characters, everything is just awful.

      There's a huge difference between a bad story that's barely there and a bad story that's in-your-face. If you have a lot of dialogue-heavy cut-scenes, or especially a long cut-scene before the game even starts, then yes, the writing had better be good. If the story is a few lines of text before dumping you right back into the gameplay, it doesn't matter so much.

      Now that people are calling for story in all games, this is fairly independent of genre. I've played action games with an up-front story that destroyed an otherwise-decent game for me. Moral of the story: if you can't write, don't write. Or at least make the cut-scenes skippable, for christ's sake.

    11. Re:He's wrong by Prehensile+Interacti · · Score: 2, Interesting
      To quote John Carmack: Story in games is like story in porn movies, you expect it to be there, but it's really not that important.

      Fortunately video games is a large market. Outside of sports, ID is pretty much the market leader in story free games. To compete in that area, you need to be better than ID. Fortunately games players are all different (as the disagreement in this thread shows).

      Games with strong stories are playing in a different area of the market to the Quake's etc that ID puts out. A lot of people value a quality story in their games (e.g. Final Fantasy, or Zelda), and those games sell well to those people.

      In my experience, it is the 'hardcore gamer' who grew up with 8 bit machines, and the arcades, who values awsome game mechanics. A more casual gamer, does value the story that is told through the game. Quake is certainly not everyone's 'cup of tea'.

      I personally hope for a time, when the vast majority of all people's leisure time is spent interacting with one another, and I hope that games of the future will be where that is provided. The people who aren't playing games at the moment, are largely sitting on the couch watching TV, rotting their brains. I believe that to appeal to that mentality of consumer we need to start having more games, which do place the emphasis firmly on story, and less on whether you can jump at just the right pixel to make it through.

  9. A dream far away from here... by KamuZ · · Score: 5, Interesting

    Yeah, games were easy to make ten years aog, i coded a few but it was a "code" challenge, now it's different, most of the time someone built a nice engine and everyone make content for it, that's why many studios just focus on design, don't get me wrong, design it's important but programmers don't qualify often for game industry unless you want to built something new, something that is not a goal for many companies.

    But hey! What do i know? I live in Mexico, there is a small or not-existant game industry at all!

    --
    No sig found.

  10. Re:Shocking... by tc · · Score: 5, Insightful

    It's also that there's a huge gulf between "having an idea for a game" and "being a game designer". Frankly, any idiot off the street can come up with a halfway decent idea for a game (it might not be terribly original, but it could probably turn into a reasonable game). The talent in game design lies in the thousand little decisions you have to make in turning the raw idea into an actual game. It's those little details that matter, and that separate a great game from an average game, and an average game from a bad game.

  11. OSS seems to help with this.. by Xzzy · · Score: 5, Interesting

    One thing I've noticed with a lot of open source game-directed projects is that they feed off each other as needed.

    You can take jim's physics library and link it into fred's ROAM engine, slap tommy's interface toolkit on top if it then shoehorn bob's network protocol in and actually get a usable piece of software out of it. The SDL libraries are one obvious example of this but it's far from the only place I've seen it.

    No it won't be the next jaw dropping engine that will command everyone's respect but that's not really the point, the point is as long as you have enough basic intelligence to learn an API and can manage to glue several of them together the open source world is plenty willing to fill in the gaps of your knowledge.

    It isn't really an open source specific thing, this mode of thinking can be found under windows as well, but for obvious reasons it seems to flourish best in the linux world. It's not mature area of development yet, but the foundations are there. As the barrier of entry into developing commercial games increases, so to do the free software options.

    I think it'll be neat to wait and see if open source can evolve to present a solution to the "kitchen sink" problems that current game development has to deal with.

    1. Re:OSS seems to help with this.. by foofoodog · · Score: 2, Interesting

      I guess it is hard to code a game engine but I get the impression that most of the maps and some of the total conversion mods are done by small teams and some end up being much better overall than the original.

      --
      Can I bum a sig?
    2. Re:OSS seems to help with this.. by sirsnork · · Score: 4, Interesting

      So game developers (the companies) are moaning that there isn't enough knowledge in the industry of all the ways to use every concept, fragment of code or method, and yet the easiest way to get people more knowledgable would be to open source all of the older games so others can learn from your past experiences.

      Older games may not teach a developer all the latest techniques but it would sure as hell let you be able to compare 3 or 4 similar implementations of a function and pick the best or even merge parts of 2 together to make it better still, I know some companies di this but there are more that don't.

      --

      Normal people worry me!
    3. Re:OSS seems to help with this.. by Mr.+Piddle · · Score: 4, Interesting

      No it won't be the next jaw dropping engine that will command everyone's respect but that's not really the point, the point is as long as you have enough basic intelligence to learn an API and can manage to glue several of them together the open source world is plenty willing to fill in the gaps of your knowledge.

      This is one area where Java is way underrated. Just between the 2D and Midi APIs, there is a lot of gaming potential there. I haven't looked at Java3D, so I'm not sure about mega-real-time-worlds, but perhaps it could work there, too.

      --
      Vote in November. You won't regret it.
    4. Re:OSS seems to help with this.. by nzkoz · · Score: 3, Informative

      Javagaming.org lists lots of gaming resources. Including some 3d ones.

      It's definitely worth a look.

      --
      Cheers Koz
    5. Re:OSS seems to help with this.. by Tim+Browse · · Score: 2, Insightful

      I've heard this said a few times, but you have to bear one important thing in mind - which I'm sure a few mod creators who've transitioned into an actual paid job in the industry have found:

      When you write a game, most of the time, you don't get the finished tools at the start of the project. They're not finished, usually buggy, or maybe they're being started from scratch. They're usually incomplete for most of the project lifecycle.

      For example: if HL2 comes out (ever), then take a look at the tools they provide you with the SDK. I can pretty much guarantee you that the artists, designers and programmers didn't have those complete finished tools ready to use at the start of the project.

      Using unfinished tools, having to rework content/code all the time as the tools improve, takes a surprisingly large amount of time in a project. Or perhaps it's not surprising.

      When creating a mod, although some of them extend the game in ways the creators are surprised by, you're generally working in a fixed universe and feature set. Either the game can do X, or it can't. This cuts down your design decisions hugely, and you go down fewer dead ends.

      When working on a game project, anything is possible, because the game isn't finished yet. Can we add feature X? Sure we can, if we have the time and resources. Sorry designers, we're not sure if we'll be able to get that feature in - we'll let you know in about 3 months' time. Can you just carry on designing the game anyway?

      Like the man said, it's not as easy as it seems.

      Incidentally, could you give me an example of a total conversion mod that is much better overall than the original game?

  12. Flash to the rescue by hehman · · Score: 5, Interesting

    Flash is a bad word for some folks here, but it really excels as a platform for simple, addictive, and fun games that can be easily spread to the world.

    Working in a restricted environment like Flash eliminates a lot of the hassles described in the article. It's arguably easier to write, say, King's Quest now than it would have been 20 years ago,

  13. Sure, it's complex if you're copying complexity by MooseByte · · Score: 5, Insightful

    Nice article, but I think it misses a key point. Game creation is only more complex these days if you're trying to build/copy a complex title.

    Of course a Lone Wolf isn't going to be able to knock out myHaloTribes2! But s/he sure as heck can still tackle a simpler game, with even less effort than "days of yore" in my opinion. OpenGL, a slew of commercial games engines, cross-platform solutions, even SDKs for mobile phones.

    The opportunities abound, even if the market is drowning in noise these days. The bottom line is don't try to compete with a big studio if you're not a big studio! Skip the $150K intro/cut-scene movies, etc. Don't aim for a MMORPG. Just build something fun, dammit!

    Think of it as the development equivalent of asymetrical warfare.

    1. Re:Sure, it's complex if you're copying complexity by Naysayer · · Score: 2, Informative

      (I wrote the article).

      I don't dispute this... it is definitely easier to write a simple game than it used to be. That was sort of beyond the scope of the article, though -- a different subject.

      There are independent developers right now who are targeting niche markets with simple games and doing okay at it (and some of them are doing great). But the game was focusing on the "high end" of game development -- if you go into a game store and buy something off the front shelf, what was required to make it today, versus 10 or 20 years ago.

  14. what the industry needs by urantia007 · · Score: 5, Interesting

    what needs to happen, is we need a complete game enviroment to creat games, not just a game engine, but a complete piece of software that doesn't need any programming at all. think of using maya to do all your 3d models and animations and worlds for the game, and instead of exporting these out to an engine you keep it all under one roof, give the models properties like colision, key bindings to play this animation when this key is pressed in this direction etc. Of course programming should be en extensible part of it to add funtionality that might not be in it. so essentially a 3d applicaiton with a game engine at it's heart containing everything you would need to make a game. This could be done right now with directX9. The single man band could be back if this happened.

    1. Re:what the industry needs by Pvt_Waldo · · Score: 3, Informative

      You're part way there if you go with Valve's Half-Life. Full SDK that allows you to create maps, models, etc. and a ton of public domain tools for sprites and textures. Also there are some neat extensions such as the Spirit of Half-Life mod which gives you a ton of nifty extensions.

      The main place you have to code to create the game is if you choose to extend the game entities for maps, do new weapons, etc. But since Valve gives you the source for the code that does their standard weapons, it's not unreasonable to take their code and extend it.

    2. Re:what the industry needs by protohiro1 · · Score: 2, Interesting

      This is a pretty good idea. There've been products like that for flight/combat simulation for years. What you are talking about is almost a flash for 3d games. The hard part coding-wise is done for you. All you need is scripters and artists (and a good story and design). That could really open up game design to a lot more people.

      --
      Sig removed because it was obnoxious
  15. Can see where he's coming from... by Phil+John · · Score: 4, Insightful

    ...have any of you seen the demo video of the upcoming Half-life 2 (or even *gasp* downloaded a leaked beta), I was watching in amazement wondering how games had come so far in such a little time.

    Let me elaborate, splinter cell was an amazing game but the storyline was very linear and interacting with the environment pretty much restricted to shooting out lights.

    Halflife 2 on the other hand allows you to use some magnetic levitating weapon that can tear metal objects like radiators from the wall and hurl them at the opposition. Boxes and furniture pushed against doors to stop attacking enemies.

    I can't even begin to imagine the complexity that has not only gone into the code design but also the level design. That's the crux of it, without amazing and clever levels that leverage all of this new complexity a game falls flat on its face.

    --
    I am NaN
  16. Design Patterns? by BenjyD · · Score: 4, Informative

    Many games take half an hour or longer to compile when starting from scratch, or when a major C++ header file is changed.

    Come on, Design Patterns is only $50. Surely they can afford a copy or two? Shouldn't the public interfaces to external classes for a module be fixed pretty early on, if not at design time?

    1. Re:Design Patterns? by VultureMN · · Score: 2, Informative

      For C++, you gotta recompile even if the interface doesn't change. Since a lot of compile-time linking is done (as opposed to all-run-time linking in Java) any changes to classes require recompilation/relinking. Or else all the offsets are wrong and KABLAMMOSegmentation Fault

    2. Re:Design Patterns? by Naysayer · · Score: 5, Interesting

      (I wrote the article).

      The problem is that games are just too big and cutting-edge for this kind of design approach to work. You can only do this for relatively simple problems that you completely understand. Games are the opposite of that. They have to be designed incrementally -- if you just sat down and tried to make a bunch of headers, without building the implementations, you would eventually find that your interfaces were completely wrong.

      Interface classes can help a little, but only a little. The problem isn't so much having private data in a header file (though that is a problem) so much as the sheer interconnectedness of the dependencies in a project like this. That's the point of those diagrams on the first page of the article. Look at the one for a Massively Multiplayer Game and then think about what the header structure for that is like (considering that each box is not a file, but a cluster of files).

    3. Re:Design Patterns? by Tim+Browse · · Score: 2, Insightful
      The problem is that games are just too big and cutting-edge for this kind of design approach to work. You can only do this for relatively simple problems that you completely understand.

      Hmmm...I liked the article, but I don't think I'm going to let you get away with that. I found the "build times are really long!" part of the article the most troubling. Here are some observations, which I'm not suggesting you're completely unaware of, it's just a convenient place for me to impart information that people don't know. Before anyone flames me, yes, they should know, but they don't. That's not my fault.

      First of all, stop having a go at Microsoft's tools. You try using the PS2 dev tools for a while, and you will ache to go back to the MS tools - incremental compilation and linking, decent debugger, etc. I know you weren't really moaning (and maybe you have used PS2 tools - my sympathy), but if you're using VC6 or higher, then I don't think tool quality is going to be a major problem. Enough said.

      Most big C++ projects have long build times because everyone bitches about them but nobody tries to do anything about it. I think this is often down to programmers not really understanding how compilers/linkers work, or actually being any good at performance tuning.

      Job #1 when solving slow build times is really easy - all you need is some money - and not much. It's real easy - buy some more RAM. If your developers don't have at least 1Gb of RAM in their PCs, then there's probably something wrong. The good news is, it's easy to fix (buy some RAM), and RAM is so cheap that it'll pay for itself in improved productivity in a couple of weeks in extreme cases (I've experienced that first hand myself).

      Yes, yes, code bloat, I remember when all you got was 16k, blah blah, "7167 bytes free", Windows sucks, etc., etc. - yes, very nice, but the fact is that buying a dev $50 worth of RAM usually saves them shedloads of time, so suck it up and do it.

      After the easy stuff, here's some more easy stuff. When it comes to C++, there are trivial things you can do wrong (and often) to make your build times balloon. The single most important question to ask in C++ with respect to build times is: do I need to include that file, or can I use a forward declaration?

      If no thought goes into choosing which files to include, then you don't really notice it that much on smaller projects, but on larger projects it kills your productivity (due to large build times). A few months back, I spent a couple of days pruning include directives from our project's source files. In only two cases did I actually change any implementation (on both cases, to use the pimpl idiom on a couple of choke point classes). It took me about 2 days and was hell, but at the end of it our build times were half what they used to be.

      On other projects where the tools support pre-compiled headers ("Luxury!"), I've reduced build times by a factor of 4-6.

      The effects are two-fold - first, each source file takes less time to compile, because it isn't including the whole bloody project, and secondly, less files get recompiled when you change stuff. Again, obvious, I know, but you'd think it wasn't, judging by the lack of effort most people put into fixing this. This addresses the "I just changed the animation file format, so why the hell is the physics system being rebuilt?" problem.

      In short, more people need to read Large Scale C++ Design by John Lakos.

      As for not being able to use design patterns, etc, in something as complicated as a game, that's a bit of a cop out, as I suspect you know. If you don't plan and manage your design rigourously, then your development time will usually be longer, due to bugs in the design and code. Essentially you're saying "Games are too complicated to be designed". Put like that, it doesn't sound that defensible (but: possible Straw Man alert

  17. new technology, designers, engineers... by nuckin+futs · · Score: 5, Funny

    and the most popular game on the PC is still solitaire!
    :-P

  18. Full Sail! by Zoko+Siman · · Score: 5, Informative

    Here in florida we have a college, Full Sail, it specializez in entertainment industry stuff. Such as: game design and devolpment. It's good to know we have a place that specializes in making the people that are required if world of gaming is to be continued.

  19. Harder than you think? by Anonymous Coward · · Score: 2, Funny

    Obviously. New games these days are frickin' huge and increasingly sophisticated, and they have to be to compete with the OLD games. It comes as no surprise that they are harder to create.

  20. Lua by truth_revealed · · Score: 5, Interesting

    Lua is the embedded interpreted language of choice for game designers. Lua's great for writing the game AI (you don't have to wait for a half hour C++ build). Lua's under 200K, threadsafe, has good OO abstractions, integrates with C very easily, and most important of all - it has a commercial friendly license.

  21. A Blow job by StuWho · · Score: 2, Funny

    This classic work is surely a Blow job...

    --
    "If you think nobody cares if you're alive, try missing a couple of car payments." Earl Wilson
  22. Another sad thing by Monkelectric · · Score: 5, Interesting
    Game development has become so complex that there really is no hope for a small team or a startup to make a decent game.

    I remember when I was 13 writing ASM code code aspiring to write something like Monkey Island -- that was a very attainable goal. I had a friend who was a very good artist, he would whip up a some cells in autodesk animator, I had written a little converter, and we could walk our little guy around the screen against a background. Now truth be told I had NO idea how a game engine worked at 13 years old, but we did end up writing a few neat demos and bbs loaders (I was a weird kid).

    Now the level of art work and technical knowledge required to make something that looks half professional is off the scale. I have a great game idea that I don't think I'll ever be able to realize. Thats the loss I mourn... kids wont ever have the fun I had trying to make a game, and we might never be exposed to some new ideas these kids might have.

    --

    Religion is a gateway psychosis. -- Dave Foley

  23. Whoops! by adamvjackson · · Score: 2, Funny

    Anyone else read the headline as "Anatomy of Game Developers" ?

    I always knew they were put together differently!!

    Especially those Running with Sissors guys!!

  24. Meh by KalvinB · · Score: 4, Interesting

    There's still a market for the simpler games. Cell phone games are big. The Game Boy Advance is big and anyone can code for it. Distribution is another matter but there's nothing stopping developers from creating a product to get their feet wet. Worst case you make it a pay per download or give it away free as an ad for your PC games.

    2D used to be the best choice simply because you could do infinitly better looking graphics. 3D is now getting up to par but there's really no reason not to still use 2D. The latest Wario game just took a tile based game and made it a cube based game in 3D. Not a programming challenge at all. Instead of DrawTile you just use DrawCube, increase the dimensions of your map and voila! 3D platformer. I whipped up the basic components in all of a few days (running, jumping, standing on and above things, collision).

    The market is so saturated with 3D first person shooter crap that there's a huge market for games that are simply fun to play. You are not going to get rich from a 3D game so why bother making a crappy 3D game in a lame attempt to milk the 3D scene? Make the best of what you can do, even in 2D and it may not make you rich but at least it won't be half-assed crap.

    Stop worrying about the million dollar budgets and just worry about making a fun product.

    The best application of 2D is in puzzle games which are ginormous. The hardest part is comming up with the new puzzle concept. Programming them is rediculously easy and they're cheap. Which makes it more likely people will buy them as time killers at work to replace solitaire and minesweeper.

    Ben

  25. Or perhaps none are willing to do the hours.... by Anonymous Coward · · Score: 5, Informative

    I worked in the games biz for 3 years in QA and production, and finally with a hiring team for engineers in our company. Let me tell you, coders in the games industry are payed jack, and work like mad. Most times, the average work week is anywhere from 80-95 hours for the coding team. I personally got out of the industry because of this. I don't think there are a lack of talented people to do it, just there are not enough people willing to put 80 hours a week in to a game for circa 40-50k, w/no OT.

  26. Re: class public interfaces... by TwoBit · · Score: 4, Insightful

    First of all, any change whatsoever in header files trigger rebuilds, not just public interfaces. Secondly, core headers in theory would perhaps be fixed early on, but in practice that's just plain impossible. I can spend a lot of time here trying to explain how that comes about, but it's not worth the effort unless this message got a decent score. Suffice it to say that it's simply impossible to see into the future and know exactly how any header file really needs to be when it's finished.

  27. Oh come off it... by spray_john · · Score: 5, Interesting

    I'm tired of this, I really am. When will guys like this admit that everyone else works for a living too? No, games are not always very simple. Thanks buddy, we know.

    All this "Life is so hard! My industry is so cruel!" is just attention grabbing to get readers to an otherwise rather dry review article on the elements of commercial game production.

    In other news, games are unimportant. All but a very few games are played by practically no one, and those that do play it throw it away after a couple-dozen hours. Where did this conception that making games was so exciting and dramatic come from? Just because so many other areas of software development are even more mind-numbing doesn't make gamedev automatically interesting!

    Design me a new spoon. Design me a spoon that will be sold across the world, used by millions on a daily basis for years of their life. Design me a brilliant spoon, and I will be impressed.

    1. Re:Oh come off it... by Naysayer · · Score: 3, Insightful

      As the author of the article, I'll just say that I wasn't trying to impress anyone with how difficult my life is. I like games, that's why I work on them.

      They are, however, one of the most challenging kinds of software engineering there is. And that's how I'm hoping the article is taken -- as a call to challenge for people who may be interested.

      And there is no spoon.

  28. HL2 delay tactic by d_i_r_t_y · · Score: 4, Funny

    is this article written by the half-life2 people to attempt to justify another 6 month wait? i wanna play it now damnit!

  29. You could try the Guildhall by Anonymous Coward · · Score: 2, Informative

    There is a school in Dallas called the Guildhall. They focus on Game Design, Software Development and Art Creation.

  30. Your god, Carmack, is wrong. by Mulletproof · · Score: 5, Insightful

    Sorry, Carmack is full of BS. Story makes or breaks a game in more than a few cases. Take Halo. Without the excellent story and plot devices, Halo would have been nothing but another faceless FPS. A pretty one, but hardly the best seller it was for the XBox. Story drove that game. Story seperates Baldurs Gate 2, a masterpiece, from the gorgeous but hollow Neverwinter Nights. NWN has BG2 dead to rights on every point except one, and it's that point alone that elevates BG2 to legendary status.

    Of course Carmack says story is not really that important... Look at the games he designs-- FPS almost exclusively without story. It's a pretty narrow vision to be making such sweeping judgements from and it hardly makes his word gospel.

    --
    You need a FREE iPod Nano
    1. Re:Your god, Carmack, is wrong. by Jellybob · · Score: 3, Insightful

      Halo has a story along the same lines as a good B movie - as an example, I just watched some of an Alien film... there wasn't actually much story ("The miltary are researching Aliens they know are dangerous for... no particular reason"), but it was scary as hell, because of the shell of a story there, setting things up so you know *something* is just around the corner.

      Halo is the same (although I havn't finished it yet, I just got the PC version). It has some of the tensest gameplay I've seen since Half Life (which also had a B movie plot) - I just played the bit where you work into an alien base, and meet... nothing. Absolutely nothing but a few low level aliens at the begining, for 10-15 minutes.

      It's terrifying, because you *know* something big is about to go off... you can just tell. And then you find some privates recording of what killed him, and the whole time your watching it, you're just sat there thinking "shit.", because you know you're about to have to fight it.

      It's genious - a perfectly crafted piece of storyline, using the same plot device as some of the worst games ever, it's how it's pulled off that does the job.

  31. Old Interactive Basic Game, one line of code by RichMan · · Score: 4, Interesting

    Here is an interactive game in one line of basic code (ok 4 statements, but you could write it in one basic numbered statement). Just showing what could be done with minimal code.

    You control an object at the top of the screen it will move left if you don't push shift, right if you do. Blocks "###" are printed at the bottom of the screen and scroll up. If you crash into a block it is game over. Quite complex for 1 line. I would walk into stores displaying computers without games that attracted the kids, type this in and have fun.

    I had versions for PET, VIC20, C64, APPLE II, TRS80 machines

    Adjust for my bad memory and learning of many other languages since then.

    0 poke 32788+a,65; a = a + peek(515)*2-1; print tab(36*rnd()),"###"; if (peek(32788+a) == 32) goto 0;

    clear the screen, scroll to the bottom and run

    Break down
    A) poke - puts player "A" set by ascii 65 at the middle of the top line of the screen plus the offset a
    B) adjust the offset a of the players position dependent on the state of the shift key
    C) print - puts a block in a random position on the next line. If this is the bottom of the screen, we get a scroll and everything moves up and the players object is cleared off the top
    D) check the new position of the player to see if it is clear

    Majic numbers
    32788 address of the middle of the top line of the screen
    65 character for players object
    36 + width of block is 1 less than the width of the screen, in this case 36+3 40
    515 shift key status updated by system interrupt

  32. Not at all true by Perianwyr+Stormcrow · · Score: 3, Informative

    Even if you make the game in such a manner as not to be "professional", you may still have a winner of a game. Stuff written in Flash is very easy to do yet brings out remarkable results.

    Not every game has to be a 3d FPS or whatever. Uplink was written by a couple of guys in the UK and is one hell of a good game.

    If you want to do more than a Flash game, that's quite doable as well. Writing a high end 3d engine is indeed hard stuff, but that's why we have mods! Not only can you learn a lot from the open sourced engines out there, you can use some of them to make a mod that is high quality stuff.

    You mentioned artwork: well, fear not- the stuff you can do with the right tools is shocking. You can grab a copy of Blender, and after a few weeks of beating it up you will be turning out 3d models that are better than what you figured you could have made at the beginning. The GIMP is perfectly good for texturing models, and has just about all you'll need for the task (while the GIMP isn't professional photo editing software, it's great for making textures and web graphics.)

    --

    What we call folk wisdom is often no more than a kind of expedient stupidity.-Edward Abbey

  33. The complexities of modern software development by Anonymous Coward · · Score: 5, Interesting
    The author needs to get a grip. Hardly anything he has written is specific to game development. Sounds like a programmer struggling with the realities of any complex software development project.

    Let look at a few examples:
    Games have ballooned in complexity-
    I think it is safe to say that nearly all software has grown in complexity. For traditional client-centric applications, we have seen interfaces grow more complicated and sophisticated. Unlike software designed in 1996 nearly all applications are now internet aware. Even your wordprocessor has the ability to communicate via the internet, to interact with email and offer colaboration functionality.
    Very little software is designed to operate in the vacuum of a stand-alone workstation anymore. Apparently this is also true of games. Wow, brilliant insight.

    Tools-
    The author is probably correct about a lack of competing products for Windows C++ development. Still Visual C++ is quite a good IDE. A lot of the issues raised are more generic complaints about C++ development than anything specific to game development. While game programming has its own special requirements- 3D rendering for example- other types of software has different but equally complicated needs. For example, the complexities of interating with a wide variety of back-end databases, message-queueing software and legacy mainframe systems add layer up layer of complexity to most business applications. The specific requirement is game-development specific but the problem is one which all complex projects face.
    Let face it, the need for source control systems which are able to manage arbitary content is hardly unique to game development. Nearly every project I have ever seen runs into source control issues.

    Workflow issues
    Now the issue of re-compilation times, debug build load times and other development issues are a problem for ALL big software development projects. Multi-platform issues are equally problematic. This is hardly restricted to game development

    Third party components-
    Always an interesting issue for application development and not exactly one confined to game development. Think about applications you have seen which manipulate data and display charts and graphs. How many of those apps actually have custom written charting libraries. Hardly any. Nearly ever application OEMs someone's ibrary with all the associated headaches that come with emebedding components over which you have no control. That is the trade-off you make. You save 10 man-years of effort in developing a graphing library and you lose control of the source code, bug-fixing, release cycles and the ability to add new, special or project specific functionality. (Unless of course you go OSS). Big deal. Highly Domain Specific Requirements-
    This is the dumbest section in the article. All software has some domain specific requirement otherwise it wouldn't be an application, it would be some sort of generic framework. Games clearly have a set of requirements not found in typical application software- 3D graphics, AI and sound effects for example. However if we look at network security applications for example, I think that we can safely say that there are just as many complex, domain specific requirements involved in TCP/IP protocols, packet sniffing, network tracing , etc.

    Profiling-
    Profiling all code is hard. Identifying bottlenecks in code which involves a great deal of user interaction is very complicated. Hardly specific to game programming.

    Reality check time. All the article says is in 2004 that users expect a far more sophisticated product than have been required in 1996. Engineering complex products is difficult. Welcome to the software industry.

    1. Re:The complexities of modern software development by Naysayer · · Score: 5, Informative

      (I wrote the article).

      I have done both business programming ("enterprise middleware development", etc etc) and game programming. And yes, there are commonalities between the two, but all I can say is, games are just a lot harder. Maybe you just have to have tried them both to really understand.

      What I was trying to get at was not just ballooning complexity of application requirements, but also the inherent superconnectedness of subsystems in games. In a game, every subsystem wants to talk to every other one, and you have to work REALLY hard to prevent this from happening, and often you just can't. This changes a lot of things.

      Still I do agree that there are some commonalities with other software development (in fact I say as much in the article; I divide it into two parts, one that's not so specific to games, and one that is...)

    2. Re:The complexities of modern software development by Pete · · Score: 2, Insightful
      sineltor:
      Unreal 2004 has over 2 million lines of code. Monkey island (~1989) had in the viscinity of 50 000. Thats a big difference;

      Sure is. Do you have a reference for that 50 000 lines of code estimate for Monkey Island? And do you know if that included both the engine code and the game/story code (which were probably written in different languages, as far as I've heard).

      I'm not disputing your figures, you understand, I'd just like to know where you got them from. :)

      Workflow Issues - What do large projects do to cut down on complexity and compilation time? They have interfaces. The hardest thing about game development is making the complex code run *fast*. That means no stupidly complex interfaces - every cycle counts. You often want your modules to talk directly to each other.

      Wow. That sounds like it contradicts every bit of guru advice I've ever heard on optimisation, most of which boils down to "optimising too early is a mug's game" (pun intended). Or, to quote Knuth more directly: "Premature optimisation is the root of all evil." The "performance" section of these so-called pearls of wisdom :) is particularly appropriate. And while searching for one of the above quotes I found this article, which explains the concept even better.

      In any kind of programming, if you start optimising too early, you're almost certainly just going to be wasting your time (and massively fucking up the system design, too, if you're coupling modules together unnecessarily, as suggested by "You often want your modules to talk directly to each other.").

      Well-designed interfaces also make it much easier to profile and do effective optimisation - when it's appropriate to do so, ie. when it's all working correctly, just too slowly.

      Welcome to the game industry. Please leave your sanity at the door.

      Sounds like it, yes. You have my sympathy. :)

      Pete, who is very glad he isn't involved in the game industry, as he already has precious little sanity left from other industries...
  34. Re:Shocking... by AndroidCat · · Score: 2, Funny
    Oh yeah, that was always a classic. "I have an idea for a game, you could write it and we could split it 50-50." (The "idea" was always at the "this guy on the screen and he does stuff" stage rather than a solid game design.)

    That guy with the funny shapes that fall down the screen, boy did we send him packing!

    --
    One line blog. I hear that they're called Twitters now.
  35. Re:Shocking... by frankthechicken · · Score: 4, Interesting

    I completely agree, there is also a hell of a lot of difference between having a great game 'idea' and having a great game 'idea' that is practical and fun.

    There are countless examples of games that are great in theory, but poor in practice(I'm looking at you Black & White). Yet relatively few that have no business in being so great(And here I'm looking directly at a certain Tetris), and somehow pull of all those intangibles such as playability.

    Even taking a great idea that 'will' be purely playable and making it so, is a great skill that only few can accomplish.

    It amazes me how certain designers can almost routinely pull off the impossible.

  36. free software has a tactical advantage here by H4x0r+Jim+Duggan · · Score: 5, Interesting

    Although I'm a programmer, I've spent time learning GIMP, blender, Sodopi (and a load of applications from other skill domains) - when no one is regulating your use of software, you're free to teach yourself what ever you want.

    It's not a qualification, but you can easily learn enough to bluff through an interview. (so long as you can tell that the job is really just a programming job with too many requirements written in the spec to make a manager feel like she's doing her job.) ...free software is the way the world *should* work

  37. Why 20 hour RPG's do not quite work by LordZardoz · · Score: 4, Interesting

    For what it's worth, Yes, I am a professional Game Programmer.

    From a programming standpoint, 20 hours of high quality game play is just as difficult as 60 hours. The bulk of the work for an additional 40 hours is done by artists and level designers creating the additional content.

    And a shorter game does not aid its 'beat-ability'. It just aids its re-playability. Most 60 hour games can be beaten in 20 hours or less, typically, you just skip the side quests.

    And doing a 20 hour game, but making more of them reeks of what EA does with expansion packs. Its a very shallow marketing ploy.

    I would rather play one long well made game, then 1 short well made game and 4 short crappy games tossed off with the aim of turning out a profit.

    END COMMUNICATION

    1. Re:Why 20 hour RPG's do not quite work by nomadic · · Score: 2, Funny

      Yeah I spent an insane amount of time playing the original Might and Magic, didn't get close to finishing it. My party's levels were in the hundreds and we could kill anything we found, but for all I know Corak's still waiting for me to do his little quest...

    2. Re:Why 20 hour RPG's do not quite work by TRACK-YOUR-POSITION · · Score: 2, Interesting

      From a programming standpoint, 20 hours of high quality game play is just as difficult as 60 hours. The bulk of the work for an additional 40 hours is done by artists and level designers creating the additional content. But whether we're talking about the forementioned Lone Wolf or a Huge Company, level design and art are still expensive, no? I would rather play one long well made game, then 1 short well made game and 4 short crappy games tossed off with the aim of turning out a profit. I'd rather play the one short boldly innovative game, let the other 4 rot on the shelf, then play the one huge game that's exactly like last year's one huge game but with better graphics because management refused to take any risks with their multi-million dollar project. The reason for short games isn't because short is better, but because innovation is proportional to risk-taking which is inversely proportional to cost which MIGHT be proportional to length?

    3. Re:Why 20 hour RPG's do not quite work by ZhuLien · · Score: 5, Insightful

      It is hard to compare games by time it takes to play them. I spend large amounts of money on great (to me at least) arcade games and I really only like arcade games. How many hours of gameplay do you consider Galaga to have for example? 2 minutes? 1000 hours? Does it matter if it is a great game? The replay value in great arcade games is priceless. I have found in the majority (not all) of 3D games of the last few years, they have almost zero replay value. Why pay for a game you are only going to play once or twice? I am sure I will get more replay value from Metal Slug 3 or R Type Final than the majority of other recent releases - garaunteed!

  38. too many designers and not enough programmers by tbarrett · · Score: 2, Insightful
    too many designers and not enough programmers

    BS. Programmers are like actors in movies. Sure they're vitally important but without the huge support group making scores, costumes, scripts, sound effects, CGI, directing, producing, and just shooting the damn thing you wont end up with much of a movie.

    Just like with any modern game you'll need a soundtrack, sound effects, level design, textures, models, animations, voice-overs and a good story.

    Honestly one good texture artist is worth their weight in gold. Far more than any coder but the lead at any rate.

  39. Games really are hard by Animats · · Score: 3, Informative
    As someone who's worked on game physics technology, I agree with this article. Modern game development is really hard. And the people who do it are some of the best programmers I've ever met. Go to the Game Developers' Conference and sit in on a physics or AI session. Watch punked-out twentysomethings fill up whiteboards with advanced math. Those guys are really good.

    The game development community used to take algorithms from other fields. Now they've gone beyond academia in graphics, physics simulation, and AI. Games are a tough, competitive market, and the stuff has to work, or you get trashed in reviews. That makes for real progress.

  40. Reminds me of the ads for unix programmers. by Ungrounded+Lightning · · Score: 4, Interesting

    It's the usual story. Companies demand experience on all posts, and then whine about lack of "qualified" applicants. While ignoring the fact that they themselves are creating a qualification that's impossible to get.

    Reminds me of the ads I used to see when Unix was first catching on. Entry-level pay jobs requiring 5 or 10 years of Unix experience, obviously written by HR people with no clue.

    I guess Kernighan, Ritchie, Thompson, Bourne, and Plauger weren't tempted into leaving Bell Labs by the pay scale. B-)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  41. Harder every year... by gad_zuki! · · Score: 4, Insightful

    Every year or so I buy a game that consists of 90% 3D fluff. I just spent an hour at Dave and Busters and really enjoyed the "old" 2D interfaces because they nether helped nor hindered good games. By good game I mean something designed with regards to gameplay and not another over-done FPS maze game or cookie-cutter strategy game.

    The game industry looks like the equivalant of the comic book industry in the eary 90s, lots of eye-candy, gimmick covers, etc and little substance. Seems its a technological arms race to build games that run on the newest hardware and that gameplay is the last thing on the 'to do' list.

    1. Re:Harder every year... by Naysayer · · Score: 5, Interesting

      Yeah. This is a problem, but it's actually one that the industry is aware of.

      Of course some of this is due to publishers just being imaginative and wanting to pump out the same old dreck as some other game that did pretty well. But really a lot of it has to do with games being hard to make. Often games have to cut tons of features/levels/testing in order to make it out the door only a year late. So usually the game you buy that is mostly fluff, that you're disappointed with, is not much like the game that the developers originally set out to create.

      As we become more comfortable with basic technology (3D graphics and physics and stuff) it will probably become easier to get the basics done. At some point a lot of the risk will be mitigated, and you'll start seeing more creativity because we start developing with a higher baseline. Hopefully within the next few years!

    2. Re:Harder every year... by wibs · · Score: 2, Insightful

      As we become more comfortable with basic technology (3D graphics and physics and stuff) it will probably become easier to get the basics done. At some point a lot of the risk will be mitigated, and you'll start seeing more creativity because we start developing with a higher baseline. Hopefully within the next few years!

      Yes and no. There isn't a whole lot left to discover and become familiar with in the engines that already exist, because, well, they already exist. I mean, what does the Quake 3 engine really have that people aren't familiar with? On the plus side maybe future engines will be a little easier to work with, in theory.

      But there's another side about continued development. It gets mentioned all the time on slashdot, so I hate to use, but it's the old "I'll NEVER need more than xx amount of RAM" argument again. New technologies, methods, etc will be developed, and developers will need to become familiar with them, and release dates will be pushed up even as programmers are still feeling out the system, so they'll be forced to cut out what they really want to make.

      The solution won't come through familiarity with the technology, it'll come through a change in the way that games are developed.

      --
      If you get nervous, just remember that there are a few billion other people who don't really give a damn.
  42. Blow, J by Sovern · · Score: 2, Funny

    you could write it that way.

    --
    And it rendered on, until the end of its days.
  43. Oh yes! by Dodger73 · · Score: 2, Insightful

    I think you're making it a little bit too easy on yourself. I've been in software development for, well, let's say a while now, starting with end-user applications over web-based and non-web based network applications to game development. Development of a 'profesional' game easily rivals large e-commerce applications as far as complexity is concerned.
    The reason?
    Far more diverse challenges from different areas of software development come to play. Network engineering, including bandwidth, server stability and scalability issues, performance of processing large amounts of data in an unimaginable amount of different ways, compression algorithms, design and architecture of APIs, use of often many different (often poorly documented) 3rd party APIs at a time, efficient use of dedicated video, audio and other hardware, strong knowledge of human audiovisual perception, asset management, database design, knowledge of several different programming languages, scripting, SQL, SOAP, development of tools and applications using MFC, .NET and whatnot, specifications of proprietary file formats, encryption and security, are just some of the subjects a single software engineer may have to work on in a single large scale game project.

    In addition to that, any software engineer working in one or more of graphics, animation, audio, tools, to name a few, will need to have good knowledge of how the modelling, animation, audio and texture artists go about creating assets, in order to be able to make asset integration into the systems they develop, work as smoothly as possible.
    Add about a teaspoon of multi-platform development (let's say, PC, XBOX, PS2, GameCube, sometimes Mac, for example).

    Combine that with tight deadlines (the game industry isn't infamous for crunchtime for no reason), publisher's big wigs constantly looking over your shoulder and asking 'is it ready yet?', and dealing with (and this is the result of some people not knowing what they're doing as you stated) poorly specified requirements, and with the fact that hardware and technology in game related fields is advancing faster than anywhere else.
    Stir frequently, and you have a recipe for the software development time of your life.

    To summarize, in my opinion, a software engineer working on large scale interactive entertainment projects has to be far more flexible, have a higher level of self-motivation to take on problems and acquire the necessary skills and knowledge to do so, and be more team oriented and communicative than developers in other fields of software engineering.

    We are not a bunch of kids hacking in hundreds of thousands of lines of spaghetti code without any consideration of software design and architecture principles, to release a game to make a quick buck. Those times are long gone.

  44. Sarcasm follows by harborpirate · · Score: 2, Insightful

    *Gasp!!* Destructable, interactive environments! Its a revelation! A miracle of modern programming!! All hail HL2!!

    ..end sarcasm..
    ..begin rant..

    Listen here whippersnapper, destructable environments are nothing new. Why, I remember, way back in... musta been ninteen hunderd and nintety four - when I played a game called XCOM. It displayed soldiers and aliens in an isometric format, and just about everything could be blown up. In fact, that was probably the thing that most contributed to how much fun that game was...
    I take you back in time, for this conversation when I was viewing the game for the first time:
    "They've got the door to the barn covered."
    "OK, well, lets just make our own door, with this handy grenade..."
    "What?"
    "Yeah, kaboom, instant door."

    ..end rant..
    ..sorta..

    Look, I know destructible, interactive environments in 3D games are new. (And no, the horrid piece of software called "Tresspasser" cannot be called a game, and thus does not count.) And I applaud game developers to finally getting around to it. But it isn't something that hasn't been done before. Added complexity, yes. A new age of 3D gaming? Perhaps. But I'd say a bigger advance was present in the first Half Life game - an AI that put up a decent challenge and displayed some level of realistic enemy behavior in a FPS.

    All that said, good luck to the HL2 guys. I really do hope they succeed. I look forward to the day when playing first person shooters involves some level of problem solving, rather than testing reflexes with the mouse and keyboard.

    --
    // harborpirate
    // Slashbots off the starboard bow!
  45. Reasons: Schedules, Competition, Hard Market by mbaranow · · Score: 4, Insightful

    The game I am working on right now is a week before Beta. I work for a medium sized publisher of console games. Take that as warning of my bias.

    I would add several reasons to why game development is hard. All the technical issues Mr. Blow mentions, can be fixed given enough time. But there is never enough time.

    To keep funding $10M+ game projects, a corporation needs to release a steady stream of games during major buying periods. This means, unless you're the likes of id or Valve, development cycles are 18 months, rarely negotiable. If you are late you will start loosing consumer awarness and marketing budgets. You also need to schedule time to do several demo disks and generate assets for the media. A senior programmer said that our primary target is management, and only later the gamer.

    Second, unlike many software markets, you constantly feel your competition at your heels. The graphics, realism, complexity is an arms race. This makes games better and it also makes developers stay at work extra longer past midnight to implement that extra rocket launcher effect to stand out from the competition.

    Then the market judges you on purely subjective measures. You can't lock yourself into a market like MS Office or Windows would. It doesn't even matter if you are technically the most advanced. As a game developer you are fighting for gamers attention. This is why you see games that are mostly sequels and based on established IP.

    Then again these challanges are the reason I'm a game developer. Mr.Blow does point out a good deal of inneficient practices in the industry.

    This should be seen as a call to arms for middle ware vendors and ISVs. Whenever there is a problem there is a buisness plan!

  46. Oh no! 30 minutes for a full build! by complexmath · · Score: 2, Insightful

    This article is very well-written, but it only serves as evidence that the game industry still ignores standard engineering practices. 30 minutes is nothing in terms of build time, especially with a C++ project. And there are some very simple ways to reduce build time that they could be practicing right from the start instead of refactoring halfway through. I'm surprised they didn't establish such practices after their first experience with such horrific development delays.

    I will agree that the cost of game developmetn is skyrocketing. The cost of developing an engine alone is more than many game houses can handle and things are not improving. It can't be too long before more third party suppliers spring up who do nothing but build game engines and design tools. In a way it's kind of silly that game houses still have to build most of their stuff from scratch.

  47. Great! by Mikelikus · · Score: 2, Funny
    JONATHAN BLOW is a gaming development consultant who has been working in industry since 1995. Recent projects include Deus Ex 2 and Microsoft Train Simulator 2. Blow also writes a monthly column, "The Inner Product," for Game Developer magazine, focusing on cutting-edge technical issues in game development.
    Great, consulted two terrible games and now thinks his work is hard compared to JohnC creating Doom. *sigh*
    --
    -- Would it be acceptable to just put my name on my sig?
  48. Rapid inflation is the cause. by OOPisForLiberals · · Score: 5, Informative
    Preface : I'm a programmer in the industry who has worked on 'cutting edge' titles for the entirety of my career. I started in 1997.

    That's only 7 years. In the 7 years I've been in the business, I've become a certifiable 'old man'. That may sound nutty, but our industry moves so fast, it's perfectly sane. An in that 7 years, things have shifted massively.

    When I first started, I worked on a project with a budget of about 2.5-3 million $. At the time, that was considered a pretty large amount. Our team was about 20 people, mostly rookies of 1 year (or less) experience, with 5-6 'old salt' types. This was a PC title at the very earliest edge of 3d acceleration. The voodoo 1 was barely out there. Use of floating point 3d math was finally starting to be possible. Our target for 'great sales'? 200,000. If we sold 100,000 it would be considered 'good'. 200,000 would be fantabulous. 300,000 and up would be massive wild success.

    50 million. The average game that gets greenlit these days has a budget of 12 million or more. When you pitch a AAA title to a publisher the magic number is '1 million units'. This is of course an insane number that no one realistically expects to hit (especially the poor developers themselves). But the expectation of the top-end people is 'if we don't realistically think this can sell 1 million units, why are we considering it'?

    You know what -hasn't- changed in this time? Selling prices. Games still retail for $40-50.

    Yet budgets have quadrupled or worse. Technology has leaped forward by a LEAST 10x in capabilities. We went from the Voodoo 1 (cool! hardware rasterizing!) to the Voodoo 2 (awesome! really -fast- hardware rasterizing with multitexturing!) to the TNT (WOO! Even -faster- hardware rasterizing with multitexturing!) to the Geforce (Yay, no we've got T&L) to the Geforce 2 (Hmm, T&L plus a complex layer of vertex shaders) to the postmodern Geforce 4+ cards (ummm, dang, 4+ versions of pixel shaders now with a dump truck full of crazy, complex techniques which all the artists and designers and producers all have a hardon over). Ah, we've also got 20x the memory available and 30x the processor power. Can't ship anything without an ultramodern physics engine, or an endless streaming arbitrary polygon-soup world now can we?

    And to top it all off, the trend in actual sales is : instead of a largish array of semi-successful to successful games, we now have a huge bundle of big-but-unsuccessful games and a small handful of monster selling uber titles. With very very very little in between.

    Publishers now aren't willing to commit to something unless they think it'll sell a gajillion units. But of course, selling a gajillion units means having lots and lots and lots of risky and expensive features. So doing these big payoff games is a big gamble.

    This 'Inflationary Period' (to borrow a term from cosmology) has resulted in a radically different landscape. Programmers balk (for good reason) at the design requirements necessary to make a competitive game. I have the privelege of working with some very smart people even 'older' than I am. One of them once said to me : 'Practically everything we do is worthy of a PH.d thesis'. And he is right. You can't -not- push the already ludicrous technology barrier with a new title, otherwise you'll be putting forward a design with limited sales appeal.

    It's an ugly ugly situation. Where I work, we are to this very day struggling with coming up with a design for our next project (one of several) that will satisfy these myriad goals. Everyone is so incredibly smart and dedicated, but it seems to me that we're very fast approaching some sort of upper-bound on complexity.

    I don't know where it is going to end, but at the moment, you can be damn sure that the days of the garage-developer are over. Technology has accelerated too fast.

    1. Re:Rapid inflation is the cause. by OOPisForLiberals · · Score: 5, Informative
      Sorry about that. I messed up on the submit/preview button :)

      What I meant to say was :

      Fast forward 7 years. You've got Squaresoft shipping titles with 200+ people on it. Multiple super-games with budgets as high as [50 million].

      Was just pointing out the extremes to which we've seen (Shenmue, the various Final Fantasies, etc).

      As far as getting into the industry, the short version of my usual screed:

      - Be sure you love to program (I'm assuming you're a programmer). This being Slashdot, I'm sure this isn't an issue. There is a lot of hard work involved, not all of which is particularly glamorous or exciting. Be prepared to work very hard early on to earn your stripes.

      - Don't get into it to make money. While it is certainly possible to make significant money via bonuses and royalties, chances are you won't in any significant way. You will probably start at a lower salary than your non game industry peers, but if you're good, this will rapidly change. However, good salary != massive bonuses.

      - In terms of nuts-and-bolts : put together a demo. A real demo. Not necessarily some cookie cutter gee-whiz graphics demo that anyone with ctrl-C/ctrl-V can do. I cannot tell you how boring and uninformative it is for someone to come in with 'Hey, check out my kewl graphics demo!' Unless you're the 2nd coming of Carmack, you're not gonna start as the Graphics Guy for your company (and if you -do-, you should be incredibly suspicious about the competency of those who hired you). Pac-man. Space invaders. Defender. Something original but simple. Basically, something that shows you can see a project throught from start to finish. That's truly impressive.

      - Philosophies : I don't care how many Linux distros you're familiary with or how many Slashdot-approved technophenomena du jours you know - know your C and your basic machine-level basics. Be familiar with all the essential 3d math concepts. For God's sake, know the difference between a dot product and a cross product. Be prepared to abandon cherished modern concepts about OOP and dynamic memory usage. In other words : don't be a Slashdot zealot :)

      - Dedication to games. The running joke in the industry is "Oh, you get paid to play games all day!". Of course this is the furthest thing from the truth. It's hard and has plenty of grueling episodes. Be prepared to occasionally commit 80+ hour weeks for 3+ months for the real humdingers. Game developement is for better or worse, a way of life, not a job (at least until you hit the upper echelons in your 30's :)

  49. Too narrow a definition of story by Jerf · · Score: 2, Interesting

    All games absolutely must have a story... for the right definition of "story".

    Most people interpret "story" to mean "plot", but the two are not the same. A story, broadly speaking, is "setup, conflict, development, resolution", but writing a plot line, with set characters and dialog is only one way to get a "story".

    Tetris has a "story". The set up is the rules. The conflict is that the game is throwing blocks at you, but you don't want blocks on the field. The development is the game play, and in Tetris's case, the eventual resolution is typically that you fail, but you get some kind of score. (There are varients that play to a finite point which you can "win", but when most people think Tetris they think of the varient where you play until you fill the screen.)

    Games with no "story" exist, but are typically rare. You can recognize them because they will typically look like "tech demos", or you'll think of them as "incomplete", even if they have all the technological pieces in place. Imagine an RPG engine that works perfectly, but you're confined to one town and absolutely everybody is friendly and all you can do is talk to them, except this one fight with a rat on the edge of town. The engine is (for the sake of argument), perfectly done, but there's no story.

    You can similarly imagine a side-scrolling shooter where the game just goes on and on, but no bosses, no increasing difficulty, just monotonous onslaughts of homogenous enemies. I remember playing these on the C64... briefly. For better or for worse, the now-standard "boss" system does at least provide a story. Even the "level" system provides story; the exact same game as the classic 2D space shooter Galaxian, but without level delinations, would be a lot less compelling.

    Lots of things must have a story like this, but not necessarily a "plot line" and "characters". A presentation should always tell a story: "Our project was this (setup), our problems with it were this (setup), we handled it this way (development), and this was the result (resolution)." (I strongly disagree with people who say to put the result first; you lose the interest of the crowd and they'll have a superficial understanding of the result. If you result is at all complex and you really want your crowd to understand the result, you must take them through the whole story before they can appreciate this.)

    Doom has a story, but the "plotline" it has is entirely incidental. Doom's story is on a per-level basis: "[Rules of the Doom game] (setup), there are monsters blocking my path (conflict), the combat (development), I got to the end of the level and prevailed (resolution)." There is an over-arching story in the boss battle but it's quite diffuse compared to the level-by-level story, as evidenced by the fact you can basically pick it up and play any level you want without playing the ones before it.

    All games must have stories. Plot lines are one way, but not the only want and generally not even a good way, for this to occur. Generally the engine itself must provide the story, or the user will feel they are just watching a movie.

    (Think about this and apply it to games you've played before dismissing this; this is really a surprisingly interesting field. It seems that the general story pattern of setup, conflict, development, resolution is buried deep in our psyches since it is so important in so many artistic or creative endeavors, from games to literature to presentations to music to a whole lot of other things. Heck, even software tutorials should have a story. People who understand this and apply it have a distinct advantage over those who don't.)

  50. most game firms don't use the best tools by asapien · · Score: 2, Interesting

    There are a few game firms using tools such as SDL and pygame, but not enough, not even open gl. But look at a tool like blender, though the latest version doesn't have a realtime engine yet, they still have older versions with the realtime engine and the standalone player works well with the lastest machines, so using blender 2.25 for free one can develop game logic with "logic bricks" or you can code python, but you never have to use c++, and you can create 3d games for all the major platforms without having to use c++. But for c++ users, there's libSDL, which gives you a cross platform games library with opengl extensions as well. Pygame gives you access to the same library, but with python. However you can use distutils under windows to generate a windows exe which you can use the python installer builder to create a regular windows installer, as well as mac os x and linux and *bsd. Java is another tool that doesn't get mentioned. Its becoming a very important tool for wireless phone and pda game development. SDL is the number one game aid that gets overlooked, also the market for "microgames", some of the most popular games of all time have still been seemingly simple, but hiding complexity, like tetris.

    1. Re:most game firms don't use the best tools by abandonment · · Score: 2, Informative

      or you could use one of the many game creation tools out there that let you create entire games without programming if you really want to. these days it does cut it complaining that you can't make a game because you don't know programming. you just haven't looked hard enough yet ;}

  51. Re:Shocking... by TheLoneDanger · · Score: 5, Insightful

    Besides this, many people have ideas that have already been thought of but weren't done because they just aren't feasible to do or don't add to the fun in any way.

    I think the problem isn't a lack of programmers, but that the design isn't focussed enough that the programmers aren't wasting their time on stuff that makes no difference to the gameplay. Some of this is attributable to the publisher who wants some new feature to advertise (realtime wart-growing!), or some overly ambitious designer that wants things that add nothing to the gaming experience (did MGS 2 really have ice cubes you could watch melt? If so, then WHY?).

    I really think that every designer should be made to play Super Mario 64 and Tetris. SM64 was huge, and Tetris was small, but both are very tightly focussed on the things that make the game FUN.

    --

    "But I trust in the people's capacity for reflection, rage and rebellion." -Oscar Olivera
  52. I have to laugh... by spagthorpe · · Score: 3, Insightful

    "that we have a perpetual shortage of qualified people in the industry."

    This is funny. A few years ago, after working on successful but boring software projects for the past ten years, I decided that I wanted to work in the game industry. I have no debt, and was willing to take a pay cut. I live in San Diego, home of a number of game companies, EA, Sony, etc. I figured it wouldn't be too difficult to get myself at least an entry level position with 10-years experience, just to learn the ropes. Nobody seemed willing to hire someone that didn't have several previously delivered games under their belt, despite a number of other successful consumer products and happy customers. I had sent resumes to all the companies in the area, as well as working briefly with a "game headhunter" which didn't work out as well. After roughly six months of trying, I gave up, and went back to working on my boring jobs. I'm guessing that the writer of the above quote isn't all that tied into the needs of the industry.

    --

    WWJD -- What Would Jimi Do?
    (Smash amp, burn guitar, take home the groupies)

  53. Art scales, programming doesnt by Anonymous Coward · · Score: 2, Informative

    The problem isnt that there arent enough programmers, it's simply that you need the best ... with artists you can make do with less talented one, since they can simply spend more time on their assignments while you hire more of them to do the work of the single better artist. With programming this doesnt work.

  54. Re:here is a clue by Frobnicator · · Score: 4, Informative
    In reply to your "news to game companies", here is news for you:

    "They think they're doing something special, and that they're above every other type of programmer" [punctuation and spelling corrected]

    That's a common perception from those outside of the entertainment industry. There are those 'stars' in the game industry, just as there are in the movie industry, who really do think that. One of the plain facts is that modern games take a lot of intellectual work, much more than optimizing SQL queries, putting components on forms, or making two computers talk to each other. It's no different than how some professors look down at some software developers. While it does take skill to do it, you aren't really pushing every neuron in your brain to put out form-based apps or SQL-based systems.

    Regarding the amount of learning that has to take place:

    Of the programmers on my team, 4 (including myself) have masters degrees and two have bachelors degrees. Every week I find myself reading several papers from journals and conference proceedings. In contrast, two of my brothers are also programmers. One does POS software for a nationwide company, another works for a small company with photo processing software. Both have seen the things I do at work, and I've seen theirs. Both have told me that they couldn't handle my job, but I know I could do either of theirs. One of them has had to read a few journals and articles, the other hasn't read any since he earned his bachelors degree almost a decade ago. One of them works with mostly BS degree or no degree, the other works with entirely BS degree and one MS degree people. As for me, I've thought about going back and getting another bachelors degree in math just to review some of the advanced topics.

    Neither of my brothers, both competent programmers, can understand the math it takes in writing game graphics engines. Do you understand the math involved in manipulating manifold surfaces, or self-shadowing techniques? Perhaps you can explain to the crowd how to make a 3D model look like it is breathing? Or maybe implement a system to give models joints at hips, knees, ankles, and toes, and make them realistically move, jump, walk, crawl, or stand still, based only on a direction and speed? How about converting between 4x4 matrix form, and Euler angles, and quats? Can you even understand a number that has 1 real part and 3 imaginary numbers, [w, xi, yj, zk], and has no real-world analogue? How about pathfinding; Since you play games, can you explain or implement 3 of the pathfinding techniques you've seen? Maybe machine learning is your forte; Can you implement at least 2 machine learning methods, such as RBF networks or backprop neural networks? [Incidentally, while seldom used, both work well in games since there is practically no cost to use them.] How about cheat-resistant networking; Do you know how to tell the difference between a forged packet and a regular one? How about how to properly get around a NAT device? Since TCP is too slow, do you know how to deal with out-of-order UDP data? Or keep clients in sync when they are missing critical information? I've only met a few non-game programmers who could do all of these, but EVERY PERSON ON MY TEAM knows how to do ALL these. But even then, I can still do most of the things you probably do as a programmer. I frequently help my brothers out when we talk about difficult issues they are fighting in their own projects.

    "first it's 30 minutes of moaning there 12 hour work day. then its talking about there 2 hour lunch, there games of quakes, and shooting nerf darts at each other. then they complain about deadlines, the fact that they have to fly an inconvient flight to some electronics game convention, and the fact that there manager is bugging them to do there work in the schedule that the programmer said it would be done."

    Again, in comparison with my brothers. In their environments, they plan

    --
    //TODO: Think of witty sig statement
  55. My thoughts... by Shaheen · · Score: 5, Interesting

    I work in the industry. You can read some of my earlier slashdot posts to see where exactly I work.

    Games are very complex pieces of software these days for sure. Graphics, audio, networking, even UI is a big deal. Just getting something working is only the beginning. Then comes the real work in making your game engines perform such that you are hitting your framerates in every area of the game.

    It used to be if your main loop was hitting your framerate, you were done. This is because you did all of your I/O up front (the loading screen). Your user input was always polled each frame, so unnecessary state changes that could possibly disrupt your performance were minimal. Largely it was your graphics theory knowledge that made or break your engine.

    Nowadays it is becoming more non-deterministic due to other forms of disruptive state changes. Graphics have become more complex and networking creates state changes that often don't happen within one frame (e.g. picking up an item in Quake 3 requires the server to acknowledge this).

    People complain about why studios ask for at least 5 years of experience and on top of that ask for prior experience with a particular console. Getting something working fast isn't the goal. It's getting it working correctly.

    How relationships with publishers changes priorities is an entirely different discussion, however...

    --
    You should never take life too seriously - You'll never get out of it alive.
  56. Style vs. Substance by patternjuggler · · Score: 5, Insightful

    Every year or so I buy a game that consists of 90% 3D fluff

    The game industry looks like the equivalant of the comic book industry in the eary 90s, lots of eye-candy, gimmick covers, etc and little substance.

    I think the way this works is this: there's three types of games- those with fluff, those with substance, and those with fluff and substance (and gradients inbetween of course). Substance, by itself, does not sell.

    The thing about substance or gameplay is that it requires a certain amount of attention that cannot be extracted from an audience until they have bought the product and invested some amount of minutes or hours into it. The sure-fire way to get that investment is to attract the eye- visuals can transmit much more information about something much faster than sound or text, so discerning quality of visuals is easy for nearly anyone. There is no shorthand to communicate gameplay other than simply playing the game, though screenshots and videos and short text descriptions may at least indicate what is to be expected.

    If I'm going to play a crappy game, I'd rather play a crappy game that looks good than the alternative- and the same goes for other visual media.

    An addition to that last statement is that there are a lot of people for which style is substance. The obvious ones are artists, or people with ambitions in that direction or simply an appreciation for it- playing something with really cool level and character design and etc. is the main thing while the story and interface should drive it along- if they're really good, that's a great bonus. Bad story isn't really a showstopper, but bad interface is - so I don't mind seeing the 'cookie cutter' approach get used there because I'd rather not every game try to reinvent the wheel when I just want to move the camera/character/units around.

  57. A C to sail them on. by mrmeval · · Score: 2, Funny

    Designers in abundance, salesmen all around but what I need is a coder and a C to sail them on.

    But this C is tiny and difficult to sail so I'll hand them all an upgrade to C++ and let them wail.

    This shrieking is ill met, I stop and look profound as I have a solution it's C pound.

    My coders all have left me with this ugly stinking mess I should have not given them more and more but merely better less.

    --
    I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
  58. Re:Shocking... by Anonymous Coward · · Score: 2, Interesting

    It isn't codifying it formally that's difficult, but modern games are some of the most difficult to get correct because they place a lot of unusual demands for the functionality.

    A game has to be robust, user-friendly, look good, work smoothly, give the player lots of degrees of freedom (which makes testing both important and hard) etc.

  59. The games industry is going to die. by master_p · · Score: 2, Interesting

    The games industry is going to die because there *is* an upper bound on complexity, as you have said.

    I've said it before and I was modded as troll. But, if one faces reality, he/she would see that games development becomes much harder every year. Only really exceptional developers will be able to make a product that stands out. The smaller ones will die or will be absorbed by bigger ones.

    In fact, there are several problems already.

    One of the problems is the tools themselves. Although I am not a games programmer, the article's considerations are real, and they are present for bussiness systems, also. The usage of a language that solves some of the previous language problems (Java instead of C++, for example) only solves some tiny fraction of the problems.

    Another problem is the content. There are just no new ideas. I have practically stopped playing FPS games after Half Life, because everything seems so inferior to it. I was playing the Contract Jack demo the other day, and it seemed so boring!!! I just had to shoot and shoot and shoot enemies, and that's it.

    Personally, I have given up playing modern games. I am back to playing old games that I have missed. I recently finished Legend Of Zelda: A Link to the Past (on emulation, of course), and I found it highly endertaining. It was easy to grasp, easy on the eye, with very clever puzzles, many things to do and explore, in short, a fantastic game. I started Chrono Trigger yesterday. And in the last year, I have played many other games that are of high entertainment value (for example the remake of Kings Quest 2 by Tierra).

    There are lots of good games out there that one can play that are not very demanding and they are highly entertaining. And thanks to the Internet, they are available.

    Finally, I really pity console owners. The PC offers much greater entertainment that it is not possible with a console. I was a console player, but now I am hooked to games that actually require thought...that is the best genre, really.

  60. Modders will Safe The World by Tei · · Score: 3, Interesting

    Do you know Counter-Strike? Its a mod. Do you know DoD? Its a mod. Actually some very interesting games comes as a devirative work of other game. That safe a lot of work, whatever can be shared, dont need to be recreated (the engine, textures, sounds, menus, etc...) and you have instantly a lot of users.

    So you make a tiny mod for Half-Life, and you have a 1 millon potentian userbase. Cool or not?

    Making mods shortcut the problem of very very long development process.

    posdata:
    Recently a quake guru (FrikaC) has make a Tetris clone in only 2 hours of work. You can download a stand-alone version here:

    http://telejano.berlios.de/option/qtetris1.zip

    --

    -Woof woof woof!

  61. Making Game by essreenim · · Score: 5, Interesting
    Yeah, I totally agree. The games business is really a trade. I'm a qualified Software Engineer but I know that means nothing in the games business. The amount of exposure you get to games creation as a whoole in college for me is minimal. I work for a games company, and I have been exposed to the madness of build fever etc. Its organised chaos. The article is excellent and its actually very nice for me to read as I would have to concider myself as a pawn on the chessboard of the games creation business. The best thing is it's honest. Games creation for modern MMG's is a miraculous thing. Notice the graphs that this guy - an expert - has put together. Along way from UML aren't they??. And in their heart, the really top-level engineers / designers will all admit that they could not put a logical coherant uml spec for an mmg at the initial stage, that will end up looking anything like the final one. What was best, was he pointed out the problems with the business. In particular, I liked this quote:


    We would much rather have that manpower spent to make the system compile programs quickly, or generate efficient code,


    Bingo, I think the future of mmg's depends on this. People increasingly will want more variation in gameplay. Concepts like an Architecture Generation Engine (AGE) would benefit greatly from this. An AGE makes a multiplayer map/scenario different every time you play it, so you have to adapt all the time. The ability to randomly generate and compile the new map very quickly, is very important. This for me is the neatest thing in gaming going on right now. Great article!

  62. The problem is that design is a weak discipline by Anonymous Coward · · Score: 2, Interesting

    My main experience, from programming on computer game projects ranging in size from 10 to 80 people, is that design is a weak discipline. Planning is often non-existant (in a way that simply does not happen when writing a graphics engine or sound library or building from concept art into in-game models) and suffers from the whims of anyone with a say (all levels of management and often extending into the entire team) that feels they can add input in a way that does not happen when approaching other fields.
    Features are often not thought through and the interaction between the many aspects of a game not even considered.

    Designers can be placed in two camps. Those who, given a half completed project, based on a vague specification, can tell you what's wrong with it, what they like about it and hint and what to do next and those that can sit with a blank sheet of paper and find a feature set that will interact in a way that will enhance the game rather than act to it's detriment.

    I'm sure that type II designers exist. I don't think I've ever met any of them.

    I've worked on too many projects with Just-In-Time design that's burnt out the art team (who are the first to suffer when design strays) and even the programming team.

    Blue sky design is often seen as an opportunity to come up with a crazy set of "cool" features that out-do every game ever made in every aspect. This rapidly cools into less and less of a next-gen game as time is wasted on prototyping the impossible (often going beyond prototyping and getting half way into a finished game before it's realised that it _is_ impossible) where, in the first place, the design team should have sat down and just talked through ten minutes of gameplay to see if it would be possible/contain positively interacting features/actually be fun.

    Of course, rigidity in design can also be a huge problem if taken to extremes. What is generally needed is a well thought out, flexible design that does not suffer the whims of all and sundry. This, unfortunately, is rarely the case.

    Mike
    (working on a Sunday due to the whims and impractical designs of industry luminaries)

  63. Re:here is a clue by Frobnicator · · Score: 2, Insightful
    First, let me say I agree with you. In every industry there are people who do mostly grunt work, and there are people who do PhD level work. That's not the point I was trying to get across.

    I cannot deny that many programmers have multiple specialties. I have worked in shops that do SQL all day, and presentation software, and remote sensing, and scientific computing, as well as the game industry. I've worked with programmers that range from high-school dropouts to PhD earners. I believe I've seen most of the full range.

    As for the whole 'we do matrix arithmetic and other "hard" stuff therefore game programming is harder than regular programming'; I suspect that is a bunch of hogwash. It's just a matter of specialization in a particular field

    That's where I disagree with you. It is not just a matter of being more specialized. I believe there is a completely different, almost fundamentally different, degree of difficulty and requirements for game developers.

    I'll go through the places I'm comparing it against. Feel free to disagree about any of them, but I feel that each is fairly typical of programming environments.

    When I was working with SQL on POS, there were 7 of the about 35 programmers there who were the SQL and communications experts. They could literally do anything that anybody else was doing. The remaining 80% of the programmers were just doing grunt-work, basically commodity programmers. Yes, people had specialties, but they weren't really used. There were approximate deadlines, but they were very soft.

    Next, I worked with presentation software, specifically it was interactive polling in focus groups and larger corporate meetings. The owners were all psychologists that ran these corporate meetings. The owners stated exactly what the presentation software required for their industry, had contracts with keypad vendors that basically gave us serial-port input, and all we had to do was tabulate the results, record them, and stick them into graphs. Nobody on the group was required to do anything spectacular that a college grad with 3-5 years of general programming experience could not do. Additionally, there were approximate deadlines, but they didn't really care as long as some specific feature was in place before some specific presentation -- these were known months in advance.

    Moving up to remote sensing hardware, people were starting to specialize. There were the hardware folk, many of them were highly specialized. That's partly because the company owners were two university professors who had some good ideas, and started a business with their best grad students. Everybody at the company was expert in mathematics, and had at least a BS. About half of the company had MS degrees or higher, and the only people without a BS were the interns -- they were still in college. In addition to lots of math, about half the people were quite good in one or more other areas. I know this is not the typical company, but it may be typical of your experience; in which case it does seem that everybody has several expert areas. Again, there was no real hard deadline, customers were mostly governments and they only cared about it being done within a certain fiscal year.

    In my job with scientific computing, multiple specializations was almost required. At a minimum, you needed to understand all the nuance of floating point numbers, and how they are different from real-world values, and when that it a problem. There, I spent most of my time dealing with compatibility and networking issues. But I also had a lot of time in spatial partitioning and distributed computing. Most co-workers were also working on three or more complex issues. From my experience, I know that most of the programmers from the SQL/POS shop couldn't jump into those roles, and only one other person from the presentations software could have made that transition. Most of the people who worked with me at the remote sensing job could probably have made it though, a

    --
    //TODO: Think of witty sig statement