Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Game Design: A Practical Approach

samzenpus posted more than 5 years ago | from the read-all-about-it dept.

PC Games (Games) 85

Aeonite writes "As the title suggests, Game Design: A Practical Approach presents a practical approach to game design — one that is almost too practical in places. The book does a good job of covering many of the foundational elements of game design (called "atoms" by the author), but in places the level of practical detail — and the heavy focus on Lua code examples — is a bit hard to work through. Readers allergic to code may find themselves skipping over swaths of text instead of actually reading it." Read below for the rest of Michael's review.Schuytema is a game industry veteran, perhaps best known for having worked on the original incarnation of Prey back in 1998 or thereabouts. These days it seems he's employed by the University of Illinois as an Extension Specialist, and it certainly seems to have rubbed off on him, as the book is written in a very scholarly, textbook-like fashion. The preface speaks of "foundational information," and while the exciting parts of working in the game industry are mentioned as well, generally the book's subtitle ("A Practical Approach") is precisely what you get.

The book is broken into three parts. The first, the aptly (and practically) named "Introduction to Game Design," consists of six chapters, covering the basic foundational elements of game design, game design documents, coding tools and the like. The advice in the first four chapters, in particular, comes across as a bit too practical, if not downright pedantic, as the author discusses things like listening, taking notes, and reading. In chapter 4 the author even covers the merits of breathing properly, getting enough sleep and not eating junk food (good luck encouraging that at a game company; we lived on Reese's Peanut Butter Cups at Perpetual Entertainment). One wonders if the current generation of whippersnappers, just entering the industry, really needs to be told to get a good night's sleep; if so, we're in for some interesting games over the next few decades.

Some of the advice here is genuinely useful and interesting, such as methods for helping inspire creative thought, brainstorming and developing memory. Chapters 5 and 6 are also more relevant to game design; the former covers game design documents, pitch docs, functional specifications, and the like, and is one of the tightest and most useful chapters in the book. Chapter 6 then dives headlong into the Lua scripting language, which is where the book's focus on game design sort of drifts sideways into the realm of game development. From this point on, the book is sporadically riddled with code examples, references to the example game on the included CD, and detailed explanations of variables, operators, functions and control structures. This is useful, if dry, but it seems to be directed more at the indie "casual game" industry where game designer, game programmer, game artist, game writer, and game publisher are all the same person.

The second part of the book, "Game Design Theory," covers high level design concepts broken down into what the author calls "game atoms". Examples include things like: having a clear goal for the player; providing subvictories to the player; allowing the player to affect the game world; making the context of the game understandable to the player; and so on. These are insightful, and easy to understand and digest, and were the entire book filled with nothing but these I would find it all the more valuable. Sadly, this section is also the shortest in the book (spanning just over 50 pages), and although later chapters in this section do manage to dive into things like player perceptions and challenges, I find myself wanting more. In covering the concept of game "flow" and losing oneself in the moment, the section does earn geek points for citing Mihaly Csikszentmihalyi, whose name looks like catlike typing should have been detected. But I digress.

Part 3, approximately half of the book, is devoted to "Real-World Game Design," which moves away from "theatrical underpinnings" and into more (you guessed it) "practical" issues. Here, specific "atoms" such as UI, inventory, power-ups, puzzles, conflicts, and the like are covered in some depth, each presented with code to show how the relevant "atom" might be programmed (examples taken from the sandbox game named Eye Opener, included on the accompanying CD). In places the density of code calls to mind the BASIC game programming books I owned in the late '80s, where if I had 6 hours to type I could make a rocket blast off the top of my Apple IIe monitor. In fact, one of the most interesting comments is on page 336 where the author discusses early games on the Apple II, where "(r)eplay of the game meant going for higher scores, since a single pass through the game was maybe 20 minutes tops." Schuytema speaks as if these are games from a bygone era, but it seems to me he's basically describing the modern casual game, of which there are many, many thousands in the wild. Much of the latter material, alas, seems to drift back into the realm of the "overly practical," with the author covering storytelling atoms such as outlining, writing, revising, and working with a writer. The final chapter, "Next Steps," then presents the ever popular "how to break into the industry" section, which covers very practical, but again somewhat obvious topics such as going to school, networking, and following game websites.

Each chapter ends with a summary and a series of "Chapter Exercises" that hammer home the feeling that this book is really more of a textbook, complete with homework assignments, rather than a casual read. Even the index is almost TOO complete and practical, with entries for brief, passing mentions of Barnes & Noble and Yahoo!; I was surprised not to find an entry for Mountain Dew, since it's mentioned a few times more often in the text and seems somewhat more relevant to the game industry. The book also offers a number of "from the trenches" sidebars throughout, each featuring veterans espousing on various elements of the game industry. These are interesting and often insightful, but their overall impact is somewhat reduced considering that fully half of them (11 of 22) feature the author himself. It seems that a broader selection of insights and examples from other designers in the industry would have served to balance the book a bit more.

Also worth at least a passing mention is the issue of the postage-stamp-sized images and screenshots that pepper game books these days. Many of the pictures in this book are difficult to make out due to their clarity and size (Figure 1.1 looks like some guys from Home Depot are about to encounter the Blair Witch), but most can be puzzled through. Even then, although they generally have relevance to the subject being discussed they often don't really reinforce the concept at hand in a useful fashion: Figure 3.1 is a picture of a marble notebook and some pencils, as if the book were written in a future time when knowledge of writing materials was lost; Figure 3.4 is captioned "Use your finger as an eye guide..." and contains a picture of a book with a finger on it; Figure 10.3's caption mentions "the samurai sword" weapon in Shadow Warrior, yet the screenshot apparently depicts a grenade launcher. The capper is probably page 194, which is supposed to illustrate multiplayer gaming, but instead (as far as I can tell) depicts two mid-'90s Inside Sales reps playing Solitaire instead of phoning clients. Possibly they are car salesmen; it's not clear.

Warts aside, as a whole Game Design: A Practical Approach covers quite a lot of terrain in quite a useful fashion, and hits all the major foundational points about game design. Though it does contain quite a lot of Lua code, this is admittedly not as irrelevant as it could have been, since Lua is used in a wide assortment of games, from Far Cry to Natural Selection 2, Warhammer Online to The Witcher. The book is a few years old at this point, but it seems that it will remain relevant as long as Lua remains a viable programming language in the game industry. Left-brainers in search of a fairly crunchy and quite practical book about game design AND development (and in particular those who want to design and develop their own games, rather than work for someone else) will be quite happy with the material here. Those right-brainers more comfortable amidst the fluffier bits of the game industry, however, may find themselves checking their watches halfway through the second act.

You can purchase Game Design: A Practical Approach from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

Sorry! There are no comments related to the filter you selected.

I never RTFB! (5, Funny)

g253 (855070) | more than 5 years ago | (#28364065)

(...) may find themselves skipping over swaths of text instead of actually reading it.

It should appeal a lot to slashdotters then ;-)

Re:I never RTFB! (-1, Troll)

Anonymous Coward | more than 5 years ago | (#28364321)

Slashdotters are too busy playing skin flutes and eating penises because slashdot is one big sausage party.

Re:I never RTFB! (1)

nschubach (922175) | more than 5 years ago | (#28364705)

As long as the book gives me some mod points before I start skimming it, I'm good to go.

Re:I never RTFB! (1)

Hognoxious (631665) | more than 5 years ago | (#28364759)

tl;dr

Re:I never RTFB! (1)

EvanED (569694) | more than 5 years ago | (#28366131)

;-)

I'm glad to see you're so happy. Is it because the book review sounded particularly good or interesting? I didn't bother to read your post so I'm not sure.

Protip: Don't design games on or for Linux (-1, Troll)

Anonymous Coward | more than 5 years ago | (#28364079)

Linux just isn't ready for the game designer yet. It may be ready for the web servers that you nerds use to distribute your TRON fanzines and personal Dungeons and Dragons web-sights across the world wide web, but the average computer user isn't going to spend months learning how to use a CLI and then hours compiling packages so that they can get a workable graphic interface to get their 3d modeling software working, especially not when they already have a Windows machine with Maya 3.0 that does its job perfectly well and is backed by a major corporation, as opposed to Linux which is only supported by a few unemployed nerds living in their mother's basement somewhere. The last thing I want is a level 5 dwarf (haha) providing me my OS.

Re:Protip: Don't design games on or for Linux (0)

Anonymous Coward | more than 5 years ago | (#28364187)

Trolls just arn't ready for the game designer yet. They may be ready for the web servers that you nerds use to distribute your TRON fanzines and personal Dungeons and Dragons web-sights across the world wide web, but the average computer user isn't going to spend months learning how to use a CLI and then hours compiling packages so that they can get a workable graphic interface to get their 3d modeling software working, especially not when they already have a Windows machine with Maya 3.0 that does its job perfectly well and is backed by a major corporation, as opposed to trolls who are only supported by a few unemployed nerds living in their mother's basement somewhere. The last thing I want is a level 5 dwarf (haha) providing me with trolling.

Why there is so much emphasis on design (1, Insightful)

BadAnalogyGuy (945258) | more than 5 years ago | (#28364091)

Programmers are a dime a dozen. That ain't nothing but ten-cent coding.

Designers, though, are the core of any game. They are the ones who shape and craft the game, much like I.M. Pei designs masterful works of architecture. The programmers are just the construction workers who make the design a reality. Both are skilled and necessary, but construction workers without an architect aren't going to build anything of great value.

That's why Lua is such a great teaching language, and why I think this book does really well. The focus is on the design of the games first and foremost. What are the gamer's needs? What are the goals and subgoals for each level? That's the most important thing. And Lua is a great language to help bring those designs into reality.

Yes, coding is necessary, and this book has plenty of code. But if you are serious about creating a game, it's the design that matters, the implementation can be farmed off to any body shop.

Re:Why there is so much emphasis on design (5, Insightful)

BigJClark (1226554) | more than 5 years ago | (#28364291)


Correction. Mediocre programmers are a dime a dozen. Any comp sci grad with a 6pack of coke can get through directX 9 tutorials and have a decent floating ball, swimming shark. Good/Great programmers are a rarity indeed, and good games ALWAYS have a good programmer behind them. No lag in input, decent framerate, no odd bugs. Yeah, they deserve their paycheque.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28365073)

I find I code better with a 6 pack of beer rather than Coke.

Re:Why there is so much emphasis on design (1)

Hecatonchires (231908) | more than 5 years ago | (#28369699)

I don't. I'm more the 'take of your shirt' and start to dance type in that situation

Re:Why there is so much emphasis on design (1)

viablepanix (1470049) | more than 5 years ago | (#28466147)

The obvious and mandatory http://xkcd.com/323/ [xkcd.com]

Re:Why there is so much emphasis on design (2, Insightful)

amoeba1911 (978485) | more than 5 years ago | (#28365771)

John Carmack!

Re:Why there is so much emphasis on design (2, Informative)

westlake (615356) | more than 5 years ago | (#28366223)

John Carmack!

Carmark can design a great game engine. But it's been a while since iD has released a great game.

Re:Why there is so much emphasis on design (1)

Restil (31903) | more than 5 years ago | (#28406163)

It's been a while since ID released ANY game.

Re:Why there is so much emphasis on design (2, Interesting)

fooslacker (961470) | more than 5 years ago | (#28364307)

There is a common misconception of the programmer as a commodity. Designers are by far the most important resource just as architects and designers are the most important for enterprise apps. That said crappy programmers can destroy a good design just like a bad design can't be coded around. It's akin to designing a sky scraper and getting a bunch of 15th century hut builders to construct it. Designers are imperative but capable programmers are very important as well. The real question is when do you hit a point of diminishing returns for a more expert programmer. To continue the building metaphor you don't need skyscraper builders to build a hut but you'd better not try to build a skyscraper with hut builders.

In my work, I disagree (5, Insightful)

roguegramma (982660) | more than 5 years ago | (#28364373)

In my work as a programmer, I often have to fill in huge gaps left by the designers, and the designers usually only get the best ideas after they have seen what the engine can do.

Also, the specification of the average designer is so vague in terms of programming, e.g. "I want the program to be smarter than the user" that it is worthless.

Because of this any fulltime designer is usually in the top 5% of his craft, while a fulltime programmer still can be useful if he isn't in the top 5%.

Re:In my work, I disagree (2, Insightful)

PeanutButterBreath (1224570) | more than 5 years ago | (#28364551)

Programming and design are still distinct. When filling in blanks left by designers, you are doing design. When you are shaping what the engine will accommodate, you are also doing design. When you implement the design in code, you are "programming" (in the "ten-cent coding" sense of the word).

I think that in the real world, most "programmers" must be coders and designers, whereas designers need not be coders. That said, a good designer is probably worth more between the two, since the quality of design is what determines the potential quality of the end-product.

Re:In my work, I disagree (2, Funny)

ls671 (1122017) | more than 5 years ago | (#28364641)

Agreed, they used to try to teach us that at the University.

The example was an early fly-by-wire plane that failed to apply brakes while landing because the tarmac was flooded with water.

Specs said that the brakes couldn't be applied until the airplane touches the ground which it never did because it was only touching the water and the programmers implemented the specs as is.

They tried to teach us that programmers have a responsibility to review the specs and mention anything that did not make sense ! ;-)

Re:In my work, I disagree (2, Insightful)

nschubach (922175) | more than 5 years ago | (#28364767)

Maybe I'm being way to literal, but how do the brakes know the difference between cement and water that feels like cement at hundreds of MPH?

Re:In my work, I disagree (2, Insightful)

vlm (69642) | more than 5 years ago | (#28364937)

Maybe I'm being way to literal, but how do the brakes know the difference between cement and water that feels like cement at hundreds of MPH?

Grats, you just passed the test of "programmers have a responsibility to .... mention anything that did not make sense"

Re:In my work, I disagree (2, Informative)

ls671 (1122017) | more than 5 years ago | (#28365773)

Good point, I just talked to my aviation expert and he recalls that incident but we haven't found any links to provide you with. This occurred a long time ago.

My experts says he thinks it wasn't a fly-by-wire system, it was the first tests ran on a prototype equipped with computer assisted ABS brakes and the prototype failed to break at all on landing. He said he thinks the airplane was built by Hawker Siddeley.

Anybody that can provide a link to this is welcomed. I do recall the teacher in school telling this example as a real story in a course for sure.

Maybe brakes were not applied because the wheels were not turning fast enough for the system to assume the plane was touching the ground. This would have occurred due to the presence of a lot of water on the tarmac. They might even have flooded the tarmac on purpose, it was prototype testing.

Re:In my work, I disagree (1)

ImprovOmega (744717) | more than 5 years ago | (#28367107)

It was probably hydroplaning which would leave minimal resistance between the wheels and the water. Cars easily do this at 50mph or so and small planes weigh even less than your average family car. Maybe the wheels weren't spinning fast enough to trip the brake sensor or somesuch.

Pure speculation, but I'm just saying it's feasible.

Re:In my work, I disagree (1)

Fujisawa Sensei (207127) | more than 5 years ago | (#28374931)

Coefficient of Friction?

Re:In my work, I disagree (1)

Mipoti Gusundar (1028156) | more than 5 years ago | (#28364881)

They tried to teach us that programmers have a responsibility to review the specs and mention anything that did not make sense ! ;-)

I most respectuly disagree. Not only is jolly rude to question dobuts about spec, but is also causing costs to be overruninng.

Re:In my work, I disagree (0)

Anonymous Coward | more than 5 years ago | (#28368409)

Bullshit.

First of all, breaks in an aircraft are the same regardless of whether it's fly-by-wire or not. Second, you seem to believe that fly-by-wire means controlled by computer. It doesn't. It means that the controls are electronic (unlike hydraulic). The Concorde, for instance, was analog fly-by-wire.

What you probably refer to is how the precautions Airbus implemented after Lauda Air 004 backfired slightly. One engine in that Boeing 767 deployed reverse thrust mid-flight and consequently the aircraft disintegrated completely. Airbus took a number of measures to make sure it wouldn't happen to their aircraft and consequently made autobreaks more "careful". As a consequence, one A340 overshot a runway since the pilot made a rough landing, which damaged the sensors so that they didn't register that the aircraft was on the ground. Once the pilots realized that the aicraft wasn't automatically breaking, they obviously applied maximum breaking power manually but it was too late.

Now, if you cannot completely prevent failures, it's better to have them fail like that since first of all, overshooting a runway doesn't usually result in fatalities (and not necessarily even a hull-loss) and second, pilots should be alert enough to manually apply breaks, if the automation doesn't.

Re:In my work, I disagree (1)

totally bogus dude (1040246) | more than 5 years ago | (#28371359)

Your post would have been better if you could spell brakes correctly. Although I do like the concept of an "autobreak" system disintegrating the aircraft in mid-air. That would make marketing earn their pay.

Re:In my work, I disagree (1)

blahplusplus (757119) | more than 5 years ago | (#28364749)

"In my work as a programmer, I often have to fill in huge gaps left by the designers, and the designers usually only get the best ideas after they have seen what the engine can do."

But this is more about technology getting in the way of the design and the fact that game design itself is comparitively young, compared to say architecture.

I agree that understanding programming and coding definitely helps a game designer, no doubt about it. The same way that understanding coding and shaders helps artists.

The thing people don't recognize is that the IDEAL designer has slogged through the trenches and gets an idea of what is feasable and what is not. This is why a lot of the greatest designers were programmers (Will Wright, Sid Meier, John carmack).

Building games is about solving mathematical problems and understanding the underlying the underlying guts of what goes into a game, but also it's also about knowing what is fun versus what isn't.

Much of the "fun" in a game comes from tweaking game mechanics things like animation times to make sure everything feels right and whatnot.

Re:In my work, I disagree (0)

Anonymous Coward | more than 5 years ago | (#28365199)

"There are no programming errors, only bad requirements."

Re:Why there is so much emphasis on design (1)

sys.stdout.write (1551563) | more than 5 years ago | (#28364423)

While I agree with your general point, calling programmers a dime-a-dozen is disingenuous. Even superbly designed games can be taken down by technical glitches and poor performance. Success of video games requires competency in all aspects.

Except the sound "artists", of course. Those guys are wankers.

Re:Why there is so much emphasis on design (1)

Hogwash McFly (678207) | more than 5 years ago | (#28364499)

The programmers are just the construction workers who make the design a reality. Both are skilled and necessary, but construction workers without an architect aren't going to build anything of great value.

Good analogy.

Re:Why there is so much emphasis on design (5, Insightful)

UnknownSoldier (67820) | more than 5 years ago | (#28364671)

> Programmers are a dime a dozen. That ain't nothing but ten-cent coding.

Oh please. Ideas are dime a dozen too. Your great idea means jack shit if it isn't implemented.

_Great_ Programmers, and _Great_ Designers, are much, much rarer.

I'm not sure how many years of game programming you have (sounds like you don't have much), but you are ignoring important pieces of game development:

* An architect who is illiterate of the materials used to build the building, will spec something that can't be built. Designers tend to ignore run-time costs because they don't understand the technical reasons why you can't implement their "grand idea." Good AI is not computational cheap.

* Often times, design "hand waves" how systems will work, because they can't be bothered with the actual nitty-gritty details. The devil is in the (implementation) details.

* More and more game designers are doing programming via scripting. Designers for the most part, are clueless about writing _good_ code (due to inexperience), and heaven help the programmer who has to debug their scripts. In the ideal world a designer would work _together_ with a programmer so that BOTH may learn each other's craft.

> the implementation can be farmed off to any body shop.

Uhm, no.

Some things look great on paper, but in practice, are bad ideas.

Sometimes a great execution, will make an OK idea, be good !

I would seriously consider learning more about design and programming before spouting off.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28364961)

The code is the design. See: http://www.developerdotstar.com/mag/articles/reeves_design_main.html

Re:Why there is so much emphasis on design (2, Insightful)

Chris Mattern (191822) | more than 5 years ago | (#28365081)

Both are skilled and necessary, but construction workers without an architect aren't going to build anything of great value.

And an architect without construction workers is nothing but a second-rate sketch artist who draws only (imaginary) buildings.

Re:Why there is so much emphasis on design (3, Interesting)

cowscows (103644) | more than 5 years ago | (#28366757)

Actually getting a building built is way more complicated than either of those two statements. Any complicated building most likely has a good sized team of people working on it. Besides just deciding what the building is going to look like, the architect(s) on the project need to coordinate all of the engineers and consultants (mechanical, structural, landscape, etc.), deal with lots of code/government issues, keep the project within a workable budget, and then make sure the contractor actually builds what was designed.

Sadly, the way the construction business often works (in the US at least), the relationship between the the contractor and the architect/client is often adversarial, because there are lots of clients who want their building to be built basically for free, and lots of contractors looking trying to squeeze every dollar out of the client.

But on occasion I've worked on projects where the contractor is involved from the beginning and generally acting in good faith, and there's a real partnership at work. Those projects are usually much more fun.

I don't remember what my point was. Make sure your kid never decides to be an architect.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28368489)

Working on half a dozen sites a day has taught me a thing or two about architects. When they are around everyone bows to them because they have the prettiest shoes. When they leave the ones with the ugliest shoes follow industry standards to get the job done under budget and on time. The only thing that the designers care about is if it looks like its supposed to and passes inspection. After all when was the last time you saw an architect check to see if those were 2" or 1 5/8" studs off the main hall?

Re:Why there is so much emphasis on design (1)

mdwh2 (535323) | more than 5 years ago | (#28371729)

There is no basis for your analogy. It's just as reasonable to say that the programmer is the architect (the one who puts together the intellectual property), and the builder is analogous to the guy copying discs...

Meanwhile, the designer is the person who tells the architect what he wants, but doesn't actually implement it.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28365243)

A more accurate analogy would be that programmers are the building engineers, grounding any impractical ideas or designs by the architect.

Re:Why there is so much emphasis on design (2, Insightful)

ShakaUVM (157947) | more than 5 years ago | (#28365437)

Programmers are a dime a dozen. That ain't nothing but ten-cent coding.

Designers, though, are the core of any game.

I used to work writing video games, and still do some coding in the CustomTF mod.

We had an expression: anyone can design a game. The hard part is implementing it, and implementing it well.

Look at the open source community for proof.

Three times this year so far, I've had people approach me with an idea for a game, but didn't bring anything to the table themselves. Though to be fair one was a CS guy, and another was mostly useless, but knew some other people willing to work on the project with me if I wanted to do it.

Re:Why there is so much emphasis on design (1)

ShakaUVM (157947) | more than 5 years ago | (#28365497)

Although, to be fair, there are certain principles of game design that are crucial for success.

For me, the main ones are:
1) All options should be interesting. Some can be more powerful or less powerful, or situationally powerful, but no choice should dominate another, and all should be useable by someone familiar with the game. This applies if you're talking about writing the next Starcraft, or creating a P&P roleplaying supplement.

2) Players should be challenged. Players should not be crushed by difficulty, and should be able to play your game even with a low skill level, but there should be a high upper ceiling with what they can do with your game. And easy games are boring.

Re:Why there is so much emphasis on design (1)

caywen (942955) | more than 5 years ago | (#28366485)

I very much agree. Seems to me that one reason game developers integrate LUA is because game designers are at least as big hacks as the developers.

Re:Why there is so much emphasis on design (1)

bzipitidoo (647217) | more than 5 years ago | (#28366367)

The lines between designer and programmer aren't so clear. Consider this anecdote.

One startup I worked for briefly had a design and even a reference implementation. Took them 18 months to get to that point. Their reference implementation was extremely slow, taking about 20 minutes on a small set of data and they wanted someone like me to improve it. As requested, I changed out all the C++ iostream library calls for C stdio library calls, which got the run time down to 12 minutes. That was their idea how things might be sped up-- optimize the reference implementation. Then I studied the code until I understood what it did, and wrote a new version from scratch, using different algorithms. It ran in 2 seconds. Whenever there was a difference in output between the 2 versions, I found that the reference implementation was the incorrect one. That took me a month and a half.

And it was all for nothing. In creating the much faster program, I demonstrated that their mysterious magical technique was closely related to very well known techniques in the areas from which I took the algorithms. And that what they were trying to do had in fact already been tried, and had been a resounding failure. That didn't convince them of the need to try another approach. They had invested too much time in their technique and didn't want to give up on it. So... my program by virtue of being so much faster allowed much more testing. Could check a few thousand sets of data in a hour, instead of a few dozen in a week. These tests also showed that the idea was no good. What did they do about that? Refuse to face facts and kept insisting that if only we could find the right way to prepare the data, it would all work. Tried dozens of transformations on the data. Nothing worked. Not that I really expected any better.

I urged them to try a whole different approach. I offered several ideas. I offered as evidence that this was the direction to go my success on implementing the original idea anew. They protested that they couldn't abandon the original idea, they had sunk too much effort in it, and they could patent it, whereas other ideas likely were already patented by others. They started seeking out ways that might work on which they could bolt on their patentable method. The real work would be done some other way, and their technique would contribute nothing except the ability to get patents. But they still wanted to pretend that the original method would be the workhorse. By then, they were having trouble paying everyone on time. I left.

Patents were quite damaging to the whole effort. They may have been much more receptive to other ideas if not for that issue. May or may not have got somewhere before the money ran out.

Re:Why there is so much emphasis on design (1)

bitrex (859228) | more than 5 years ago | (#28370071)

From the tone of your writing, it sounds like you're still bound by a NDA. God help you if you let out the secret of their completely unworkable method! :D

Re:Why there is so much emphasis on design (1)

caywen (942955) | more than 5 years ago | (#28366421)

I think that seriously understates the importance of the actual brains behind making something a reality. You can make this same point without denigrating the very people who actually wrote LUA.

Re:Why there is so much emphasis on design (4, Insightful)

Dutch Gun (899105) | more than 5 years ago | (#28366437)

Programmers are a dime a dozen. That ain't nothing but ten-cent coding.

I feel a bit silly responding to obvious flamebait, but it's been modded insightful for some bizarre reason. As a professional game programmer, I feel the need to respond. A *professional* game developer understands and appreciates the values of his co-workers in ALL disciplines. There's no room for some stupid 'us' vs. 'them' mentality. I'm fortunate to work with some brilliant artists and designers. We programmers produce not only the game code, but also internal tools that are essentially "force multipliers" for them. In return, they use our code and tools and produce cool and amazing things we would never have thought of.

They are the ones who shape and craft the game, much like I.M. Pei designs masterful works of architecture. The programmers are just the construction workers who make the design a reality. Both are skilled and necessary, but construction workers without an architect aren't going to build anything of great value.

This is Slashdot. You need a car analogy.

You're claiming the steering wheel (designer) is the most important part of the car, because without it, we couldn't control the car (direct the game development). But there are so many vital systems to the car - removing any one of these components makes the car useless, so it's silly to argue which one is 'most important'. What good is the car without wheels? Without an engine? Or brakes, or a body? Even the more minor roles (headlights and tail lights) are critical for specific circumstances.

Yes, coding is necessary, and this book has plenty of code. But if you are serious about creating a game, it's the design that matters, the implementation can be farmed off to any body shop.

I wish you well with that approach. Unless you take ALL aspects of game development seriously, you're doomed to failure.

Re:Why there is so much emphasis on design (1)

whiplashx (837931) | more than 5 years ago | (#28366651)

Do you work in the games industry?! That's a really weird interpretation of "design." (I work at a AAA game studio, by the way)

There are so many ways I want to go on this one:

1) That's a really naive interpretation. If you're going to use an architecture analogy, you can't compare the programmers to construction workers. Level designers and combat designers are the construction workers. Do you even know what a civil engineer does? System designers and Programmers are more like that. The Lead Designer is more like an architect, and he wouldn't have a clue what was possible if it weren't for the Lead Programmer or tech director.

2) DAIKATANA.

3) Programmers make way more money than the average designer (check salary surveys), because it takes years of training to even go near games. There are high and low level designers, and the majority of design are low level and make less.

4) Do you realize that the majority of man-hours of grunt work are spent on tech design, level design, and combat design?

That's like saying "Racecar drivers are the core of racing. Engineers are a dime a dozen." Or "Screenwriters are the core of film. Directors are a dime a dozen." You think programmers just sit there building things that other people told them to? That's so incredibly misinformed.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28367029)

I can tell you haven't worked with any good programmers, and have spent far too much time talking to starry-eyed kids full of ideas, and no practical way to implement them.

Show a little love for the programmers. They are the engineers and the brain surgeons of game development.

Incidentally, I work as an artist in the game industry.

Re:Why there is so much emphasis on design (1)

mdwh2 (535323) | more than 5 years ago | (#28371719)

I disagree. Judging by forums like GameDev, programmers are most in demand, then artists, and then least of all, designers. There's no end of wannabe designers who are "I've got a great idea for my game! Now can someone please write it for me?" Posts that say "I'm a programmer looking for someone to design me something" are unheard of.

Now sure, you might say the problem is that these people aren't any good, but you could make the same comment about programmers - that skilled programmers are rare just as skilled designers are.

Design and programming often go hand in hand - often you won't know if ideas are viable unless you've prototyped it. And even if someone else is doing the coding, you still need an understanding of programming yourself in order to know what is feasible, and how best to approach something.

Yes, good design is important, but don't make the mistake of talking about designers and programmers as if they are separate beasts. Non-programming designers are just the endless number of people who think they have a great "idea".

Re:Why there is so much emphasis on design (1)

EnglishTim (9662) | more than 5 years ago | (#28373397)

What an apt username.

Re:Why there is so much emphasis on design (0)

Anonymous Coward | more than 5 years ago | (#28373797)

Yes, coding is necessary, and this book has plenty of code. But if you are serious about creating a game, it's the design that matters, the implementation can be farmed off to any body shop.

Yeah, you keep believing that....

Next up: (2, Funny)

feepness (543479) | more than 5 years ago | (#28364231)

Having fun: The methodical way.

Re:Next up: (5, Funny)

DoofusOfDeath (636671) | more than 5 years ago | (#28364305)

Having fun: The methodical way.

Translated from the original German.

Atom the smallest unit? (1)

halcyonandon1 (1568125) | more than 5 years ago | (#28364275)

I don't understand why the author calls the foundational elements of game design atoms... I mean.. logically, an atom in this context would imply the simplest, well-formed concepts of game design that cannot be broken down any further. Concepts like "UI, inventory, power-ups, puzzles, conflicts" are generally abstract and can most certainly be broken down or interpreted differently. So, if the author needs a catchy buzzword label to define the content elements of his book... why choose a word that has scientific, logical and mathematical meaning? Meaning that conflicts with the intended meaning this label is supposed to define.

Re:Atom the smallest unit? (1)

causality (777677) | more than 5 years ago | (#28364409)

I don't understand why the author calls the foundational elements of game design atoms... I mean.. logically, an atom in this context would imply the simplest, well-formed concepts of game design that cannot be broken down any further. Concepts like "UI, inventory, power-ups, puzzles, conflicts" are generally abstract and can most certainly be broken down or interpreted differently. So, if the author needs a catchy buzzword label to define the content elements of his book... why choose a word that has scientific, logical and mathematical meaning? Meaning that conflicts with the intended meaning this label is supposed to define.

I think it's a requirement of buzzword-labels that they either make no sense or dilute the meaning of the original word, or both.

Re:Atom the smallest unit? (2, Interesting)

vlm (69642) | more than 5 years ago | (#28365085)

I don't understand why the author calls the foundational elements of game design atoms.

I think it's a requirement of buzzword-labels that they either make no sense or dilute the meaning of the original word, or both.

Book author is hot for Lua. Lua's data structures innards are kind of lisp list-ish and one funny part of the wikipedia article explains that in small part, they invented Lua because lisp's syntax is "too hard". Lisp lists are made of atoms. So, to summarize, author likes Lua, Lua's list innards are lispish, lisp lists are made of atoms.

The author probably couldn't help himself but to call the individual foundational elements of game design, atoms.

Re:Atom the smallest unit? (1)

halcyonandon1 (1568125) | more than 5 years ago | (#28367979)

lolz! =31337 k-rad hax0r 4ut|-|0r?

Oh how i wish the author liked lolcode instead.

HAI
Can Has GAME DESIGN In Mah BOOK?
Gimmeh ATOMS
I Has a UI Itz a ATOM
I Has A POWER-UP Itz a ATOM
I Has a CONFLICTS Itz a ATOM

LOL UI In Mah Bukkit R CONFLICTS

YOU Seez "my opinion"

KTHXBYE

Best Game Design Advice (2, Insightful)

kenp2002 (545495) | more than 5 years ago | (#28364455)

"Make Games, Not Product."

It is a subtle and deepy philisophical statement. Doom 3 was a product, a game engine to be specific. Same with Unreal 2. Both were lousy games.

Technologically they were impressive yes, but a game, not so much.

You have to go in making a GAME. That will shape the entire development process versus going into it as a product otherwise the video game industry will burn itself out just like the movie industry... wait... shit.. We complain about how remakes and sequels in movies but video games? Lets make another ZELDA... crap.. too late...

Everyone should make 2 games (4, Insightful)

kenp2002 (545495) | more than 5 years ago | (#28364567)

Everyone taking programming should learn to program two specific games in the course of their curriculum:

TETRIS (Collision detection, input , output, real time game loop, sound, etc.. 2D collision)

Multiplayer FPS Clone (3D programming, basic modelling, networking, latency management, using established middleware, map design)

That will teach those kids that said, "When am I ever going to use Linear Algebra in real life!"

Whippersnappers...

Re:Everyone should make 2 games (1)

module0000 (882745) | more than 5 years ago | (#28365227)

Writing a [decent] multiplayer FPS clone might be a bit much for a few semesters.

Re:Everyone should make 2 games (1)

Ifandbut (1328775) | more than 5 years ago | (#28365539)

What would you recommend instead? I am really looking for suggestions so once I finish my tetris clone I can move on to something else, but I think a multiplayer fps clone might be a few steps too far.

Re:Everyone should make 2 games (1)

kenp2002 (545495) | more than 5 years ago | (#28372429)

Grab the Quake 1 engine from ID. Just make a regular square map with some obsticals (think a paint ball court.)

There is enough documentation on the internet to get started. Another option is the DarkBASIC set that also helps work through a 3D FPS.

Don't worry about artistic quality, you are looking at technical implementation.

Re:Everyone should make 2 games (1)

averner (1341263) | more than 5 years ago | (#28365927)

It could be done as a group project.

Re:Everyone should make 2 games (1)

ImprovOmega (744717) | more than 5 years ago | (#28367141)

Dear god please no. It's hard enough getting through a basic group project in college. Something that would basically require a design team, management oversight, and 8+ hours a week from each person on the team would be...well, let's just say I wouldn't expect a high pass rate in that class - it would only take one screw-off in that team to fail your whole team.

And unlike the small group project stuff from college it wouldn't be an option to just have two people do all the work so they don't fail too.

Re:Everyone should make 2 games (1)

kenp2002 (545495) | more than 5 years ago | (#28372435)

YOu can grab the quake 1 engine from ID software and get a basic FPS game up in about 5 hours solo. This is suggested as an excercise in using middleware, not coding a game engine from scratch.

Re:Everyone should make 2 games (1)

selven (1556643) | more than 5 years ago | (#28365627)

2D sword-and-sorcery type RPGs are easy to make and fun. You get to apply the pythagorean theorem (distance calculations), trigonometry (calculating which angle the enemies face), AI (following, going around corners), and all the basic game making concepts.

Re:Everyone should make 2 games (1)

bitrex (859228) | more than 5 years ago | (#28370151)

Programming a basic 2D game was a task that a professor of mine in college used to jazz up one of the less glamorous programming courses: Data Structures and Algorithms. Besides the applications you mentioned, one can also apply the concepts of data structures (dynamic map generation, inventory and item management) and algorithms (decision trees, finite state machines to keep track of mob behavior, shortest path algorithms, etc.)

Re:Everyone should make 2 games (1)

kenp2002 (545495) | more than 5 years ago | (#28372537)

True everyone should also have to take a crack at path finding at least once. That and the Travelling Salesman algo.

Re:Everyone should make 2 games (1)

Quirkz (1206400) | more than 5 years ago | (#28365857)

Bah, I just stick to browser/text based. Without the need for fancy animation, I'm the writer, programmer, AND creative developer. It's a niche market, as I rely on players who enjoy good writing and a witty joke more than eye candy, and who can appreciate the rewards of a classic RPG over action, but then you don't need to know much more than HTML, a little programming, and enough to tie some stuff to a database.

Re:Everyone should make 2 games (0)

Anonymous Coward | more than 5 years ago | (#28366847)

If you're using collision detection (even 2D) to make a Tetris clone work, you're doing it completely wrong. Maybe you were thinking of Space Invaders?

Re:Everyone should make 2 games (0)

Anonymous Coward | more than 5 years ago | (#28370815)

If you need 2D collision for your TETRIS clone, you either use very weird shapes for people with IQ over 300 or you are doing something wrong.
Also you learn nothing writing FPSs(Which nowadays would use OpenGL or DirectX), you learn to appreciate Algebra when you design the 3D engines.
I wonce wrote a Raytracer. It was fun to apply the maths from school to something useful. Still I don't feel that learning them in school was worth anything - I can find anything I need from Wikipedia and Google when I need it and turn it into a working application in minutes.
Leave the real boring maths for math majors, as a programmer, I have never "applied" any math that didn't involve 1s and 0s.

Re:Everyone should make 2 games (0)

Anonymous Coward | more than 5 years ago | (#28372329)

The collision detection required for Tetris is completely different for the collision detection required for more 'continuous' virtual spaces.
Are you a game designer per chance?

Sure... (0)

Anonymous Coward | more than 5 years ago | (#28375537)

...but what about calculus they required for comp-sci when there were no interesting game-related courses?

Article layout (0, Offtopic)

johannesg (664142) | more than 5 years ago | (#28364979)

What's with the weird

layout

of the article?

When is scripting really necessary? (1, Interesting)

caywen (942955) | more than 5 years ago | (#28365275)

I think in many cases, embedding a scripting engine is overkill. The only scenarios I can think of where it's advantageous are:

- If your bots/NPC behavior is sophisticated enough that they need their own programs that run concurrently as mini-virtual machines.
- If your game accepts user generated content, and a simple scripting language becomes an end user feature.
- If your team indeed is really big and you have non-programmers designing game logic.

I'm sure there are more, but for more than one project I've worked on, I ended up abandoning scripting altogether because it just wasn't worth the complexity or performance hit.

Re:When is scripting really necessary? (1)

beej (82035) | more than 5 years ago | (#28367129)

It's also useful if you want to patch or edit the game at runtime--this can really speed iterations.

But I agree that it can be overkill. Casual games I write often either lack a scripting language, or are entirely written in a scripting language. :-)

Re:When is scripting really necessary? (1)

am 2k (217885) | more than 5 years ago | (#28367315)

In more complex games, scripting can have the additional advantage that you don't need to recompile (or with good engines, even restart) the game when changing the script. That can be a huge timesaver.

Additionally, you can get in-game console parsing/execution (think Quake3) for free when you integrate your scripting engine with that.

Re:When is scripting really necessary? (1)

caywen (942955) | more than 5 years ago | (#28368937)

I always found that with complex games, the number of scripts starts to grow, and then at some point I wish I had a script verifier to make sure I didn't make any typos. And then, I start hunting for ways to make the script faster. And then I realize that what I really want is a compiler that produces native code. Which then leads me to writing the logic in C++.

So, I don't see any advantage at all in not recompiling.

Quotes (1)

YourExperiment (1081089) | more than 5 years ago | (#28366121)

Looks like someone needs to learn that the <quote> tag isn't used for putting quotes around things.

Re:Quotes (1)

Aeonite (263338) | more than 5 years ago | (#28367253)

<q> had naught to do with it.

Re:Quotes (1)

YourExperiment (1081089) | more than 5 years ago | (#28367745)

Just screwy /. CSS or something then? It seems to be displaying fine now.

Nice review anyway - although I'm still trying to work out what the "catlike typing" sentence means. :)

WHY? (1)

Cornwallis (1188489) | more than 5 years ago | (#28368221)

Is this review here?! The book was released 3 years ago!

Re:WHY? (1)

Aeonite (263338) | more than 5 years ago | (#28368707)

As I mention in the review, I think the book is still relevant since Lua is still relevant. As not many other design books (that I am aware of) are Lua-focused like this, that might be a selling point for some people.

Yeah, books have sell by dates. (0)

Anonymous Coward | more than 5 years ago | (#28379999)

I think "the Origin of Species", "Pincipia Mathematica" and such other ugly old books are already rotten and stink to high heavens....

Game Design vs. Game Theory (1)

PegamooseG (991448) | more than 5 years ago | (#28376391)

Might be an interesting read. I may not be as interested in the programming side, but I might find some of the other topics to be beneficial.

Can anyone suggest a good book covering Game Theory? I'm looking for something that can provide me with a better grasp of the mathematics of establishing challenges in a game. Ex. Suppose there is a board game with pile of cards to draw from (like Monopoly). The deck has positive and negative game factors. What is the probability Negative should show up over Positive to make the game challenging enough, but not too challenging? And, at what strength do these factors makes the game too easy/difficult? And, how often should the cards be drawn?

But, I'm not just interested in this for board games. I'm interested in this for computer games, too. For RPGs, how does one adequately scale NPCs the players' progression? How often should encounters happen? How much and how often should the player be rewarded? Etc.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?