Saturday, April 29, 2017

The End of a Kickstarter

The other day, Anita Sarkeesian dropped her last video in the Tropes vs. Women series. Entitled The Lady Sidekick, she explores how female sidekicks are primarily in place to reinforce traditional attitudes or provide an ego boost for the (male) protagonist, rather than as fully formed characters who don't necessarily need male protection.


It's hard to believe that there was a time before Anita's Kickstarter back in 2012, because it feels like we've aged so much since then. It was a relatively simple idea: a short series of five 10 minute videos exploring stereotypical tropes concerning women in video games. But thanks to the visibility garnered by haters, her Kickstarter blew up the gamer corner of the internet. The series then expanded well beyond its originally intended scope into two full seasons worth of videos, along with bonus content, and generated a lot of discussion on both video games and gamers themselves.*

The funny thing is, the more the Gamergate crowd tried to silence Anita and others, the more positive interest they received. Anita would have never landed on the Colbert Report were it not for the haters, and her videos received far more interest and views as well.



Do I agree with everything Anita presented? No. But really, agreement on all items presented is not the point. She made me think, and by doing so she forced me to confront things I'd simply accepted as "the way things are".

So here's a toast to Anita Sarkeesian. I wish her well.





*It may be only April, but I think that might be the understatement of the year.

Wednesday, April 19, 2017

Why I Love MMOs, Part Whatever

Last night, World Chat discussion on LOTRO drifted around from "are goblins orcs?" and "Was George RR Martin inspired by Turin's relentlessly grim tale?"* to "When is the Beren and Luthien standalone novel to be released?"

Inspired by the latter, one of the players recited a shorter version of the Tale of Beren and Luthien in World Chat. Took the player over an hour, but it was worth it.

At one point someone made a snarky comment about the endeavor, but I channeled Animal House and replied "Forget it, he's rolling."

The book is released June 1st, 2017.
From Wikipedia.


The part about Sauron turning into a werewolf inspired a short lived "So Sauron was a Furry?" discussion, however....





*I said that he was partly inspired, but he also took heavy inspiration from Shakespeare and Medieval history. "The Children of Hurin is what you get if you let GRRM write Tolkien," was my response.

Tuesday, April 11, 2017

Memories....

..like the corners of my mind.*

Everybody does anniversaries differently, and LOTRO is no exception.

Justin Olivetti --you know, Syp from Bio Break-- over at MassivelyOP has an article on the anniversary plans that Standing Stone Games is planning for LOTRO's 10th anniversary, pointing back to the Standing Stone Games announcement.

I hope you're ready for a scavenger hunt...




*There. That intro from The Way We Were should give you a great earworm for the rest of the day. ;-)

Thursday, April 6, 2017

A Brave New World I Suppose

I've noticed a recent uptick in traffic to PC from anonymizeme.pro. Normally I'd not worry to much about it, but this uptick almost exactly matches the passing of the new US law to block online privacy regulation.

If you've not heard about it before now, the long and the short of it is that back in October the Federal Communications Commission presented rules prohibiting internet service providers (ISPs) from selling your online browsing data to third parties: companies wanting to sell you stuff, private investigators, anyone at all. Congress decided that was "executive overreach" and passed the bill above to elimination such privacy regulations, with the side effect of letting ISPs sell your data to whomever they feel like it.

Normally if this were a problem with one ISP, you could simply replace them with another ISP. The issue here is that in the US a huge number of people have only one real ISP to use --their cable company-- because local towns and cities often have non-compete agreements with one cable company in exchange for that company providing local access programming.* So, if your local ISP decides to sell your online browsing data, you don't have an alternative available to jump to.

To fix this issue, some people have set up their own virtual private networks (VPNs) and others are using anonymizing services such as anonymizeme.pro. So while some people look at browsing records from anonymizeme and think "okay, who's doing something shady?", I look at it as merely a sign of the times.

And naturally, late night television has been using this new law as cannon fodder:



And....





*That's something that has almost completely disappeared from local cable, but that hasn't kept the cable companies from using their local monopolies to keep competition out.

Tuesday, April 4, 2017

In Praise of the Code Jockey



I don't talk about my work at all on this blog for obvious reasons*, but at one time in the (now distant) past I worked for a software development house. Sorry, the software involved was CAD/CAM/CAE --the design software companies use to create new products-- so it's not like I worked for Microprose or something.

While I wasn't a Dev myself, I worked on the Software QA end of things. I was one of the people who designed and built the testcases, maintained and expanded our own testing software, and helped debugging the thorny problems by quickly zeroing in on which software code change was the likely culprit. It was tough work, particularly for a guy who came from a science background who puttered around coding in his spare time, but it taught me a lot about how to code, how to design software, and how to handle group dynamics**.

