Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Games Books Media Book Reviews Entertainment

Game Architecture and Design 114

SEGV has reviewed Coriolis Books title Game Architecture and Design. The book, written by Andrew Rollings and Dave Morris, is an incisive look into game development. Not just coding techniques, but it also looks at game design, architecture, process and the game industry. Click below to learn more - and perhaps be the next Carmack.
Game Architecture and Design
author Andrew Rollings and Dave Morris
pages 742
publisher Coriolis
rating 7.5/10
reviewer SEGV
ISBN 1-57610-425-7
summary A rather good game development book.

A Good Game Book

Authors Andrew Rollings and Dave Morris have penned something truly rare: a good book on game development. This is the first one I have seen that I felt served the topic well.

To be sure, this is most definitely not a book on coding. Rather, it is a book on game design, architecture, process, and the industry.

Overview

The book is divided into four main parts. The first covers game design, taking you from the germ of an idea to the description of a product ready to be developed. The second discusses the formal process that will provide the proper environment for this to happen effectively. The third covers the architecture, where everything fits together. The final part, the appendices, provides detailed sample documents which the reader is invited to study.

There are case studies throughout, some of which are real, and others imaginary but illustrative. The first three parts each end with a discussion of the future of that topic, as predicted by the authors. Only time will tell if they are correct, but their views are interesting to read nonetheless.

Game Design

This was my favorite part of the book. The authors focus not just on computer games, but on software entertainment as a more general concept. To that end, they discuss such diverse influences as Aristotle's elements of drama and provide analogies with films and literature.

However, the main focus is on games, and I particularly enjoyed the applications of math and game theory to gameplay and balance. A nice touch was the discussion of emergence as it applies to the interaction of game rules.

Team Building and Management

This next part is a mini-process book embedded in a game book. This puts us on holy ground, and while I don't agree with every point the authors raise, they are for the most part on the right track. If you've read any of the gurus, you won't be surprised here. They correctly assert that the game development industry lags behind the rest of the software development industry on these points.

Game Architecture

By far, this is the largest part of the book. Although the focus is not on coding, it is here where the technical detail abounds. There are plenty of class and object diagrams, state machines, and even the odd illustrative code fragment.

There is a nice discussion of design patterns; the authors apply half of the Gang of Four patterns to game architecture. This ties in nicely with the soft architectures that are becoming more prevalent in today's games. They discuss topics as diverse as localization for foreign markets, deploying patches, and properly conducting the postmortem after a project is completed.

Appendices

The first appendix contains a collection of sample game design documents. The first is a working architecture for a project. Next are two game treatments. The fourth is a technical specification. Finally, there is a code review form and a test script.

I found these documents interesting. My main complaint is that they are all lumped together without organization. The appendix needs to be broken down. The second appendix is nicely annotated, but has an incorrect attribution.

Caveats

Notwithstanding the publisher's "to the reader" message of quality, there are some glitches, typos, and occasional errors. The authors sometimes ramble, making a section too long, but that may be a side effect of having two authors.

The diagrams are not UML, but rather modified OMT and home-brewed notation. The authors recommend learning modified OMT as they believe it is the de facto industry standard, which is no longer the case.

The CDROM contains some sample/demo software for Windows and Macintosh. It includes Python, which is nothing new for Linux users, who are left in the cold using the CDROM. The authors seem to have a love/hate relationship with Microsoft throughout the book. There's no significant mention of Linux or open source game development, not even in the future ponderings.

The book is huge, and my copy already has a cracked spine.

Summary

This book does have warts, but all in all I think it was executed rather well, given its ambition. For a game book, I give it 8/10. Make it 7/10 when compared to other technical books.

Your interests may vary, but I'd recommend this book if you are interested in game development. I think it's worth the time and effort.

Pick this book up at ThinkGeek.

Table of Contents

Part I: Game Design
1. First Concept
2. Core Design
3. Gameplay
4. Detailed Design
5. Game Balance
6. Look and Feel
7. Wrapping Up
8. The Future of Game Design
Part II: Team Building and Management
9. Current Methods of Team Management
10. Roles and Divisions
11. The Software Factory
12. Milestones and Deadlines
13. Procedures and "Process"
14. Troubleshooting
15. The Future of the Industry
Part III: Game Architecture
16. Current Development Methods
17. Initial Design
18. Use of Technology
19. Building Blocks
20. Initial Architecture Design
21. Development
22. The Run-Up to Release
23. Postmortem
24. The Future of Game Development
Part IV: Appendixes
Appendix A: Sample Game Design Documents
Appendix B: Bibliography and References
Glossary
Index

This discussion has been archived. No new comments can be posted.

Game Architecture and Design

