This entry was posted on Wednesday, November 11th, 2009 and is filed under _. You can follow any responses to this entry through RSS 2.0.
Both comments and pings are currently closed.
It seems that, after dozens of betas, and dabbling a bit in indy game devlopment, I had assembled a fairly accurate guess about what goes on with the other side of things.
MMORPGs certainly changed the rules a bit when it comes to dealing with bugs.
In a single player game, if one of your thousands of players happens to find an obscure game breaking bug, no problem. That player reloads the save game he had before running into the bug and reports it, hopefully you’ll have the bug fixed before anybody notices.
In an MMORPG, if one player out of thousands of players happens to find something that is major game breaking, big problem. That single player now has the power to ruin the game for thousands of other players, he’s more likely than not too dumb and/or greedy to care. There may not be a rollback for fear of backlash, and the game is never the same again even after the bug is fixed.
This is something you can prepare for if you have a robust logging system that is capable of pulling a series of quick reversals (risking more hard feelings in exchange for not completely rolling back the game). However, I wager most game programmers don’t realize the necessity unless they’ve been through an MMORPG’s complete lifespan… and still managed to harbor of flame that still considers a game’s balance remotely sacred.
It’s unfortunate that class balance is not up there with game-shattering bugs, when it’s been a major contention of many MMOs within the first week and years after release.
1) What I’ve noticed over the years is that it’s not so much the bug that drives gamers crazy, as it is the perceived lack of being heard and recognized in relaying the bug issue that really pisses them off. I mean most software development teams utilize bug tracking databases to create an effective working relationship with one another. In effect, situational awareness of the team is maintained by creating a shared mental model amongst everyone. My question is why aren’t customers a part of this? Obviously not for all bugs but say at least the top 10 critical bugs. If these top bugs were placed somewhere in plain view (i.e. stickied at the top of the Support forum), I’d swear you’d have a lot less frustrated users. This same principle relates to relationship problems. Often when there is a conflict, most people say they are frustrated because it appears as though the other person isn’t listen to them and recognizing their concerns.
2) As the cost for games development skyrockets and budgets in these hard times dwindle, what I’m wondering is why aren’t we seeing more sandbox games? Yes they are obviously much harder to create, yet at the same time wouldn’t their after launch costs be dramatically less because the players themselves create the content and interaction (versus a game like WoW where developers have to continually be creating content and expansion packs).
@Freakazoid
Whatever you do regarding class balance, there’s going to be a vocal lobby of players insisting that it’s a “game-shattering bug” in its current state.
Except where there’s hard evidence of a major problem (e.g. metrics), it’s best to file that one alongside the “I can’t run this game with max graphics on the 486 PC I got off Craigslist” and the “I get lag, your servers are borked – what, no, I haven’t checked with my ISP and my brother downloading 200 GB of pr0n at the same time has NOTHING to do with it!”
There are bugs, and then there are BUGS. Most MMO’s released (and not released) these days are so full of massive bugs that do not get fixed because the team was biting off more than it could chew making an MMO in the first place.
Sandbox games being “much harder to create” is why we’re even less likely to see more of them any time soon. The biggest impact of the recession on MMO development is the drying up of investment funds, which translated directly into no more risky/hard things.
As for the topic at hand – bugs are endemic to software of all categories because NOBODY (outside of a very few life-critical applications perhaps) is willing to pay what it actually costs to make bug-free software. That goes for everything from games to browsers (bought any of them lately?) to Windows itself.
Getting software anywhere even close to bug-free requires far more time invested in rigorous specification and design prior to writing a single line of code, extensive testing design and development concurrent and integrated with the design and development of code, and peer review of not only every line of code, but every design decision and specification point. Writing bug-free software is almost trivial compared to specifiying it.
The alternative road-most-often-travelled is to compile vague (and often contracdictory) specifications at best, hand them off to a coder who is supposed to then interpret them accurately, fill in all the blanks in what to do for all the cases outside of the “this is how it’s supposed to go” obvious ones that might have been written down if you’re lucky, design a solution that works within your existing architecture, implement the solution, test the results, and oh by the way, document everything since specifications didn’t and there wasn’t a real design phase and oops, now that you’re almost done, here are 4 more requirements we missed which break everything you’ve done so far. Oh, and speed is of the essence. The coder doesn’t actually get any details of what he’s supposed to actually produce until halfway through the time allotted for him to be coding on the project manager’s gannt chart due to the specifications being that late, which is why the software design and analysis phase was completely skipped. And the ship date has alreadly slipped twice and can’t be changed again because marketing has already spent 2/3 of their budget.
Oh, and every time the coder is late with his executable deliverables is a black mark on his record and career, but delivering buggy undocumented code that at least compiles and runs gets the managers off his back immediately and the blame for all the future problems that come up in the project because of that buggy code are spread around to the whole team including the despised Q/A department if there is one, instead of all resting on the shoulders of the coder or the designer or specifier who originally introduced the bug.
Please keep posting that a column is published at mmorpg.com so it “appears” on my feed. I enjoy reading them, but I don’t enjoy feeding to mmorpg.com.
Obviously we have some tools now in the field of Software Engineering which should make the development less of a headache: we have the processes, like Scrum, Feature/Test Driven Development, Extreme Programming and we have proven, scalable and cheap parts like RDBMS for data persistence, excellent networking middleware for object replication (e.g. Ice) and a variety of rendering/game engines (Gamebryo is not one of them and one is top notch and cheap).
Though we can implement a game idea with different options:
[ ] Try to copycat WoW.
[ ] Have flawed game design (PvP as afterthought, no balance, etc).
[ ] Choose the wrong technology (ware and processes) and the wrong people to do it.
[ ] Shoot yourself in the head by trying to reinvent the wheel and do all the programming stuff by yourself instead of buying working solutions.
[ ] Let everyone work 80h/week.
[ ] Try to design the system while we code it.
I do not believe in “BUGs aren’t easily fixed”, you wrote about “a mess can’t be fixed”. Developers should be able to fix a bug within hours, if they aren’t, they need to relearn programming/software development, writing clean code and fixing bugs is part of it.
I never worked in the game industry as a software developer, but with 15 years of professional experience (I am 32) and most of it in software development I can say that often it’s just done wrong, by the wrong people and with the wrong tools.
Some software is just a bloated piece of shit, fixing bugs is hard then.
Some software is so beautifully designed and implemented, fixing bugs is a matter of hours.
Count Nerfedalot: My emphasis on sandbox games being harder to create was taken from a perspective of intelligence not manpower. WoW type games require tons of content to be created on a continual basis, thus they usually need huge teams working on them. Sandbox games complexity comes from interconnecting the different gameplay elements in the right way. It’s a difficult mental task yes but not something that requires a huge team to figure out. Actually a smaller focused team would probably do a much better job of it.
As for creating a bug free game, I agree that’s impossible which I think only stresses the importance more of creating a good relationship with your customers so that they can realize this and help you find these bugs in a way so that both sides benefit from it.
As for the second half of your response, this only drives my point home even more so. There seems to be a strong lack of communication and process within games development and I think the industry can learn a lot from business practices outside of the games industry. This does seem to be getting through, as some previous IGDA conferences had guest speakers from outside the games industry (i.e. business execs) but it still doesn’t seem to be progressing at a rate that many of us would like to see. Yes, most definitely, you probably do get the exceptional studio that does “get it” but they still seem to be far and few between.
EpicSquirt’s comments about fixing bugs is exactly what I’m getting at here. There are some excellent practices outside the games industry that could be utilized within it but there seems to be this perception that software development within the games industry is “unique” in some way and thus anything outside of it isn’t applicable or practical. While that may be true to some degree, there are still a ton of common practices that can be easily carried over and still work extremely well within it.
Maybe what these aspiring developers aught to do is think a lot smaller until they’re ready to go massively multiplayer. One must walk before they can run, after all. When Square-Enix and Blizzard tried their hand at making MMORPGs, they were quite successful, which shows that a certain previous knowledge of making quality single player games can be leveraged to make a quality MMORPG.
Two phrases that every MMO programmer uses liberally: “That’s not a bug, that’s a feature” (i.e. “Go away, I’m busy”) and “Broken as designed” (i.e. “It’s exactly what the designer asked for, go bother them about it”). But seriously…
“Developers should be able to fix a bug within hours, if they aren’t, they need to relearn programming/software development, writing clean code and fixing bugs is part of it.”
Not so much with an MMO, at least not in general. Sure, the small, easily reproduced bugs that only affect a single code module or system… But the ones that are race conditions, only happening on a heavily-loaded server, involving tens of clients performing some specific action, well these take a *little* longer than “a few hours” to fix.
First you have to replicate the conditions. Often this is impossible to do internally (don’t kid yourself thinking there are hundreds of QA testers at your beck and call). Then you find that the server executable with extra logging / profiling / debugging code doesn’t behave like the live server. And then there’s digging into the multiple layers of interacting systems to find out what’s going on. Keep in mind you often can’t run a server process inside an interactive debugger, because sitting at a breakpoint for more than a few seconds will most likely cause the rest of the system to do bad things. And, you also may have to deal with two very different codebases – the C++ “server proper” and “game code” written in a scripting language (that doesn’t have a real debugger…not that you could use it).
But, after examining a few core files and lots of time spent reading server logs, *maybe* you can determine the problem and come up with a fix. Assuming, of course, that it’s not a issue that is endemic to the underlying technical design (e.g. timing-related, or due to asynchronous processing), or a hardware failure that’s difficult to detect. Then you’re basically screwed, and the best to hope for you is to try to minimize the chance of occurrence.
So yeah, if you haven’t been in those trenches before, you really don’t know what it’s like. It’s no wonder that even catastrophic failures that only happen “once in a blue moon” are just left alone.
One thing I’d add to that, is that code is often fragile, and game code is often particularly fragile, given that for much of the history of game development it has been a “get it working and get it out the door, then never touch the code again” model.
I know I’ve seen some head-scratchingly bizarre regressions in MMOs, where areas not touched in any way by a patch have somehow been broken by it. I shudder to think how much special-casing and “magic” code there must be in the years-old codebases of major MMOs.
“But the ones that are race conditions, only happening on a heavily-loaded server, involving tens of clients performing some specific action, well these take a *little* longer than “a few hours” to fix. First you have to replicate the conditions. Often this is impossible to do internally…”
Actually those are most often one line fixes. If a company cannot test their software over customer load, a solved problem, then they a just choosing to take that risk.
“But, after examining a few core files and lots of time spent reading server logs, *maybe* you can determine the problem and come up with a fix.”
Logging is just another feature of a software product or system that is created. Good logging is another solved problem.
“So yeah, if you haven’t been in those trenches before, you really don’t know what it’s like.”
The books and information on being in the trenches is not much different then being in the trenches. It is just less frustrating reading about the commons problem then experiencing them first hand. If a software company even thinks they need to be in the trenches for anything they need to stop and get off that road. All those roads lead to dead ends.
The good thing is all of these issues have been solved before and continue to be solved by old and new companies. Still many places like to reinvent the wheel or cut corners by not implementing known solutions.
“The good thing is all of these issues have been solved before and continue to be solved by old and new companies. Still many places like to reinvent the wheel or cut corners by not implementing known solutions.”
The good thing is all of these issues have been solved before and continue to be solved by old and new companies. Still many places like to reinvent the wheel or cut corners by not implementing known solutions.
The trouble with being a game designer is that reinventing the wheel is essentially your job… at least if you plan to make something novel.
It’s lose/lose, don’t reinvent the wheel and players complain your game is boring. Do reinvent the wheel, and forging new ground leaves lots of room for bugs to creep in.
Of course, that wouldn’t be a problem if it weren’t for deadlines forcing games to market before all the kinks are ironed out.
On the flip side of that, if you’ve got unlimited budget and blue light to refine your game forever, it’s very shaky ground as to whether or not you’ll ever release anything. Duke Nukem Forever. Starcraft 2. Diablo 3.
I am pretty sure he meant the technical side of implementing. There is really little reason wasting your resources on writing every piece of software on your own today.
Dunno whether to be amused or sad at Count Nerfedalot’s post. Because, in my experience, the problem is never that the designer doesn’t write the spec (being the designer in question, my experience is obviously limited to what *I* do). It’s that nobody except the other designers and the QA team ever *reads* the spec.
I’ve got fond memories of meetings in which I was asked questions about the design that were clearly and completely answered in the very spec we were holding the meeting to review — the very spec that had been written weeks before and circulated to all the relevant people. I’ve recently been in a meeting where I was asked a question about the design that was answered, with a major section header identifying it, on the very same page we were at that moment reviewing.
And more than once I’ve mentioned a system in passing while reviewing a different document entirely, and had the devs claim no knowledge of the system mentioned. And get angry at me that Design had, once again, added something new to the game after the fact. The subsystem in question had been reviewed (thoroughly, over the course of several dull hours) months beforehand by the very same devs who were now telling me they’d never heard of it. And they’d signed off on it. And requested some changes to make the system easier to implement. Changes that I happily made.
Maybe wherever you’ve worked involves lazy designers, but my experience — across multiple projects and many, many developers — is that getting a dev to actually go to the enormous effort to spend 20 minutes reading the spec is a nearly impossible task.
The really good devs will at least come talk to me when they finally read the spec and discover that parts of it will be too difficult to implement. But even these devs, the cream of the crop, the devs that every designer dreams of (I’ve worked with maybe 4 of these folks total ever) won’t read the spec ahead of time. They wait until the project management system says it’s time to start coding the feature.
Frankly, blaming the designers is bullshit. When the designer fucks up, that’s not a bug, it’s a bad game.
#1 by geldonyetich on November 11th, 2009
It seems that, after dozens of betas, and dabbling a bit in indy game devlopment, I had assembled a fairly accurate guess about what goes on with the other side of things.
MMORPGs certainly changed the rules a bit when it comes to dealing with bugs.
In a single player game, if one of your thousands of players happens to find an obscure game breaking bug, no problem. That player reloads the save game he had before running into the bug and reports it, hopefully you’ll have the bug fixed before anybody notices.
In an MMORPG, if one player out of thousands of players happens to find something that is major game breaking, big problem. That single player now has the power to ruin the game for thousands of other players, he’s more likely than not too dumb and/or greedy to care. There may not be a rollback for fear of backlash, and the game is never the same again even after the bug is fixed.
This is something you can prepare for if you have a robust logging system that is capable of pulling a series of quick reversals (risking more hard feelings in exchange for not completely rolling back the game). However, I wager most game programmers don’t realize the necessity unless they’ve been through an MMORPG’s complete lifespan… and still managed to harbor of flame that still considers a game’s balance remotely sacred.
#2 by gyrus on November 11th, 2009
Hard to know whether to comment here or there… maybe I will alternate week to week?
#3 by Freakazoid on November 11th, 2009
It’s unfortunate that class balance is not up there with game-shattering bugs, when it’s been a major contention of many MMOs within the first week and years after release.
#4 by Informis on November 11th, 2009
Wow, you _ran_ it?? For me it’s 1) compile, 2) check-in, 3) go home early.
#5 by Nollind Whachell on November 11th, 2009
Couple of points on this subject.
1) What I’ve noticed over the years is that it’s not so much the bug that drives gamers crazy, as it is the perceived lack of being heard and recognized in relaying the bug issue that really pisses them off. I mean most software development teams utilize bug tracking databases to create an effective working relationship with one another. In effect, situational awareness of the team is maintained by creating a shared mental model amongst everyone. My question is why aren’t customers a part of this? Obviously not for all bugs but say at least the top 10 critical bugs. If these top bugs were placed somewhere in plain view (i.e. stickied at the top of the Support forum), I’d swear you’d have a lot less frustrated users. This same principle relates to relationship problems. Often when there is a conflict, most people say they are frustrated because it appears as though the other person isn’t listen to them and recognizing their concerns.
2) As the cost for games development skyrockets and budgets in these hard times dwindle, what I’m wondering is why aren’t we seeing more sandbox games? Yes they are obviously much harder to create, yet at the same time wouldn’t their after launch costs be dramatically less because the players themselves create the content and interaction (versus a game like WoW where developers have to continually be creating content and expansion packs).
#6 by Tremayne on November 12th, 2009
@Freakazoid
Whatever you do regarding class balance, there’s going to be a vocal lobby of players insisting that it’s a “game-shattering bug” in its current state.
Except where there’s hard evidence of a major problem (e.g. metrics), it’s best to file that one alongside the “I can’t run this game with max graphics on the 486 PC I got off Craigslist” and the “I get lag, your servers are borked – what, no, I haven’t checked with my ISP and my brother downloading 200 GB of pr0n at the same time has NOTHING to do with it!”
#7 by Melf_Himself on November 12th, 2009
There are bugs, and then there are BUGS. Most MMO’s released (and not released) these days are so full of massive bugs that do not get fixed because the team was biting off more than it could chew making an MMO in the first place.
#8 by Count Nerfedalot on November 12th, 2009
@Nollind Whachell
Sandbox games being “much harder to create” is why we’re even less likely to see more of them any time soon. The biggest impact of the recession on MMO development is the drying up of investment funds, which translated directly into no more risky/hard things.
As for the topic at hand – bugs are endemic to software of all categories because NOBODY (outside of a very few life-critical applications perhaps) is willing to pay what it actually costs to make bug-free software. That goes for everything from games to browsers (bought any of them lately?) to Windows itself.
Getting software anywhere even close to bug-free requires far more time invested in rigorous specification and design prior to writing a single line of code, extensive testing design and development concurrent and integrated with the design and development of code, and peer review of not only every line of code, but every design decision and specification point. Writing bug-free software is almost trivial compared to specifiying it.
The alternative road-most-often-travelled is to compile vague (and often contracdictory) specifications at best, hand them off to a coder who is supposed to then interpret them accurately, fill in all the blanks in what to do for all the cases outside of the “this is how it’s supposed to go” obvious ones that might have been written down if you’re lucky, design a solution that works within your existing architecture, implement the solution, test the results, and oh by the way, document everything since specifications didn’t and there wasn’t a real design phase and oops, now that you’re almost done, here are 4 more requirements we missed which break everything you’ve done so far. Oh, and speed is of the essence. The coder doesn’t actually get any details of what he’s supposed to actually produce until halfway through the time allotted for him to be coding on the project manager’s gannt chart due to the specifications being that late, which is why the software design and analysis phase was completely skipped. And the ship date has alreadly slipped twice and can’t be changed again because marketing has already spent 2/3 of their budget.
Oh, and every time the coder is late with his executable deliverables is a black mark on his record and career, but delivering buggy undocumented code that at least compiles and runs gets the managers off his back immediately and the blame for all the future problems that come up in the project because of that buggy code are spread around to the whole team including the despised Q/A department if there is one, instead of all resting on the shoulders of the coder or the designer or specifier who originally introduced the bug.
#9 by Ravious on November 12th, 2009
Please keep posting that a column is published at mmorpg.com so it “appears” on my feed. I enjoy reading them, but I don’t enjoy feeding to mmorpg.com.
Danke!
#10 by EpicSquirt on November 12th, 2009
Obviously we have some tools now in the field of Software Engineering which should make the development less of a headache: we have the processes, like Scrum, Feature/Test Driven Development, Extreme Programming and we have proven, scalable and cheap parts like RDBMS for data persistence, excellent networking middleware for object replication (e.g. Ice) and a variety of rendering/game engines (Gamebryo is not one of them and one is top notch and cheap).
Though we can implement a game idea with different options:
[ ] Try to copycat WoW.
[ ] Have flawed game design (PvP as afterthought, no balance, etc).
[ ] Choose the wrong technology (ware and processes) and the wrong people to do it.
[ ] Shoot yourself in the head by trying to reinvent the wheel and do all the programming stuff by yourself instead of buying working solutions.
[ ] Let everyone work 80h/week.
[ ] Try to design the system while we code it.
I do not believe in “BUGs aren’t easily fixed”, you wrote about “a mess can’t be fixed”. Developers should be able to fix a bug within hours, if they aren’t, they need to relearn programming/software development, writing clean code and fixing bugs is part of it.
I never worked in the game industry as a software developer, but with 15 years of professional experience (I am 32) and most of it in software development I can say that often it’s just done wrong, by the wrong people and with the wrong tools.
Some software is just a bloated piece of shit, fixing bugs is hard then.
Some software is so beautifully designed and implemented, fixing bugs is a matter of hours.
Both does exist.
#11 by Nollind Whachell on November 12th, 2009
Count Nerfedalot: My emphasis on sandbox games being harder to create was taken from a perspective of intelligence not manpower. WoW type games require tons of content to be created on a continual basis, thus they usually need huge teams working on them. Sandbox games complexity comes from interconnecting the different gameplay elements in the right way. It’s a difficult mental task yes but not something that requires a huge team to figure out. Actually a smaller focused team would probably do a much better job of it.
As for creating a bug free game, I agree that’s impossible which I think only stresses the importance more of creating a good relationship with your customers so that they can realize this and help you find these bugs in a way so that both sides benefit from it.
As for the second half of your response, this only drives my point home even more so. There seems to be a strong lack of communication and process within games development and I think the industry can learn a lot from business practices outside of the games industry. This does seem to be getting through, as some previous IGDA conferences had guest speakers from outside the games industry (i.e. business execs) but it still doesn’t seem to be progressing at a rate that many of us would like to see. Yes, most definitely, you probably do get the exceptional studio that does “get it” but they still seem to be far and few between.
#12 by Nollind Whachell on November 12th, 2009
EpicSquirt’s comments about fixing bugs is exactly what I’m getting at here. There are some excellent practices outside the games industry that could be utilized within it but there seems to be this perception that software development within the games industry is “unique” in some way and thus anything outside of it isn’t applicable or practical. While that may be true to some degree, there are still a ton of common practices that can be easily carried over and still work extremely well within it.
#13 by geldonyetich on November 12th, 2009
Maybe what these aspiring developers aught to do is think a lot smaller until they’re ready to go massively multiplayer. One must walk before they can run, after all. When Square-Enix and Blizzard tried their hand at making MMORPGs, they were quite successful, which shows that a certain previous knowledge of making quality single player games can be leveraged to make a quality MMORPG.
#14 by Vaxhacker on November 12th, 2009
Two phrases that every MMO programmer uses liberally: “That’s not a bug, that’s a feature” (i.e. “Go away, I’m busy”) and “Broken as designed” (i.e. “It’s exactly what the designer asked for, go bother them about it”). But seriously…
“Developers should be able to fix a bug within hours, if they aren’t, they need to relearn programming/software development, writing clean code and fixing bugs is part of it.”
Not so much with an MMO, at least not in general. Sure, the small, easily reproduced bugs that only affect a single code module or system… But the ones that are race conditions, only happening on a heavily-loaded server, involving tens of clients performing some specific action, well these take a *little* longer than “a few hours” to fix.
First you have to replicate the conditions. Often this is impossible to do internally (don’t kid yourself thinking there are hundreds of QA testers at your beck and call). Then you find that the server executable with extra logging / profiling / debugging code doesn’t behave like the live server. And then there’s digging into the multiple layers of interacting systems to find out what’s going on. Keep in mind you often can’t run a server process inside an interactive debugger, because sitting at a breakpoint for more than a few seconds will most likely cause the rest of the system to do bad things. And, you also may have to deal with two very different codebases – the C++ “server proper” and “game code” written in a scripting language (that doesn’t have a real debugger…not that you could use it).
But, after examining a few core files and lots of time spent reading server logs, *maybe* you can determine the problem and come up with a fix. Assuming, of course, that it’s not a issue that is endemic to the underlying technical design (e.g. timing-related, or due to asynchronous processing), or a hardware failure that’s difficult to detect. Then you’re basically screwed, and the best to hope for you is to try to minimize the chance of occurrence.
So yeah, if you haven’t been in those trenches before, you really don’t know what it’s like. It’s no wonder that even catastrophic failures that only happen “once in a blue moon” are just left alone.
#15 by The Claw on November 13th, 2009
One thing I’d add to that, is that code is often fragile, and game code is often particularly fragile, given that for much of the history of game development it has been a “get it working and get it out the door, then never touch the code again” model.
I know I’ve seen some head-scratchingly bizarre regressions in MMOs, where areas not touched in any way by a patch have somehow been broken by it. I shudder to think how much special-casing and “magic” code there must be in the years-old codebases of major MMOs.
#16 by gyrus on November 13th, 2009
If anyone from CRS still reads these boards they might be able to answer?
They have been rebuilding their engine.
#17 by UnsGub on November 13th, 2009
“But the ones that are race conditions, only happening on a heavily-loaded server, involving tens of clients performing some specific action, well these take a *little* longer than “a few hours” to fix. First you have to replicate the conditions. Often this is impossible to do internally…”
Actually those are most often one line fixes. If a company cannot test their software over customer load, a solved problem, then they a just choosing to take that risk.
“But, after examining a few core files and lots of time spent reading server logs, *maybe* you can determine the problem and come up with a fix.”
Logging is just another feature of a software product or system that is created. Good logging is another solved problem.
“So yeah, if you haven’t been in those trenches before, you really don’t know what it’s like.”
The books and information on being in the trenches is not much different then being in the trenches. It is just less frustrating reading about the commons problem then experiencing them first hand. If a software company even thinks they need to be in the trenches for anything they need to stop and get off that road. All those roads lead to dead ends.
The good thing is all of these issues have been solved before and continue to be solved by old and new companies. Still many places like to reinvent the wheel or cut corners by not implementing known solutions.
#18 by Nollind Whachell on November 13th, 2009
“The good thing is all of these issues have been solved before and continue to be solved by old and new companies. Still many places like to reinvent the wheel or cut corners by not implementing known solutions.”
Well said UnsGub!
#19 by D-0ne on November 13th, 2009
I could have read that if it were here.
#20 by Belsameth on November 13th, 2009
As a player this view is rather depressing actually… Tho not entirely unexpected.
#21 by geldonyetich on November 14th, 2009
The trouble with being a game designer is that reinventing the wheel is essentially your job… at least if you plan to make something novel.
It’s lose/lose, don’t reinvent the wheel and players complain your game is boring. Do reinvent the wheel, and forging new ground leaves lots of room for bugs to creep in.
Of course, that wouldn’t be a problem if it weren’t for deadlines forcing games to market before all the kinks are ironed out.
On the flip side of that, if you’ve got unlimited budget and blue light to refine your game forever, it’s very shaky ground as to whether or not you’ll ever release anything. Duke Nukem Forever. Starcraft 2. Diablo 3.
#22 by EpicSquirt on November 14th, 2009
I am pretty sure he meant the technical side of implementing. There is really little reason wasting your resources on writing every piece of software on your own today.
#23 by isildur on November 15th, 2009
Dunno whether to be amused or sad at Count Nerfedalot’s post. Because, in my experience, the problem is never that the designer doesn’t write the spec (being the designer in question, my experience is obviously limited to what *I* do). It’s that nobody except the other designers and the QA team ever *reads* the spec.
I’ve got fond memories of meetings in which I was asked questions about the design that were clearly and completely answered in the very spec we were holding the meeting to review — the very spec that had been written weeks before and circulated to all the relevant people. I’ve recently been in a meeting where I was asked a question about the design that was answered, with a major section header identifying it, on the very same page we were at that moment reviewing.
And more than once I’ve mentioned a system in passing while reviewing a different document entirely, and had the devs claim no knowledge of the system mentioned. And get angry at me that Design had, once again, added something new to the game after the fact. The subsystem in question had been reviewed (thoroughly, over the course of several dull hours) months beforehand by the very same devs who were now telling me they’d never heard of it. And they’d signed off on it. And requested some changes to make the system easier to implement. Changes that I happily made.
Maybe wherever you’ve worked involves lazy designers, but my experience — across multiple projects and many, many developers — is that getting a dev to actually go to the enormous effort to spend 20 minutes reading the spec is a nearly impossible task.
The really good devs will at least come talk to me when they finally read the spec and discover that parts of it will be too difficult to implement. But even these devs, the cream of the crop, the devs that every designer dreams of (I’ve worked with maybe 4 of these folks total ever) won’t read the spec ahead of time. They wait until the project management system says it’s time to start coding the feature.
Frankly, blaming the designers is bullshit. When the designer fucks up, that’s not a bug, it’s a bad game.