There were projects I was assigned to that pushed me to the limit --physically and mentally-- and I will be forever grateful to my wife for tolerating me during those insane hours. But no matter how hard or long I worked, the Devs worked even harder. When I was pulling 80 hour work weeks, they were hitting 90. I would frequently get to work at 4 AM so I could make progress without having people drop by, and there would always be about 3-5 Devs in the building, coding away.***

You'd think that the hours and demands would keep me from wanting to make the jump from QA to Developer, but you'd be wrong. I looked up to those people, because I admired their coding skill and their drive. They were creative, they were fun, and yet they were serious about getting the work finished. It irked them when we had to release the software when they knew there were bugs in the system, but the decision was never theirs.****

So you can imagine the smile on my face when I read Ravanel Griffon's post at Ravalation about Developer Appreciation Week.

***

The idea is a simple one --to acknowledge the devs in the game industry-- and give them a big thumbs up. Give a shout out to the dev team (or teams) that you admire the most and why you like them. Basically, make them feel welcome.

And believe me, I can do that.

When I criticize a game, I make a clear distinction between the game and the dev staff itself. The dev staff almost never control the release schedule, they're on a tight timeline, and they're chronically underpaid for the amount of hours they put in. I knew a guy who used to work for a dev team that put together Betrayal at Krondor, and I heard stories about how they had to do it for the love of coding and designing games, as the money was definitely not the same for the game devs as it was for other software developers. They have to work with tradeoffs and limitations of the hardware, they recognize that people will find weaknesses that they never envisioned, and that meeting expectations is often a fool's errand.

We gamers don't exactly help our cause either, as we are frequently cranky, overly nitpicky, and demanding of a standard that nobody could ever hope to achieve. And if the devs ever do catch lightning in a bottle, they set themselves up for an impossible standard that gamers will try to force them to meet.

But here's a shout out to all the devs out there, trying their best to make gaming fun and meaningful.

***

Oh, you wanted some specific dev team?

Well, I think I'd have to go with giving some love to the original SWTOR development team. You know, the ones who had to deal with he inflated expectations that accompany the Bioware name, the KOTOR brand, the Star Wars Galaxies loyalists, the amount of money EA spent on development, and EA's own promotion that SWTOR was going to be a WoW killer. With a expectations like that, nothing less than WoW-like numbers and subscriptions would mean success.

And as we know, SWTOR did not reach those numbers.

Was that the fault of the devs? No. They made an MMO that was essentially "WoW in space", but with specific class stories with light or dark side endings. The technical challenges of the MMO genre meant that SWTOR couldn't expand the Star Wars universe and provide persistent changes based on your choices (such as with other Bioware titles such as KOTOR, Mass Effect, or Dragon Age) without massive use of phasing like WoW used. The devs felt that in SWTOR the journey and the ability to play around in the Star Wars universe was the important part of the MMO*****, while the semi-transient MMO community believes "the game begins at max level."

In spite of all of those expectations and challenges and misreading of tea leaves, the original SWTOR devs produced a very solid MMO that continues to hold its own over the years. I still love the classic game (L1-50), and based on how the mini-Reds have reacted to the class stories, those stories still hold up well several years on.

SWTOR had to change in order to survive with a steady stream of updates, end game content, and switching to F2P to stem the bleeding. To compare with another heavily hyped AAA title, I'm actually surprised that Wildstar is still around because I thought they'd waited too long to convert to F2P. SWTOR has not only survived but gotten mentions on the E3 presentations from EA, and it would have been all for naught if those first devs hadn't decided to change the game rather than simply circle the wagons.

So here's to the original SWTOR dev team, who hoped to catch lightning in a bottle but ended up having to change the game's entire focus to survive. It was no small task, but they met the challenge and left us a legacy.






*I mean, really. I've no idea why some people natter on about their jobs on blogs, because you're just simply begging for trouble. When I was hired at all of my jobs, one of the requirements for the gig was to sign non-disclosure agreements, and I've seen people fired from their jobs for what I'd term innocent discussions on social media. So why risk it?

**Also known as "how to run meetings and keep from going nuts when people don't listen to you."

***There was once an April Fools Day prank played on the entire development staff where every time you opened a new window on the SGI workstations from 3 AM through Noon the machine would play a little jingle and make a weird laugh. The first person to discover it loved to come in at 2 AM to work on his graphics coding when nobody else was around, and so he opened a new window at around 3 AM and he nearly fainted. I heard later that for a few short moments he thought his workstation was possessed.

****I and several other QA people were also on the release team, and we frequently argued for more time to fix the bugs, because we could see the impending train wreck a bad release would make. The release manager would also agree, but we were overruled by senior management who had their own agendas.