Comments Filter:
  • by Anonymous Coward
    bookpool.com has it for 30.95!
  • Unfortunately, in the days of Elite (and also Zarch/Virus, to an extent), putting out a game with wireframe/flat-shaded graphics was acceptable. The gameplay on its own justified the release, simply because you didn't need an armada of artists to provide Joe Public with eye candy before a game could be released.

    At the time, wireframe grahics were so far ahead of the curve on a home/desktop class system of the time, it is hard to draw a comparison to a recent game release - most of the "revolutionary" steps in recent games are evolutionary. The graphics in Elite were stunning to most people, and constitued eye candy.

    Admittedly, there were no elaborate cutscenes of movie-level quality. OTOH, I'd question where those are necessary for a game to succeed.

  • Aren't you misunderstanding me?

    The book is about game design and architecture (and also process). Not coding. I don't believe coding is the most important component in a game. I agree with you.

    I'm only saying if Carmack's opinion is sought, then Carmack's the guy to ask. I can offer only my own opinion, which I did.

    --
  • John Carmack probably won't have much to say as I doubt he's read it.

    They point out in the book that most game architectures are the same (even if the games themselves are wildly different). I've looked at the Quake engine, it's not that complicated. All the complexity is in the software renderer and the network code, from what I can tell.

    I suspect most people don't need a book of Carmack's level, because they aren't writing games at that level. A corollary is that even if you aren't writing 3D/networking at Quake's level, you can still use its architecture for a simpler game.

    --
  • I said that in my agree. The no-flex-hours, dress code stuff was some of the stuff I didn't agree with.

    Nonetheless, having a process, even one you don't agree with, is good. It makes things repeatable and scientific. It's one thing to have a hit game, and another to be able to crank out hit after hit, pleasing customers and shareholders. Not burning out employees.

    I'm not a developer, but like yourself I've worked on large development projects, in my case in business applications and data mining. It's the same there. If we didn't have a process, we might get lucky and ship a good app, but the next revision would fail. I've seen such failure happen, and I've seen success with process. I prefer the latter.

    The book isn't the be-all-and-end-all of game books. I believe that one has yet to be written. But it's a start.

    --
  • The best scrolling shoot-em-up games imho are raiden ii, which is rather old but very fun, and Ëïnhändër which is just insanely hard. I actually like raiden more, even though Ëïnhändër is prettier. (yeah, well, there are umlauts in there somewhere - better to be safe than sorry ;)
  • Does anyone else have a similar experience? I was about 13, and 100% self-confident when it came to computers. I bought a similar book in hope of writing the next Doom, and it has successfully gathered dust on my shelves since then.

    I did learn plenty of useful stuff from it, but...

    --

  • You have a point, but i don't think that using QIII as an example is a good idea. QIII is more of an engine than a game and it will not be complete until some people start making mods.
  • Since 96 I've being mucking with 3d engines in
    the hope of maybe someday getting a game together. It started of in good old Pascal and x86 asm on Turbo Pascal and Is now several thousand lines of C openGL code ( all my hand optimised inner loops in the asm gouraud shader gone for ever :)

    Now i'm at the point where I need a good 3d modeller - Tried loads available for Linux and they didnt suit my needs so I've started writing one.

    I'm glad I'm doing this for fun and I dont have a deadline. If you'd have asked me in 96 when I'd have something finished I'd probably have guessed at a year :) Probably in 2004 the modeller
    will have the feature set I require ;)

    So my advice is - Go for it - But above all dont set yourself deadlines - Just have fun and learn something new.
  • "
    I also long fo rthe day when dying in an RPG was a really horrible thing...
    "

    At least you have d2 to look forward to (with the hardcore permanent death option).
  • Your post reminds me of the "old days" of computer stores.

    Back then it was about cool new software and hardware. That started to change to "business" only stores. I haven't been in a computer store in years because of it.

    Makes me sad.

    Oh, I still go to Best Buy and places like that.
  • And I couldn't disagree with _you_ more. I can't stand a game without a decent plot. With some exceptions (tetris, simcity), the plot of a game is absolutely vital to keep my interest, personally. The story in Starcraft was wonderful. Kept me up for hours. Quake, on the other hand, I played for a week. Q3 is even more pathetic. I bought the Linux version merely out of principle, played it for 10 minutes, and deleted it. My absolute favourite games have to be the Final Fantasy series by Squaresoft. Ever since the original on the NES, I've been absolutely addicted to the story lines and plot twists of this wonderful series.

    But I do see your point about gameplay. If the gameplay is lousy, it doesn't matter how great the story line is, because it'll be more frustrating than entertaining.

    The conclusion I think we need to draw is this. There is a tradeoff problem here. If the story line lacks too much, the player will get disinterested in the game too quickly, and the game won't be as popular, because the users won't be addicted for long. But if the playablity lacks too much, the user will simply get frustrated with the game and tell his friends. I think there really needs to be a balance in computer game design.
  • this is more or less what i believe john carmack said in an interview:
    'gone are the days when two guys in a basement can make a good game. now you have to have a programmer, a modeler, a skinner, an animator, someone to handle business, and a webmaster, and a game designer.'

    all of those become fulltime jobs. so like. basically, in reply to what you said:'no'.
  • Hmm,

    Actually, I was in CompUSA (the big computer store around here) and they had Playstation games, which surprised me. I honestly think that the shelf space could be better used for Pc games, since you can get Playstation games anywhere (like Walmart, blockbuster, etc.) but in a store that is primarily computer products I don't really consider that they fit.

    Of course, this goes back to the days when the primary place to go in a mall to get video games was stores like Software, Etc. However, these days the gaming market has expanded incredibly.

    I'm tempted to respond to the Troll (parent of this thread, Rev. Null), so I will. Of course games are a huge moneymaking business themselves, and the business of business is to make money. I mean, honestly I haven't needed a new wordprocessor since I bought Lotus WordPro '96, and I'm not really expecting to ever. What's the new wordprocessor going to have that's so great? New and better ways to pass viruses around? Memory hogging cute graphical Paperclip Guys? In my opinion the only thing that continues to sell new wordprocessing software is planned obsolescence. I don't know much about spreadsheets or accounting software (seems to me spreadsheets are accounting software), but I mean if everything is E-commerce right now, doesn't that mean that companies need something to sell? Aren't games something?

    Oh well, not a bad troll, if Calvin Coolidge had risen from the grave, I imagine that's what he'd write.

  • Yeah, you can use a middleware product designed 2 months ago in your new projects... if you don't mind being laughed at by everyone who passed on your project and is using the new guys product who went and made his own in a new and innovative way... game programming involves constant innovation.

    Umm, no. Half-life? StarCraft? I don't need to give further counter-examples. As you point out, gameplay and balance are the things that really build a game. Technology that 'knocks their socks off' is all well and good, but it is secondary. I would love to spend the time and money to research fantastic new technology, but it's not necessarily on the critical path to shipping a great game.
  • While I'm here, do any game industry types have any opinions on the author's argument that game middleware such as NetImmerse or Renderware will be increasingly used in future?

    Definitely. One of the key arguments in this book is that research has no place in the critical path of game development. If you don't have existing in-house technology, and established middleware will meet your requirement, it's probably a good option - especially as most of the licenses are pretty reasonable in the scale of commercial development. Well-tested code and robust, useable tools are very helpful.

    Unfortunately, the choices are limited and tend to the same architecture, e.g. BSPs. We'd love to use middleware on our project, but it becomes less attractive when you need to adapt either the design or the middleware code to fit. Besides, if we just did a bit of research...

    Daniel, hiring good engineers, no games exp. necessary
  • I doubt whether pure combat games would benefit from a finely wrought storyline :)

    Actually, yes, I think they would. Take, for instance, Mortal Kombat, which was as pure a combat game as you get. Sure, there is no storyline per se, but there's the whole concept of background storylines and character developments. Perhaps it didn't change much of the game, but it sure brought a nice atmosphere to the game which, I believe, was part of MK's success.

    For instance, Goro (was that his name?) came across as a perfect "boss" fighter, with its impressive look and multiple arms. That's characterisation any way you look at it, and that is what I consider to be a 'fighting game storyline'.

    I agree with you totally when you say many games would benefit from having a killer storyline. I think, furthermore, that ALL games could benefit from clever and original writing, whatever the genre, and regardless of the quality of the FX.

  • but I would be more interested in hearing John Carmack's (or someone on his level) opinion of the book.

  • just thought i'd drop this link...
    its the cheapest online book source i've found

    http://www.elgrande.com [elgrande.com]

    they have this book for $28.49!
    not to diss on ThinkGeek, but their price is $17 more...

  • > but QIII just throws polygons to the 3D card (and it's corresponding hand-tuned driver)

    Q3 does NOT just throw polygons to a 3D card.

    Visible Surface Determination is the hardest problem 3d graphics programmers currently have to face. We can't just shove 50,000 polys/frame to a 3d card and expect 120 fps.

    "Maze" games have it a little easier as BSP and Portals work very well. For terrain rendering, heightfields, and Quad Trees work much better. i.e. Continuous LOD Terrain Meshing Using Adaptive Quadtrees [gamasutra.com]

    > he [Carmack] spends the time figuring out how to make it look cool.

    Once you have your rendering technology, thats the next step - adding all the eye candy.

    I'm sure Corrine will jump in if she has anything to add ;-)

    Cheers

    Michael
    3d games programmer
  • > The Computer Games industry is filled with clones and rehashed ideas. There is very little new out there.

    You might want to take a look at Majesty [cyberlore.com]
    The genre is "Fantasy Sim" which in this case means a cross between a RTS and a RPG.

    Cheers
  • Well I think I have a really good question how do you get the time? Seriously making a game is a very labor intensive process. Hell anything even as simple as packman or perhaps a card game is difficult to code (have to write some crappy maze analysis thing so I know). How can one person be expected to "revolutionize" the game industry. I don't think that Carmack could have kept his sanity and still made something as complex as what we have now all by himself.

    How do you really get all the skills necessary to do this?
  • Seriously making a game is a very labor intensive process

    Well, so is coding just about anything. Yet a lot of volunteer open source work gets done. One example of this is the FreeCiv Project [freeciv.org] which came up with a rather interesting GPL'd clone of Civilization II.

    As for one person revolutionizing the gaming industry, that's not exactly something that happens every day, but still a possibility, but I think that it's more likely that it has to be a group effort.

    -Valur

  • Yeah, in fact if you DO upgrade you're screwed because Linux won't support the newest stuff until its old enough for unpaid programmers to afford it!

    Esperandi
    Everytime I upgrade my computer I think of getting Linux again and then i find out 90% of my peripherals won't work with it.
  • Games were important back in the 80's and 90's, but that era is coming to a close. [where is the original for this hiding?]

    This has got to be tongue-in-cheek flame bait. I can't believe anyone on /. would write this with a straight face. :-)

    Ten years ago, home computers were relatively weak; business PCs were the 'big guns'. Over the last decade, that has reversed in a big way. (If it weren't for Y2K, there would still be plenty of major corporations using 486 systems.) Computer games have driven the constant churn for faster processors, more RAM, better 3D cards.

    At the same time, competition in game design is driving bleeding-edge technology in graphics, simulation, world-modeling, and other nifty technologies. Budgets for commercial games have skyrocketed. One report I read claimed that the budget for Final Fantasy VII was $30M, and that the parent company considered Hollywood to be its competition.

    The problem--speaking as a 'golden age' game designer (read: old fart who huffs and puffs a lot and remembers the 6502 page 0 map fondly)--is that the technical/artisitic barrier for new games is very, very high, so the market is captured by firms with loads of cash. It's hard to break through that.

    I still get fan mail about my one published game (SunDog: Frozen Legacy, original Apple II version, released 1984), the gist of which is, "Most of the games today suck." That's unfair; I look at modern games in awe at the technology and sophistication behind them. But many of the ones I play do lack elegance or effectiveness in game design, attempting to cover their tracks with graphics, sound, and a zillion options.

    I'm not sure what the solution is. Open source games sound interesting, but game design and development is far more intense, difficult, and uncertain than, say, writing a commercial word processor (speaking as someone who had done both). They both have to work--but the game has to be entertaining as well. ..bruce..

  • Wasn't Myst written by just a couple guys, maybe along with one artist and one sound person? I'm pretty sure Cyan was a very small company; they just got a big company, Borderbund to publish their game.
  • I agree, these things are almost always 2 or 3 years out of
    date, which is an eternity in the game world. Along with looking
    at others' code, you can also learn a lot about the latest
    techniques from various web sites, starting with Gamasutra.

    But all that aside, even if the book has some good information,
    I just won't buy it if all the examples are for Windows. What
    I'd like to see is a book on multiplatform game development,
    using libraries like SDL and OpenGL.
  • Yes, I mostly agree. But still, I'd think that an important part of
    architecture and design is choosing tools and libraries that
    don't tie you into a single platform, since it may not be the only
    place you want to be when your game is done 2-3 years
    later.
  • Ouch $45 at thinkgeek. Methinks I'll buy it somewhere else. Here's a short price list. Fatbrain has it for $40, Amazon has it for $35, and bookpool.com has it for $31.

  • I don't mean to break your spirits. It's great that you've worked out the gameplay etc for your game but how long did it take? The equivalent of 1 whole week? 2 weeks? For the two of you to write the game (even if you were "expert") might take six months to a year (did I mention artwork also? even more time). Coming up with ideas is fun, it's important, but it's probably got more of an instant gratification factor than programming the damn thing (did you ever have a "bug" in your storyline that you couldn't track down). Each one of those great little game-play features that you thought "wow, cool" could take weeks to get working. I don't mean to dissuade you, but you should be realistic about where the majority of work in game development lies.
  • I know Python is a good language for what it's capable of, but I always thought it was more a prototype/testing script language... What is its role in a Game Design/Architecture book?
    --
    Peace,
    Lord Omlette
    AOL IM: jeanlucpikachu
  • Yeah, but doesn't he have a nice way of putting it! The development and playing of games should be outlawed? I think that through the development of games a lot of new technologies came into existence, which is a good thing. Those technologies can be and are being used in "serious" software. Playing games all the time is a waste of time in your eyes (and in mine), but if done in moderation, it can be beneficial.
  • Couldn't agree more; and while we are at it, why not outlaw all forms of hobbies, sports, tv, sleeping etc. Just work! Let's all go make spreadsheets and word processors! Ehm.... NOT! I think the games and entertainment industry hasn't even started yet; if you're already complaining, you're in for a nice surprise. Life should never be all work!
  • You said this book and others -appear- to lag some way behind current technology and methods and then ask if this book is any different. I've read this book cover to cover, instead of judging by appearances, and it challenges your argument that looking at someone else's coding methods teaches more than a book. Of course I'd learn a lot if I could be a fly on the wall at id Software and look at how they work, their coding methods, but if as I suspect you mean looking at their code, well, all I can say is read the book. While I'm here, do any game industry types have any opinions on the author's argument that game middleware such as NetImmerse or Renderware will be increasingly used in future?
  • A point worth mentioning here is that Good Code Alone Does Not a Good Game Make.

    As rude an awakening it may be to some die hard bit pushers, good games are derived from good stories, good art, good balances of tension and release, and good technology. Having a kick ass 3D renderer will make a good technology demo, but a lousy game. This holds true for movies as well. I'm sure we can all name a flick with good effects, but no plot, that left us feeling hollow.

    Sadly, you can't just "code up" a good story yet. Perhaps when we can, all the software developers of the world will totally dominate the entertainment industry. Until then, I actually prefer the day to day diversity of talents and interests that I get to work with at my particular game development house.

    -pjf

  • I am wondering if perhaps there are any games like this or that have the concept of infinite play with a continuous running story that are open for expansion at will. Say perhaps a level or mission pack every 6 months.

    There is a game somewhat like you describe. It's Escape Velocity [ambrosiasw.com] by Ambrosia Shareware. [ambrosiasw.com] It consists of an expandable map of planetary systems and several elaborate story lines that you can explore and visit as a trader. You can also pick up missions to fight pirates and become good, evil or neutral in different systems and to different alliances.

    Systems and missions are simple to create and add on by fans and are available online at fan sites and an official repository.

    Unfortunately it is only available for MacOS
  • Of course this doesn't apply to all games. I doubt whether pure combat games would benefit from a finely wrought storyline :)

    I must disagree. The obvious example is the game HALF-LIFE (which, if you enjoy fps games - you simply MUST try). This game uses the Quake II engine, but is a far better game - IMHO. The reason for this is a story line - which is executed brilliantly. They went so far as to hire a horror story author to write the story for them. The story is very good and since - through the game - you live it, you get an incredible sense of immersion.
    They also did excellent work in having the gameplay balance be just right and consistent with the story. The resulting game is, again - incredible, and has justly won over 50 "best game of the year" awards. This is a lesson in game design, and yes - we want more games like this!

    There is a lesson here: the Quake II engine was very good for its time and was capable of holding a (nearly) storyless game. This seemed very natural for a "story-less" genre like FPS. However, ONLY when a great story was put into the same engine did a truly great game come out.

    Valve actually had an earlier design, which they threw away because it was too boring and regular. Only the second time they did it right. The entire story - which is very interesting, BTW - can be read at this link:
    Valve's Cabal Process. [gamasutra.com]
    I recommend this article for everyone with an interest in game design and even plain program design.

  • Well u might want to try out Crystal Space then it's a free 3d engine.

    http://crystal.linuxgames.com

    have fun ;)
  • well i know EXACTLY what u mean ;)

    I have the idea of an RPG flashing through my head since my school days (u could say i'm addicted to them ;). Well i haven't gotten any nearer to my goal since then but tried these and that. My programming skills have been getting better through this and so i could get my job. Maybe someday I'll finally finish my game but i guess it's still a long way towards it.

    The Essence is, although u may be not able to finish ur project u can still get a lot of valuable experience and skill out of it which will allow u to advance in other areas as well. So keep coding and always remember the source is with u ;)
  • I was going to respond to spiralx's previous comment about gaming storyline, but I want to start a new thread. Here is a quote from his post.

    I've lost count of the number of games which use predictable, tired storylines, or in which the storyline is totally unrelated to the game. A game with a great storyline in which your actions directly tie into this is extremely engrossing and keeps you coming back for more.

    If the game has enough "fun" value, a good storyline is not at all a necessity. Look at Quake. (As in Quake 1.) The "storyline" was really an afterthought. You all remember those little paragraphs between major level changes, right? I wouldn't be surprised if you didn't. I didn't, until I replayed it a few months ago. No offense to id or Carmack, because I love their games, but who wrote that crap? It sounded like the kind of thing some wannabe-goth 13 year old would write.

    But look what happened: Quake is aruguably one of the most succesful games of all time.

    Quake II greatly improved upon Quake by having an actual storyline, as well as having kick-ass action and an awesome graphics engine. But it pales in comparison to Half-Life in ambience and atmosphere, whose story was really cool, and it was blissfully woven in the gameplay itself. Half-Life has the shoot-em-up fun of Quake II and the storyline of a mediocre King book, which for me is the best I can get.

    I think that Q3A will be id's last game of the series. They're no longer revolutionizing the industry. id invented deathmatch, and Q3A is the testament to its greatness, but there's no story in a deathmatch (well, they tried, but it's even less important than Quake's). And id is no longer has the monopoly on kick-ass deathmatch: UT is as fun as Q3A IMHO. Sure, I'd probably buy a Q3A add-on pack (like the QII mission packs) with more weapons and skins, but where do you go from there?

    Personally I'd like to see Carmack try his hand at a Japanese-style RPG. Even though most of his work that we've seen so far has been based on action and not storyline (the heart of an RPG), and as much as I think he acts like an arrogant buttfucker, the man has some skillz. I'd like to see him put them to work in a different genre sometime in the future and see what happens.

    But that's the future. For now, I'm happy with Q3A, UT, and Half-Life.

    I am the Lord.

  • A friend and I are designing an FPS game, and have most of the gameplay worked out, as well as most of the levels, characters, storyline, and that bit. However, neither of us are expert programmers. Is there a premade engine (preferrably open-source) that supports hardware, is easy to use, and is modern? We tried 'Genesis3D' but it sucked. That crystal reality stuff looks good, but it probably will never come together. The Quake engine would probably be a good one, but we'd need to rewrite for all the eye-candy we need for the game.

    "Assume the worst about people, and you'll generally be correct"

  • BTW, what about the authors' résumé? If I were trying to learn about game software team management, I would try to get a book written by someone managing one of the big game companies: Id, Sierra, Accolade, Lucas, etc.

    His background is actually OS, but his book is written towards any sort of large computer project. I can't seem to find the book at the moment, but his back ground as I remember is 20 years with IBM and the like. Started out as a programer and moved on to manage software projects.

  • OKay, so you and your friend aren't expert programmers. But you say you've got a lot of the design work done? Hey, lemme tell ya: there's a bunch of programmers out there, maybe game developer hopefuls themselves, who would give up their ability to track down memory leaks to be able to flesh out a design thoroughly.

    So you and they can benefit by trying to hook up- You can get, uhh, well, less-than-expert programmers to show you their insights on source hackery, and they can get a better grasp of how to tackle the design aspect. And I'm not suggesting to completely remove yourself from the nutz&boltz, just to get the help you need, and in turn be helping someone out on what they feel could be their weakness.

    I'll find out if my design spec is lacking once I see where my code is missing some functionality. :/

  • Any word on a port of M.U.L.E to something other than C64? That has got to be one of the best games that was ever made, especially in multi-player mode. Someone has got to port this.
  • Bard's Tale III was made by 4 people over the course of 9 months. Michael Stackpole did the overall story and scenarios, Todd Camasta did all the art, Kurt Heiden did the music and I did all the coding and scripting (Plus addition fill in the blanks game design) Now if only they'd let me do BT IV. :)
  • Yea, its as tough as hell, requires a major amount of work, and basically you can forget about your social life. Creating a game by yourself is one of the hardest things a person could do, especially if they want to make it rival the current big time hits. But, all that said, the greatest game designer/programmer/artist does it because they love to make games. Look at Carmack. He has enough money that he doenst have to work another day in his life, yet he is still heading up id. Why? Because if he wasnt making games with id, hed be making games at home. He loves what he does. The only kind of person who is going to stand out from the crowd is one who works their butts off, and doesnt give up just becuase its too much hassle. Oh, and dont just jump straight in and expect to create the next best 3D Engine. Try and get your feet wet with doing a mod of an existing engine to get a feel for how the professional companies structure their code etc. I know that Ive learned heaps on my mod for Half-Life, The Assignment [planethalflife.com]. Ill end on a quote from the guy himself: "talent will be noticed." Cheers, remnant Lead Game Designer - The Assignment
  • If by Joe Public you mean the non-hardcore gamers that pick up a game from their local WalMart then I don't believe they are what leads to the eye candy. It is the hardcore (And on occasion very hardcore) gamers that are responsible for the demands that push the technology forwards for each release. It is them who complain that the graphics are not 32-bit, that the engine cannot run at 1600 by 1200, each object does not have individual images, and that it doesn't support their latest DirectInput toy. The success of "Deer Hunter" shows that Joe Public is enamoured more of gameplay (and very simple gameplay at that). It is hard-core gamers who are currently complaining that 3DO is about to release Might & Magic VIII with the same basic technology as the last two (but enhanced gameplay). It was them who complained the Might & Magic VI didn't support 3D cards. The mainstream is much more interested in games that are fun to play. Obviously they prefer if they don't look totally out-of-date (not many text adventures selling anymore) but cutting edge (bleeding edge?) is not essential. Also gaming can only attract the talents and budgets to produce the games with mainstream involvement. Game prices have fallen in real terms quite dramatically and this has to be offset by greater volumes. If digital gaming were not in the mainstream then either the games would be much more expensive or they just wouldn't be being produced.
  • Just thought I ought to mention that "Game Architecture and Design" itself does not simply talk about storylines, ideas, etc. One of the main points in the first section is that the most important part of game design is good gameplay.

    They talk about storylines and hooks for games in which they are relevant. They emphasise most that the game should be fun and rewarding to play.

    However there are certain types of game where the storyline is very important - indeed discovering, influencing, experiencing it is the enjoyment of these games. These are thing like Adventures and story based RPGs.

    The problem is the fact that game is a bit restrictive a term. In the book they make the case for the term (I think) Electronic Entertainment. Just calling it all games is a bit like lumping playing a sport in with reading a book, going to the opera, and hillwalking. They are all recreations but the essential elements that make them fun are very different.

    I would argue that Doom and Quake (particularly multi-player) are like sports whereas RPGs and Adventures are more like an interactive book. Story is important only in some but gameplay is essential in all.
  • This book is not a coding/programming book but rather an architecture/design book. It does not come with a CD of code examples but rather third party tools and some demos of games they use as design examples.

    The emphasis of the first section particularly is very much on gameplay, balance, and playability (the interface works with not against you).

    The second section attempts to make an argument that at least some of the methods that are used in large projects would be useful in games development. They present a lot of these and I'll be the first to admit not being convinced by all of them. Some of them may be "crap" but a number of them are common sense and I am sure used in development houses like iD, Ensemble, and Black Isle.

    They do emphasis that there will be problems trying to introduce these practices and recommend you cherry pick the ones that make sense to you. They emphasise that excessivly strict environments are just as bad (if not worse) than uncontrolled ones, and I don't remember them mentioning ISO9000 once.

    I would recommend that anyone reading this book does not throw it down in disgust at the first suggestion that offends them but rather continue reading. There will be other ideas that are more palitable. Also I'm sure that any successful games house will recognise things they already do (and problems they have already had).

    This book is littered with case studies and examples of both good and bad practices. In fact it can be amusing sometimes to play spot the game.

    The techniques presented are meant to improve the chances of repeatably producing good games, and allow the shipping of stable playable programs. Can this really be something the computer games industry wants to avoid?
  • Of course the new guys game probably shipped several months (or even possibly years) after yours (if at all). So the people who wanted a game this month will have bought yours.

    If you didn't know how you were going to make a fun game then there has to be the question of why you built the technology in the first place. Everything has to come together and technology before design is putting the cart before the horse.

    iD knew they were making a fully 3D version of Doom (with better multiplay etc.) before they created Quake and succeeded.

    Half-Life creators Valve knew they were making a story driven FPS style game with good NPC AI when they licensed the Quake engine and succeeded.

    On the other hand I'm not sure what Dreamworks Interactive thought they were making when working on Trespasser but what they released was a frustrating game (but a beautiful technology demonstration).

    The book doesn't suggest simply assembling your game from other peoples code. It does suggest not reinventing the wheel but rather working on your new wizzy suspension or aerodynamics, and making sure that the final vehicle is fun to drive.
  • IIRC this book when it discusses architecture emphasises the need to isolate things such as the the platform specific code into modules with more generic interfaces so that they can be more easily rewritten if necessary.

    I think this is even the example they use to illustrate the Facade design pattern.

    I suggest you read this book. I think you might be pleasantly suprised.
  • There was a game a bit like this in the works a couple of years ago. A core engine shipping with a number of stories to last 5-10 hours each, and new packs of 2-3 stories every few months. But then Cavedog pulled the plug on Elysium.

    A pity because it was the most interesting game they had on their lists, and now they've had the plug pulled themselves.
  • What they were saying was that if your game depends upon something that you are not sure you can write. Then you'd better prove you can write it before you commit to producing the program or provide an alternative fallback (that you know is possible) for if it turns out you cannot write it.

    If you are writing something that is based on known techniques and you are simply writing your own enhanced version then that is not what they mean. Otherwise prove the technology before green lighting the entire project. They are not saying don't do it, just check the details first.

    Yes this might have stopped some big games before they started but I suspect in cases like Quake that iD did prove the technology internally before creating the game (John Carmack seems to be very sensible like that).

    The other question is how many companies have died trying to produce an impossible game when if they'd checked first they might have succeeded in creating a different great game?

    If you read far enough through the book you will also discover that they are arguing that it will be more and more difficult for the smaller game companies to survive on their own. The research department issue is just one of their reasons for this. They relate it to the early days of the movie industry (pre Hollywood) and argue that the big studios are coming (sort of).
  • I do own and would recommend this book to people but I just feel the need to note that it is a bit light on references for a tome like this. It has a two page bibliography with 15-20 books (I don't have my copy here) but only has a few for each topic.

    It fails to mention "The Mythical Man Month" - Fredrick P. Brooks Jr (1975) at all despite references to mainframe project management, and the fact that it is the seminal project control book.

    It bases an entire chapter on "Design Patterns" - Gamma et. al. (1995) but mentions it only at the start of the chapter and not in the bibliography at all.

    Also they Credit "Code Complete" (1993) to Steve Maguire. They may have meant Steve McConnell or they may have meant Steve Maguire's book "Writing Solid Code" published the same year. Both should probably have been in the list.

    These are just the items that I can think of without the book for reference.
  • The Marathon Story

    There's a FPS with a similar engine to Doom, except that the story mattered, you needed to kill some things but not others, your allies would change based on the storyline, and rather than being bogged down in _your_ character development, you were a violent cipher acting first on behalf of a friendly AI ('Leela'), and then as Leela is destroyed, you end up acting on behalf of a mad AI whose motives are deeply questionable ('Durandal'). The literary quality is very high for a computer game, and the creativity is just off the scale. People have made elaborate web pages just _analyzing_ this game trilogy as if it was a literary work- yet reading the terminal texts straight through is not the way the work is meant to be experienced.

    I'll concede that very few if any 16-year-old game hackers are capable of this sort of literary distinction. Of course, I'd be delighted to be proven wrong ;)

  • (another attempt to post- previous attempt refused to post the link. Then Slashdot fought me tooth and nail to stop me from quickly posting a correction. If it fails again, the link is http://marathon.bungie.org/story/contents.html)

    The Marathon Story [bungie.org]

  • Ian Bell has posted the source code for the original on his website, if you want to try porting BBC-B specific 65C02 assembly to something Linux can chew on. :)
  • I've lost count of the number of games which use predictable, tired storylines, or in which the storyline is totally unrelated to the game. A game with a great storyline in which your actions directly tie into this is extremely engrossing and keeps you coming back for more.

    Nope, I couldn't disagree more. I wish games companies would concentrate less on storyline and character development, and more on gameplay. A game doesn't need a storyline to be playable. See Tetris for a prime example. Doom and Quake are more examples. Yes, they both have storylines, but they were tacked on to the game itself, and are basically just an excuse for saying "kill everything in sight", and weren't actually needed for the game at all. If a game is any good, it should be just as playable whether you know about the storyline or not.

  • Just as the market was saturated with scrolling shoot-em-ups 15 years ago, nowadays it seems that in order to convince the marketers, you need a Virtua Striker/Tomb Raider/Quake/Gran Turismo clone

    How I long for those days! Have you actually tried to buy a scolling shoot-em-up recently? No one sells them, because they're all trying to make the next Tomb Raider/Sports Sim/GT clone. Yawn! At least those making Quake clones have come up with something worthwhile (Unreal Tournament is excellent, as is Aliens vs Predator). Some days, though, I'd just like to be able to sit down and have a good old blast away in Battle Squadron, DataStorm or Uridium. Yes, you can play them on emulators, but it's not quite the same (unless someone can tell me how I can connect up my old Kempston Competition Pro to my PC...) Until then, I guess I'll have to settle for R-Types and Xevious on the PlayStation.

  • I'm glad to see someone finally press a book that deals with what most likely takes up the largest portion of my life. GAMES
    Game design in the past few years has gone heavily towards story lines reminiscent of soap operas. Take the final fanatasy series for instance. If you are die hard RPG player like myself you will notice that the whole flow of the game has moved away from series level building and monitary gain towards character developement and plot lines. I do miss spending hours on end building my levels and gold supplies so high that I can breeze through the game. it gives you a good sense of accomplishment. I would have to say though, that I like the big story lines in the games now. It draws you into the game. In FFVII you could actually feel sad when cloud killed his main love interest under an outside control.
    I am really hoping that this book delves heavily into the building of the plots and storyline in newer games.
    On the other end of the spectrum, we have our good friends over at ID cranking out the blood, guts and sheer graphical power. It's nice to play a good RPG, but I need to pick up a BFG and clear out a room full of people online every now and again. Gibs Gibs Gibs I love it all!!!
    I'm thinking that I would look forward to a good tell all book from Carmack. Maybe someday my dream will become a reality. hahaha

  • Well, to me anyway. There are those who say I could use a book that intelligently covers game design and architecture. ;)

    ...so I guess I'll have to pick this one up.
  • Note: I work in the game industry.

    This is possibly the best book yet on the subject of game development, but it greatly saddens me. This isn't a book about the magic of game design and creation, it's a book about navigating the passageways of the game industry. Even that we have to call it an "industry" now is depressing. If you want to start a game company that yammers on about innovation and cutting edge technology, and then goes on to create Yet Another Realtime Strategy Game That Wishes It Were Starcraft and such, then go ahead. But otherwise this is on par with a book about getting into the consulting business. Bleah.


  • What I'd like to see is a book on multiplatform game development, using libraries like SDL and OpenGL.


    Isn't the whole point here that the book (which I admit that I have only just started reading) is to demonstrate Architecture and Design, not implementation? So it doesn't matter what platform the examples use, as long as they get their point across. Personally, I'd have preferred it if they had used OpenGL and Linux and ..., but I think their ideas transfer well with the current examples along with the OMT diagrams.

    If you want an OpenGL development tutorial, buy an OpenGL book...
  • Games were important back in the 80's and 90's, but that era is coming to a close. The future is here, and the future is business. As our society advances, people will spend more and more time at work, and less time with
    unproductive activities such as games. If software developers are smart, they'll switch over to business applications such as spreadsheets, word processors, billing and accounting software, etc. In fact, I would say that it's their patriotic
    duty to do just that, so that their country will be able to better compete with the other countries. One could even make a case that games should be outlawed as a drain on the resources of society. Perhaps it's time to finally put selfish
    individualism to rest.


    I doubt you have realistically seen what happens to people when they don't have anything that they enjoy to do. Ever watch any sitcom? Notice something? Usually the person really hates their job and do let off steam they decide to do crazy random stuff.

    I think that games will be played in some fashion even if it's just a handheld thing like a gameboy or maybe a good book or a crossword puzzle.

    Since we haven't really seen much data to determine if the decade of 2000 will herald any such change we just have to look at what we have now.

    Games sell more and more PCs every year. It's what basically keeps video card manufacturers in business. I mean come on do you really need that Voodoo 3 6000 do produce "scientific charts" or work related material. Well maybe but most of the hardware in this category is in the form of game desires from people who play games.

    I think you are dead wrong on this one.
  • Does anyone else have a similar experience? I was about 13, and 100% self-confident when it came to computers. I bought a similar book in hope of writing the next Doom, and it has successfully gathered dust on my shelves since
    then.


    Yeah I have had experiences like that. Trying to get programs to compile that I thought surely that they would work, ideas that fizzled, concepts that if someone actually worked on them would make for a game better than the ones that we have now.

    For example. Suppose you have a star trek like game. Well I thoght of creating say a universe and have individual planets that one could explore and look at and perhaps meet new and interesting life forms. Have this game be infinitely playable and expandable and use plenty of randomness. You could play for years and never win but have a hell of a lot of fun doing it.

    I am wondering if perhaps there are any games like this or that have the concept of infinite play with a continuous running story that are open for expansion at will. Say perhaps a level or mission pack every 6 months.

    Release a game like that and you will have people battering down the doors to get it.
  • But if you waste your time playing games, you're not submitting to the will of the collective! Yu're not sacrificing your life to giving the community more applications as Open Source dictates that you do. The Reverend is simply taking the ideas of the majority of Slashdotters and thinking them through to completion.

    Esperandi
  • The least important thing in a game is its coding methods. Sure, it needs to run fast enough to not be aggravating but there are certain concepts which are eternal in games and are far more important that any code. Gameplay. Balance. Etcetera. For instance, Everquest is a game that is coded quite well, and yet there is a very great deal lacking from their gameplay because they chose to shove inter-player interaction down everyones throat instead of letting it happen on its own. These are the kinds of things that people need to learn, not code. Someone who codes an accounting package can't just jump over into games. They won't have any concept of how to make the game FUN.

    Which is why people say the game companies lag behind others in following the lifecycle model and crap like that. FUN is not ISO9000 compliant. Managers hate that, but its why game companies will need to remain places where the coders can work whenever they want, sleep in their offices, all that stuff you hear about. The minute they start coming 9 to 5, having QA sessions every day at noon, and all that crap the people working on a word processor do, their game will die.

    Esperandi
    ISO9000 will eventually encircle the globe, standardize the production of every software project, then it will move into families and standardize familial activities.. from there, it will move on to the molecular level - surely physics isn't efficient, it doesn't document itself!
  • Yeah, you can use a middleware product designed 2 months ago in your new projects... if you don't mind being laughed at by everyone who passed on your project and is using the new guys product who went and made his own in a new and innovative way... game programming involves constant innovation. Unless you build a brand name and depend on your fans simply wanting more of the same, you have to be out there to do even mediocre. Then once you've got the technology that knocks their socks off you've gotta figure out how to make the game fun enough, how to build in replayability, how to make it balanced so its not too easy or too hard, etc, etc, which are the things that really build a game.

    Esperandi
    Not an engineer unless you mean a software engineer
  • The code is completely irrelevant in the book just like its irrelevant when you're making the game. The book is about the design of the game and the process. The things like "Okay, the most powerful sword in the game will be on level 1 and you'll be able to kill every creature in the game with one hit except the end guy who is next to impossible". That's really bad game balance. That is much more important than whether you use OpenGL or anything like that.

    Also, there are no open source projects that are done correctly. They're just people doing their thing, they do not follow the software lifecycle model that you will HAVE to follow in the gaming industry or you'll end up way behind on the times. Also, you have to consider that most of the goals of these things disappear when you're doing open source stuff. In this case, you want people to LOVE your game so they'll buy it and you can meet payroll and keep your programmers around for another couple months. In the open source environment you really don't give a rats ass if everyone in the world hates it because you won't make any money either way, you just want to do it because you find it fun personally...

    Esperandi
    If there are any open source projects out there that have SQA teams, have requirements, specification, design, and all those huge ultra-overly-detailed documents, feel free to tell me about them, but I don't believe they exist.
  • Emerging trends are not apparent trends. If you look HARD, you will see a trend. Fatbrain.com eMatter... Adware... Amazon zShops...

    The future IS single-person or small teams, selling their products online. A cult following will be required in the beginning but eventually, if you want a game, you hop online and spend $10 and play a game all night or for months...

    Go have a look at the roguelike community. They've got more fun, more replayability, and (for the most part) more game balance in their left testicle than in every other game company combined. If they'd wake up and sell their games online, they could make some money.

    Esperandi
  • Don't bother, it'd be much less work to port it to 6502 asm for the NES, assembling it and mixing it together into a NES image file and running it through a NES emulator.

    Esperandi
    Hell, run it on a BBC B emulator!
  • Be careful, if Carmack is anything like the total wanker Mr. Devine that works for him, he'll say that if you like anything but FPS games you're an antisocial nerd with bad taste. I figured Carmack would be more open minded but in the interview posted on /. awhile ago, he sounded like he echoed this view, that people who play RPGs and such like that are geeks (in a bad way) and that the future is cocaine-induced games in which every split second, keypress, and mouse click of a game is an orgasm of pleasure.

    Esperandi
    I love Carmack and admire him deeply, but him and his employees need to learn that just because their game is good doesn't mean all games unlike it are bad.
  • Well, a lot of game players I've talked to say 'I don't know why its fun, it just is". They can usually give you a rundown of what they hate, but you ask what they like and they either draw a blank or spit out a bunch of completely useless crap. "Well, I liked it because it wasn't too easy and it wasn't too hard" is NOT helpful. They're telling you its a good game and that's not what you need to create your own good game.

    I think game designers need to start being paid more than programmers and need to have a lot more responsibility and such on their head. There should be majors in game design and such. Right now in most cases they're just some guy who says "I want a game where a hamster has to find his kidnapped sister. I want it to look like Quake 3, but you shoot forks and knives at vegetables instead of bullets at other people. Oh, and throw in some puzzles" and then halfway through the project they walk in and say "Scratch the hamster, bring back the bullets, we're searching for a sodomized stick of cellery in the basement of the Muppet's kitchen. Make them jumping puzzles, like the ones that pissed everybody off in Half Life.". We don't need that. We need someone who UNDERSTAND things like if you want to make a massively multiplayer online game you provide the ability for players to form a community around the game but in *NO* circumstances do you make it mandatory (like it is in Everquest which is why EQ is only a tenth of the game it could be).

    Without these kinds of people, there won't be much innovation in the game industry. technological innovation is SO unimportant when compared to innovation in gameplay and such, so the designers ought to get the big bucks.

    Esperandi
  • Well, there are roguelikes. You can beat them in theory, though I've been playing them for 10 years and never have. They're some of the msot fun I've ever had in games, most notably Angband. The variants of Angband are good too (only play Zangband if you don't mind it getting harder every damn weak... the mantra of the development team is "the game is too easy" when only a handful of people can beat it). Recently in rec.games.roguelike.development someone has been talking about a new roguelike he's making that sounds similar your yours, random planets with random creatures on it and such stuff...

    Esperandi
    Roguelikes are #1 for replayability without a doubt. Tetris doesn't even come close ;)
  • I find it odd that you call yourself a software developer and yet you think code is relevant in games. Of course its not. Gameplay, balance, presenting a comprehensive requirements document to the client, being able to whip up a rapid prototype in VB or something similar, having an all-encompassing design document, THESE and many similar things are the important stuff, not the engine below. If you've got gameplay, you can beat the guy next door who took 6 months to get his game to run in a higher resolution at the same speed as yours...

    Esperandi
  • I haven't read the book but I believe you misunderstood (which doesn't say much for the book) what they were talking about. In every thing I've ever read about game design, one of the principle things is not to look at up-and-coming technology. The simple reason is because you'll never STOP looking at uo-and-coming technology. Imagine this scenario:
    You're writing a game, pushing all the pixels around manually, doing wonderful things with linear algebra and trigonometry, bending the laws of mathematics at your will.
    The Voodoo card hits the market.
    3D acceleration is the wave of the future.
    Scratch what you've done.
    Spend 3 months learning the Glide API.
    Begin rewriting your engine.
    The Voodoo2 is out with a better featureset!
    Spend a month re-learning Glide.
    Begin incorporating the cooler Glide features into your engine.
    Uh-oh, a lot of people are talking about Nvidia and how DirectX and OpenGL are fighting for the lead in the market.
    You keep working on your engine.. almost done...
    Oops, looks like people were right, Nvidia is doing pretty good with that TNT!
    You spend 8 months learning DirectX, DirectPlay, Direct3D Immediate Mode (cause you simply can't use Retained, its too slow!)
    You begin rewriting your engine.
    DX5 comes out.
    Relearn.
    DX6 comes out.
    Relearn.
    DX7 comes out.
    Relearn.
    You hear DX is going to soon be a thing of the past and everyone will be using something called Fahrenheit, so you decide to just sit around and wait, why even frigging bother with the engine?

    I find it hard to believe you'd be able to make a payroll if that's how your company worked.

    Esperandi
  • Bwahaha, if the reader of /. only knew that you're following their viewpoints to a logical conclusion with this "sacrifice for the will of the many, progammers need not be paid" shit.

    Selfish individualism indeed.

    Esperandi
    I am the thing that we were born to hate.
  • For example. Suppose you have a star trek like game. Well I thoght of creating say a universe and have individual planets that one could explore and look at and perhaps meet new and interesting life forms. Have this game be infinitely playable and expandable and use plenty of randomness. You could play for years and never win but have a hell of a lot of fun doing it.

    I like the idea of open-ended games such as you're suggesting here but I think that this sort of game would work best as a multi-player game - you can only explore the universe on your own for so long before the appeal fades. I suppose things like Ultima Online are the first steps in this process, but I'm sure the "online world" type of game will grow in popularity as more and more people join in.

    But there are certainly some kinds of games which don't really work as a stand-alone product but are almost ideal for this kind of treatment. How about a game based in a fantasy city where intrigue is rife? Players can engage in all kinds of things within the city or intrigue with other players for positions of power. Over time characters will rise and fall in power and prestige. That's just the first idea that popped into my head, but I'm sure you can think of others.

  • You may have noticed that I did say that this doesn't apply to all games. Of course games like Tetris wouldn't be improved one iota by some contrived plot - there are cases in which pure gameplay is the only important element.

    And again, for games like Quake of course it is the gameplay that counts. This is what I was talking about in my last paragraph - that the game engine itself must be fully tested to be as playable as possible. Think of the many games that are like Quake, but not nearly as well-tuned and so just don't work.

  • It seems that at the moment the only way to play in this kind of game is to join up with a play-by-(E)mail game. Of course you lose out on the immediacy of a real-time game, but you do gain a lot more role-playing opportunity, especially if it is moderated by a human rather than a computer.

    It's a pity there's nothing like that because I'd definitely go for it. Still, this kind of open-ended online game is going to be more and more popular as the technology for it improves and hopefully we'll get to the point where there are enough games so that we could choose whatever we want.

  • I remember trying to code something based on Civ after the original came out. After trying to work out an appropriate class structure I gave up in disgust because of the sheer amount of time and effort it would have taken :(

    However I've also looked at the FreeCiv project and I'm very impressed. It looks like it'll be extremely good when it gets finished. OTOH I wish Microprose (?) would release the source code for Civ 1, now that would be a good download!

  • I think most geeks - if not every geek - dreams of designing and making games. It must be one of the must funny activities, and one of the more rewarding. However, it's damn hard. Several times I got myself dreaming about it, just to stop because I dont know how to start it. A good design makes actual code writing a lot easier.

    Why games? Games are large and complicated systems. Games are also one of the best approximations that we have today of living systems - using such things as virtual reality environments, simulations and artificial intelligence (if there is such a thing).

    In the earlier 90's it seemed that the game industry offered opportunities for starters. Now the game industry is a very much different environment, where large companies dominate the scene. In this sense, the dream of making off my own game seems very hard to attain. The cost to produce all the multimedia needed to make for an attractive game today is beyond most peoples pocket's. This is a shame, because a lot of people have very bright ideas, but have no way of realizing them.

  • Unfortunately, in the days of Elite (and also Zarch/Virus, to an extent), putting out a game with wireframe/flat-shaded graphics was acceptable. The gameplay on its own justified the release, simply because you didn't need an armada of artists to provide Joe Public with eye candy before a game could be released.

    Braben/Bell/Crowther et al. had great ideas, and some phenomenal coding talent, but as much as I hate this, to the average punter who bought his PlayStation for evenings after/when he couldn't go to the pub, looking good, being bland and being advertised well is all that matters a lot of the time. If you showed Elite to a marketing department now (if it hadn't been written in the '80s), even with flashy graphics, it would be an uphill slog to get them to adopt it, simply because it doesn't cater to the demographic they are aiming at.

    It seems to me that by finally pulling digital gaming into the mainstream, we may have done it the greatest disservice of all.

  • One thing I would like to see would be a chapter/article that deals with ways of communicating the ideas of gamers, programmers and those who do both, who for the most part, know what they want in a game, to the marketing types who will want to know how saleable a game is. Games can be technically advanced beyond the industry standard, but sometimes the marketers reject it out of hand, because it doesn't fit their demographic.

    It worries me that there are fewer and fewer innovative games out there. Just as the market was saturated with scrolling shoot-em-ups 15 years ago, nowadays it seems that in order to convince the marketers, you need a Virtua Striker/Tomb Raider/Quake/Gran Turismo clone, or you can do a pinball game and aim for the 'quirky' dollar, in much the same way as the music industry is going formulaic with Britney/Backstreet/Puff Daddy-alikes. The customer is being told what to buy, rather than being asked.

    Good programmers are being sucked up by companies that lack imagination, and the gamers that also program are generally not listened to at any level above their assigned project. Does anyone else get the feeling that those who play games should have at least some share of input?

    Judging by the chapter titles, the book tells you how to build a software release team yourself. True, maverick software companies like id offer some solace, until they are fragmented by ego clashes (See also: ION Storm), and most large publishing companies just want to buck up revenue with variations on a theme (usually sports, in the UK at least). It just scares me that the truly innovative voices are being drowned out by the commerce, that within the games industry, the Industry is swamping the Games.

  • And the level of expertise required is daunting. You need to know graphics and networking and physics and AI just to implement an engine today. And that doesn't even get you a game; just the underlying machinery.

    Going to the GDC Hardcore Physics Seminar last December impressed me with how smart the people doing game engines today are. They're not just pixel-pushers any more. Game development is drawing serious mathematicians. It's like visiting MIT. Good scientists are going into games, instead of NASA or Wall Street.

    Game AI has probably passed academic AI in quality, too. More money, more bright young people, and a problem to solve.

  • The problem with books that try to teach "software team management" is that they are often just a lot of catch phrases that mean nothing. If a book teaches coding, there's a simple way to see if it's bullshit or not: build the code and see how it runs. Testing management methods is much harder.

    BTW, what about the authors' résumé? If I were trying to learn about game software team management, I would try to get a book written by someone managing one of the big game companies: Id, Sierra, Accolade, Lucas, etc.

    Supermen are superthinkers; anything else is a side issue.

  • You're right, games are a lot of hard work, and big companies really do dominate the scene. There's a lot of lip service given to independent developers in the industry, but that's about it. But I think that the barrier for entry into the game industry is lower than ever.

    First off, if you don't have a budget, you keep that in mind when you start your game. Skip the FMV and motion capture and design something you can write on a budget. Don't draw 500MB of textures, just make a few good ones and wring 'em for all they're worth. Above all, concentrate on gameplay, because in the end that's what'll keep people coming back to you.

    And when your game is done, publish it yourself if you can't get publishers interested. The internet is perfect for that, there are plenty of places which will take care of selling it for you. For a price of course, but the margins are actually much higher online than in retail. Marketing the product online is up to you.

    People in the industry frequently tell others looking to get into it that you have to 'pay your dues', and they're right. If you just want to get into the industry, you can get a job as a coder working on someone else's project and you've got a few titles under your belt you can get the green light to work on one of your own. If you've got a game that you've got to make yourself before anything else, then it's going to require a lot of time working for free in your basement. Which sacrifice you want to make is up to you.

    JB
  • Maybe it is not the quality of game content that has declined, but rather you have become spoiled by the quantity of good gaming software. Look at the younger game playing generation... they become totally immersed when playing StarCraft, Quake III, etc. With these 'new' classics, you use both your brain and reflexes.
  • The bit about Team Building and Management seems especially interesting. Based on what I've seen, about half the games out there come out with significant delays, release dates keep getting pushed back (also note that acording to some(vaugely remembered) statistics from Ed Yordan (ug) more than 80% of all software projects are in some way late.) This seems a rather valuable part of the book. Also, all programers should be required to read "The Mythical Man Month" (Frederick P. Brooks Jr, 1995), a great book about how not to be late.
  • I have to agree with sharing the dream of making computer games, and that a good design will make the coding a lot easier. Now, to deviate in opinion...

    Though the task of making a game could be classified as 'damn hard', if the task is all hard work, tedium, and discourages the hopeful developer from bringing their idea to fruition, then, well... They're not cut out for game development. (I havn't given up yet on my project[s], nor have I finished the first one I chose to tackle, so I don't know if I'm cut out or not.) And this makes no statement about those who havn't started just because they don't know where to start- just the ones who slammed the power button and gave up on the dream.

    Let me refer to one of the other replies by _Gnubie_, whom has been at a 3D project since 96- (!!!) Now that's dedication! Of course, it might also be a good example of where a good design could have cut down on the coding time- without knowing any specifics, I can't say that anything _Gnubie_ is doing is wrong. But, having changed from Pascal to C/OpenGL is a good example of a change in the design, even at risk of throwing away a lot of the old code (but not the algorithms). And that's something else that will decide whether or not it's tedious work or fun game development- realizing that it's progress, because being attached to all that work you've done until then could be a Bad Thing(tm).

    So now we picture ourselves as dauntless, aspiring game developers, finding joy even in wasting a few weekends writing volumes of code, and then writing them over again because we realize that last weekend's coding bout was pure crap (btdt). So, should we be discouraged because we can't compete with Big Industry? I say heck no! Well, unless your goal is to be a lone, independant game developer and do the sales and marketing yourself. Time to be dauntless and re-evaluate your business design. Personally, my completed project will serve as a nice portfolio/resume piece so I can get hired on by a company. If I'm able to make a quick buck off marketing it on the 'Net, that'll be a plus, but I'm not counting on that to cover the cost of my caffeine addiction. But even independantly produced bare-minimal games can be as fun (or better) than big-budget eye-candy packed titles put out by some big publisher- and THAT should be the encouragement for every aspiring developer to complete their project. Or at least keep their dream alive until they know where to start. :)

  • by EnderWiggnz ( 39214 ) on Wednesday March 01, 2000 @06:48AM (#1235269)
    making a game by yourself isnt that insane of a task... Most of the incredibly good, older classic games were designed and implemented by very few, sometimes just one, people.

    IMHO, I think that since the game market has been turned into a corporate cash cow, the quality, in depth-ness and "experience" have all declined.

    Yes, the audio-visual experience is more impressive, but the content is horrible... I cant remember the last new game that I coule get so involved in the characters and storylines that I fogot about the "real" world.

    I mean, the classics - wasteland, bard's tale, Ultima III, IV, V were total immersion experiences.

    Sigh... I long for the "good ole days" of games that made you use your brain instead of reflexes...

    I also long fo rthe day when dying in an RPG was a really horrible thing...

    oh well... let me get off this soapbox...

  • by spiralx ( 97066 ) on Wednesday March 01, 2000 @07:39AM (#1235270)

    Well, you can write the core engine in C++ for speed purposes and then use Python to wrap this code. Then you can use Python to do prototyping for the rules and game mechanics - rather than having to rebuild the whole project each time, just change the code and rerun it. Saves a lot of time. Once you have finalised the game mechanics you can then choose to code then in C++ if you want to.

    Alternatively you can actually embed the Python interpreter within C++ code and use it to write custom scripts and/or extension modules using the wrapped game objects. Kind of like QuakeC IIRC. Or for a game like Civ you could write custom macros to do tasks you do regularly such as changing build orders in response to attacks.

  • by Jonathan Blocksom ( 139314 ) on Wednesday March 01, 2000 @07:16AM (#1235271) Homepage
    The skills to write a game are pretty much the standard software engineering skills. Games are getting more complex, but technology is getting faster, and balancing the two is half the battle in making a great game. Look at Carmack's history: DOOM and Quake had scan-line renderers which he hand-tuned in assembler, but QIII just throws polygons to the 3D card (and it's corresponding hand-tuned driver). So instead of spending time getting a poly on the screen he spends the time figuring out how to make it look cool. Figuring out where to spend your time is an engineering call, and it's the same if you're writing a database or a first-person shooter.

    Of course, if all the games out there were things people put together in a few hours after dinner, we wouldn't be paying $40 for them. They take a long time and lots of hard work, and so if you're going to revolutionize the industry you're going to need some financial backing so you can work full time on it for at least a year. And even Carmack doesn't code alone, and he's got a ton of artists helping out too. So you're not going to revolutionize the industry by yourself, but there's no reason you can't provide the vision to revolutionize it with a team.

    JB
  • by jd ( 1658 ) <imipak@yahoGINSBERGo.com minus poet> on Wednesday March 01, 2000 @06:50AM (#1235272) Homepage Journal
    The Computer Games industry is filled with clones and rehashed ideas. There is very little new out there. This book looks like it has the potential to kick-start a few brain-cells, and maybe even coax someone into writing something innovative.

    One (or two) people CAN write decent games. "Elite", possibly the best game ever written, took only two people to write. Mind you, it took brilliance and a lot of patience on the part of the writers, but it CAN BE DONE!

    Another good game, not written by a large team, was Tetris. Yip! A "trivial" game, cranked out by a Russian who seems to have mixed the vodka with children's blocks.

    The original Adventure Game, Colossal Cave, took the awe-inspiring mass of brains known only as Don Woods and Pete Crowther.

    One of the most bizare 3D realistic-movement shoot-em-ups, Zarch, was jotted down by David Braben, on his own. It's a game playable only by very sick people with 7 arms and brains the size of a planet. On the other hand, it's a phenominal game, and worth twisting one's brains round.

    I see the next generation of fresh ideas coming from small teams (one or two people), because they are the ones least likely to be locked into the "formula sells!" mentality, and open to new ideas.

  • by maroberts ( 15852 ) on Wednesday March 01, 2000 @06:44AM (#1235273) Homepage Journal
    ..sadly always seem to lag some way behind current technology and methods, as this one appears to.

    Most of them don't appear to be very insightful, almost as though 'those who can't do, write a book'. I often feel you can learn far more about game design by looking at someone else's coding methods, for example in Quake now the code has been Open Sourced.

    Is this book any different ?
  • by spiralx ( 97066 ) on Wednesday March 01, 2000 @06:40AM (#1235274)

    The authors focus not just on computer games, but on software entertainment as a more general concept. To that end, they discuss such diverse influences as Aristotle's elements of drama and provide analogies with films and literature.

    This is the sort of thing which the game industry needs more of. I've lost count of the number of games which use predictable, tired storylines, or in which the storyline is totally unrelated to the game. A game with a great storyline in which your actions directly tie into this is extremely engrossing and keeps you coming back for more.

    Of course this doesn't apply to all games. I doubt whether pure combat games would benefit from a finely wrought storyline :)

    However, the main focus is on games, and I particularly enjoyed the applications of math and game theory to gameplay and balance. A nice touch was the discussion of emergence as it applies to the interaction of game rules.

    Again, this is a good thing. The game engine requires a balance amongst its elements otherwise it's no fun to play. If one element of the game makes it rediculously easy to win then this spoils any kind of long-term enjoyment you could get out of it. Games should be extensively playtested before release to make sure this sort of thing it correct. And the programmers having a few quick goes before release doesn't count, unfortunately for some games companies.

Neutrinos have bad breadth.

Working...