Transparency
http://trenchescomic.com/comic/post/transparency
Interrobang Me
AnonymousThe punctuation mark “?!” is called an interrobang. It can be written as either “?!” or “!?” but the former is generally considered more correct.
I was testing the latest installment in an action/adventure series that had a lot of confused excitement in the text. Apparently, the writer hadn’t been going by any sort of punctuation standard, so the majority of the interrobangs were written as “!?” while the rest were “?!”
This was an issue for someone higher up. A major issue. It was so important, in fact, that I was tasked with seeking out every interrobang and ensuring that they all matched. I wasn’t given any guidelines beyond that, so I opted to put the question mark first.
After close to two weeks of testing every piece of dialogue in the game, my lead approached me.“Hey, you’ve been working on punctuation, right?” he asked.
“Yeah, I’m nearly done,” I replied. My bug count for interrobangs alone numbered in the hundreds at this point, so saying that I was nearly done had become a comforting mantra of sorts.
“Well, here’s the thing,” my lead continued. “The producer says we’re supposed to stop looking for text bugs. Finish up your last one.”
Well, that wasn’t so bad. I was sick of interrobangs, and I was happy to do something different. Later that day, though, my lead found my again.
“Hey, remember those punctuation changes you were making?”
“Yes,” I replied, “but I’ve stopped.”
“Yeah, well, they put all your changes into the new build, but the producer noticed that you missed a few.”
I was a bit confused. “I thought he told us to stop looking for text bugs?”
“Yeah, he did, but he’d like it if all the punctuation matched. So, can you go back and change all the ones where the question mark comes first? He wants the exclamation mark to come first.”
This should have been simple. I could pick up where I left off, then resubmit all my previous bugs with a minor edit. It would have been fine, except that in this new build, colors had been added to differentiate between different characters’ dialogue, and I was told that every bug report had to include the color of the text that was being displayed.
So I played through the whole game, again, writing all-new bugs to undo the previous ones. Then, just as I was getting close to the end (again), I was told to stop looking for text bugs.
This time, the producer had decided that the interrobangs were fine as they were.
Posts
And Gwen, do you think Marley would possibly lie about his notporn folder?! How scandalous!
Twitch: KoopahTroopah - Steam: Koopah
Edit: can't see it from Binarytales post (I couldn't) but it looks like an interrobang is literally the two characters overlapped. I am guessing its a holdover from physical typewriters where they overwrote the character?
Yeah, I just find it nuts that people end up having to do this kind of thing, I mean, hundreds of individual bugs? What idiot decides having someone spend weeks doing that is better than starting with one single "Make multiple punctuation sentence endings consistent" bug, giving a developer a few hours to search, sanity check the output for any false positives from regexes and such and replace. *Then* have someone from QA verify and report any strays?
And that trench-nosed girl is terrifying.
1. Find a fun text editor that can open multiple documents
2. Search for "!?"
3. Replace with "?!"
4. Done.
Judging by previous Trenches posts, I'd wager that making hundreds of individual bugs is a way to look good and not be fired by HR when their only performance metric is how many bugs you found.
You can't give someone a pirate ship in one game, and then take it back in the next game. It's rude.
Because testers are not code writers and structure in companies are stringent and rigid.
You should listen to Steve Gaynor talk about what it's like to work with a small team vs. a large dev studio. He did this for Bioshock and noted that the bureaucracy crap went out the window and sped up the process of design with less people to get "yes"s from.
Edit - Or I guess I just said it right there but yeah. Red tape is a bitch.
PSN ID: fearsomepirate
You don't have to be a coder to do that, you simply have to be competent with a computer (for instance, I've seen producers do that kind of work). I don't write bugs (I just make them and fix them :-D) so I can't really speak to why you would write 100 vs 1, but fixing that shouldn't take more than a few minutes.
This is what I was thinking. First, no QA temp is going to ever come close to being able to work directly in the database where he'd be able to do a find/replace. Second, a game dev is going to see doing QA's job as a waste of his time. If it takes one of the coders 8 hours to do the find/replace (assuming sanity checks on every entry and probably hundreds of thousands of entries in the database), but it would only take 4 hours to do the replace with explicit instructions, even if it takes a QA temp 30 hours to record every instance, that's still time wisely spent. You only have so many devs when going into launch cycle, QA is cheap and nearly infinite.
Exactly.
No kidding, what a waste of testing time.
But then you get fired for not writing enough bug reports!
that said, this is among the best trenches strips thus far.
I'm not sure why people are assuming he had access to the code, when it says quite clearly "So I played through the whole game, again, writing all-new bugs to undo the previous ones."
Aw, c'mon. We're all being honest here. You love being this guy. Own it!
Aw, c'mon. We're all being honest here. You love being this guy. Own it!
Instead of sharing the whole thing, I'll just jump to my conclusions: QA is supposed to be providing a service to the company- it's supposed to be helping the company meet its goals. If anyone reading this is going to set up a QA department and do it properly, please keep that firmly in your mind as you design your QA department.
Normally a games QA department will have certain high priorities: 1) Identify as many defects in the game as possible so that they can be reviewed and dealt with, 2) Validate any fixes from 1) to ensure both that the defect is resolved and that no new defects were generated from the fix. 3) Log defects in such a way that the developer time is maximized.
Where a lot of these stories come from is people ignoring the above priorities.
Dude that got fired for logging only one defect and spending time doing that instead of logging that defect 100 times was doing things according to the business priorities, and so he shouldn't have been fired- logging each instance of a single defect seperately just wastes QA's time putting it in, wastes the developers' time when they go to mark the defect(s) as fixed in the system, and it probably plays hell with triage too. The reason that story was such a big deal to me is NOT that it's unfair to dude that got fired (though it is), it's that you are actively discouraging people from following the process that best meets the business' priorities in favour of something that actively works against them.
In this case, dude probably should have been able to log a defect that says "we need all intances of !? to be replaced by ?!", have the dev ctrl-f and fix it, and then run through the game once to validate. Instead, they had to go through the game just to log the defect, and had to do it again just because they decided to change their minds, and would have had to go through again to validate the change. This means someone is getting paid to do something that is not advancing the business' priorities/goals, which is just wrong.
So yeah, I get that QA is usually in a tight spot, with lots of untrained and uneducated bodies being tossed at a monumental task... But that's even more of a reason to set your processes up intelligently and to make sure that they accomplish what the business is paying for.
...And hey look, it ended up being a long rant anyway. Awesome :P
A Producer. A Duck. Make acquaintance.
Nothing more need be said.
Which is fine, if that's what Marley is in to.
But it's difficult to be completely naked when you're covered by something.
Taupe woman is quickly becoming the most tolerable character.
Yeah, that's why I said a dev should do it - but the hundreds of bugs are a pain for everyone. I've fixed a ton of things like this in my time, QA (or production if it's a decree from on high) logs a bug saying "We use terminology <x>, we should be using <y>", I run a basic find/replace in my IDE across the whole code base, maybe write a quick regex if it's a bit more involved, skim over the output to make sure nothing weird got caught in the net (yeah QA should catch that but it saves everyone hassle if I catch it myself in the first instance, and hopefully avoids introducing insidious errors that QA won't immediately spot), commit it, resolve the bug. Done in a couple of minutes. Maybe as much as an hour if there's a really massive list to sift through.
If someone logs a bug for each individual occurence, I have to specifically hunt down that particular instance, replace it, commit and then hit resolved on that particular bug. Even if I say "Fuck it", do the lot in one find/replace and commit, I still have to sit in the system going into bugs and hitting "Resolved" hundreds of times (and that's assuming no code review process, no strict one-commit-per-bug policy and no intermediary steps a bug has to pass through before it passes back to QA eg. "In Progress", "In Code Review"). That is wasting a developer's time.
It's also worth noting that as much as a dev's time is valuable (in salary terms, a good dev costs about twice as much as a good tester), producers' and management's time is also pretty costly and they're going to end up filtering through your inane dross when assigning work, scoping versions and so forth.
They should probably not use that regex you suggested - sure, it'll change all ?!s, but it'll also change any two characters that each one of them is either ? or !. That means !? will be changed to !?, which is not so bad - unless you want to skim the matches before and/or after you do the replace, and then you're gonna get alot of junk. It'll can also change ?? to !? - but it probably won't, because nobody uses double question marks.
What's really bad is that your regex will also change !! to !?. If you're lucky, the dialogs use the traditional three exclamation marks for hyper-exclamations, so you can search for /!?!/ to fix this. However, if the dialog use the less common two exclamation marks for that purpose, you're gonna have to look manually through all occurances of !?, and figure from the context which are genuine interrobangs and which are supposed to be double exclamation marks. And that, my friend, is far worse than the original interrobang hunt...
Why complicate the regex when a simple /?!/ does the job better?
on another note - the dialog shouldn't be saved in the source code(unless it's a really small game - which is not the case here). It is usually saved as a resource - either embedded in the executable or stored in a file. Now, it the dialog is stored in a file based database file or xml\json file, or even a csv, ini-style(or conf-style, if you prefer the linux naming), or custom-formatted text file, then searching for them ?!s is even simpler(mass-replace on source code is always dangerous). However, if the dialog is stored in custom formatted binary files(that are not compiled from source files, but edited in a special editor), then the good old search&replace method might not be possible. Bethesda, for example, stores the dialogs in such binary files. And while Bethesda's datafiles are edited with a construction set - which has high production value, since it's released to the customers, and therefore I assume it has a search&replace method for most of it's modules - a game might use a private binary file format, with less quality tools, that can't do a mass search on the dialog.
But even in that case - opening a bug for each occurance is far from optimal... Evaluating testers by bug-count probably gives the worst accuracy, but it's still the easiest...
Why do you have to go and reveal Thursday's story?
You're supposed to keep your submissions anonymous, realisticcradical!
"What did they do to you?!"
"What did you just say to me!?"
So, in a way, it is possible to use both and still communicate something meaningful to the audience, as long as they pick up on those cues.
You heard him PA & PvP crew. Next up: Credenza on the couch
I.e.