*****My evidence for that is the MMO itself. WoW is designed to get you to max level as quickly as possible, Wildstar went totally old school and recreated the attunement quests to even begin to raid, and LOTRO is designed to immerse yourself in Middle-earth. If the journey wasn't as important to SWTOR, we wouldn't have had 8 separate class stories and plenty of group quests per planet.

Friday, March 31, 2017

You Have Died of Dysentery

Back in prehistory when I attended high school, the computer room was filled with Tandy TRS-80 Model III computers.* Given that most families did not have computers at home, the computer room was frequently open an extra 1.5 hours after school so students could work on programming in BASIC (or, in the advanced classes, FORTRAN and COBOL).**

But for me, that meant goofing around on the few game programs that the school had.

Far and away, my favorite game was Santa Paravia and Fiumaccio. It was a predecessor to Sid Meier's Civilization, and it gave the players a chance to rule an Italian city-state with a few basic options. You can even play it now for free on the Internet Archive.

I was fascinated with the game, and as it was programmed in BASIC I asked for and received a printout of the source code.*** I had this grand idea that I'd convert the program to TI-BASIC so I could play it at home, but I never got around to finishing up the conversion. Still, the concept of having a printout of a complete computer game never failed to fascinate me.

Therefore, you can imagine my surprise when I came across this article a few weeks ago about the history of the classic computer game Oregon Trail and how, for a few years, there was exactly one printout of the source code in existence.

I've never played Oregon Trail, as it was released a bit too late in the 80s for me to play it with the same zest I developed for the Ultima series, but I knew of people who were almost religious in their devotion for the game.

And here, in classic 70s/80s computer fashion, there was a period when the original incarnation of The Oregon Trail could have easily been lost forever.






*My high school was the first in our area to require a computer programming class for graduation. Given that it was an unlikely case a family did have a home computer (it was likely a Commodore 64, TI-99 4/A, or an Atari 400 or 800), this was a big deal.

**My hatred of the COBOL programming language dates from my experiences with it in high school. Why anybody thought COBOL was a good idea is beyond me.

***I believe I still have that code somewhere in the basement, along with the TI-99 4/A computer that I used growing up.

Wednesday, March 29, 2017

On Releases and Glitches

I've been watching the launch of Mass Effect Andromeda with more than a passing bit of interest, even though a) I'm not even finished with the first Mass Effect game, much less the entire trilogy, and b) I don't really have the money to drop on a new game.*

Still, the armchair quarterback in me has been following along with the hype and inevitable problems at the game's launch.

You know the old adage "Fool me once, shame on you, fool me twice, shame on me"? This definitely applies to software releases these days. Even the supposed gold standards of software development and release, Blizzard and Apple, have had their share of software launch bugs.

This makes me wonder why someone would even bother buying the game at launch, much less pre-ordering, when you know that bugs will frequently be the reward of playing the game first. Another way of putting it is "Why pay to be a beta tester?"

Sure, you may get extra goodies such as an extra in-game item or the soundtrack**, but is it truly worth the headache of dealing with a game that is frequently in need of major patches to even make it enjoyable?***

***

In the case of Mass Effect Andromeda, there are bugs, and there are features.

The bugs are the obvious items: system crashes, graphical glitches, selections that don't work, etc. You know, the usual stuff.

But features, those are design decisions that may seem like bugs but aren't.

There are animation glitches in Andromeda, no doubt, but the overall look and feel of the animation is not a bug or a glitch. That was a design decision.

I'm reminded of the behind the scenes extras in the DVD release of The Incredibles. In the video article, they were talking to Pixar developers and engineers about the technical leaps they had to make for The Incredibles to work. As it was Pixar's first animated movie with an almost exclusively human cast****, they had to expand their technical capabilities to get certain aspects of animating humans right. At one point during production, one of the engineers had to go to John Lasseter (the head of Pixar) and tell him that "at the moment, hair is still pretty much theoretical." The concept of having hair move properly when animating a human --whether that hair is dry or wet or in a convoluted design-- confounded the developers for a long while.

And in the work surrounding Mass Effect Andromeda, the scale of the game meant that Bioware likely had to determine what priorities the developers worked on, and what aspects of development they were going to use an off-the-shelf or generic solution for.

This isn't exactly a newsflash to people who have worked in software development; in my time at a software shop we handed translation from our software's format to other formatting standards --akin to converting from JPG to PNG and back-- to a third party. The trick was to integrate the third party's software into our existing package seamlessly, and that was not as simple a task as you might think. The number of bugs that resulted from that integration was... pretty large at times. A lot of times it had nothing to do with the third party software at all, but with coding in a completely unconnected part of the software.*****

What does all this have to do with the facial and character animation? My speculation is that part of the Andromeda animation wasn't a high enough priority to deal with as an internal project, and so Bioware used an off the shelf product to handle the animations. And the issues with the facial and character animation could be due to a) integration with the main software, b) the third party software needing tweaks to work better with the overall product, or c) the third party software is being asked to handle something that might be beyond its current capability.

Or maybe a combination of all three.

But this isn't just my speculation, here's an Animstate Roundtable which included professional animators discussing this very issue, pointed out by an article from PCGamesN and Gamasutra. The entire roundtable is interesting, but this part I found resonated with me the most:

"Simon: Before I speculate on what the cause of these animation issues are, I think it’s important for people to understand some of the numbers behind a game like this. I don’t have exact figures from ME:A, but we do know that Mass Effect 3 had over 40,000 lines of dialogue and Dragon Age had about 60,000. If we split the difference at 50,000 and conservatively estimate that each line averages out to about three seconds, that puts us at around 41 and a half hours of dialogue. That’s about 21 feature films worth of just talking. Most of the major animated feature films have a team of about 70+ animators working for two or more years to complete just one movie. A game like Mass Effect might have somewhere between five and ten focused on more than 20X the content in the same amount of time. To add to that, we need to also factor in localizing (translating) the game into at least 4-5 additional languages.

Now, it’s just not possible to keyframe that amount of content to any acceptable level of quality, so teams looking at that much scope try to find procedural solutions. I know in the past they’ve used an off the shelf solution called FaceFX, which analyzes the audio tracks and creates animation based on the waveforms, projection, etc. At a base level, it can read as a very robotic performance and I suspect that is what we’re seeing in some of the footage. You can work with the audio and the procedural tools to polish the performances in various ways of course, but when you’re staring down thousands of minutes of performance to clean up, your definition of “shippable” is a sliding bar that moves relative to team capacity and your content lock date. If it were my team and project, I would try to gather metrics on which scenes were the most watched based on playtest and use whatever polish time I had with those as a priority, letting the lesser seen ones go with a default pass." --From Animstate.com ROUND TABLE – MASS EFFECT: ANDROMEDA

***

Back to the original thought behind this post, why bother buying a game at launch if you know there's glitches and/or features that need to be cleaned up? Part of that is, I suppose, faith in the development house to get the job done right. Or if not done right initially, then to fix the problems quickly. Reputable development houses don't just sit on problems, they fix them.

And another part of this is the reality behind software development. It is much more complex than, say, building a fence or even a car, and constant tweaks in response to unforeseen problems is pretty much par for the course.

And finally, there's also the recognition that very few software development houses announce a release when they feel it's ready --okay, it's Blizzard-- and that when a release date is presented to the public there becomes an enormous amount of pressure to meet that date. The company doesn't want to lose face to its investors, the investors are constantly asking each quarter "What have you done for me lately?", and the development staff doesn't want to disappoint the fans. For my money, Blizzard does it the right way, but even they aren't immune to the occasional bad release.

From my perspective, I have absolutely no need to rush in and buy something the moment it is released, so I'm content to wait. I did that once, when I bought the original AMD Athlon system back in 1999, and six months later I could have paid about $600 less for the same system. I learned my lesson that time, and I've not wavered from it.






*Yes, I'm quite aware that you don't need to have played the original ME trilogy to have played Andromeda, but it provides a good buffer to rushing out and buying the game from the get go. Besides, immersing yourself into the world of Mass Effect prior to playing Andromeda isn't necessarily a bad thing, even without the Geth or Reapers.

**Okay, I can understand the soundtrack enticement.

***I'm not a fan of the Assassin's Creed series, but the bugs of Assassin's Creed Unity are infamous among gamers.

****I kind of count the robot as a minor character.

*****Okay, I'm going to get a little technical here, but in C and C++, memory allocation is a huge thing. If you don't do it right, or you go beyond your allocated memory, you could end up overwriting whatever else is in memory. It's very powerful, but it is also dangerous. If you don't clean up your memory allocations, you end up with what are called "memory leaks". And eventually that will kill your performance and potentially cause crashes of software or the computer/server. The greater the complexity of the software, the harder it is to find these memory leaks by yourself and you have to rely upon --you guessed it-- third party software that shakes memory leaks out. But the fun doesn't stop there, because something might be working perfectly fine in its "leaky" state, and once you fix it the function/code stops working right. And then you have to go find out why that's the case, and maybe you find even more memory problems underneath it.

Java has this problem too, and that's why a lot of Java implementations --especially early ones-- have so many memory problems.