Saturday, August 30, 2014

PAX Prime 2014 Day 1: Hironobu Sakaguchi

PAX Prime. The name suggests that this is the first, the main, the alpha Penny Arcade Expo, and despite it technically being a little smaller than PAX East, it really does feel like the biggest when you're in the thick of things.

In years past, the convention covered just the Washington Convention Center. Since then, it has grown to a behemoth of an event that spans four days across seven venues, this year including both the Paramount Theatre AND the Benaroya Concert Hall for the first time ever.

The convention itself is in many different places in downtown Seattle.
My Friday plans were pretty low-key. I always do a quick run-around the Expo hall to get my bearings, and there were some repeats from PAX East, and some neat games that I hadn't seen before.

Spirit Siege

One such game is called Spirit Siege. That link will bring you to their Kickstarter, but they had a fully playable demo on the Expo Hall floor. A mobile strategy game, the premise is pretty simple: both sides have orbs on the battlefield, and you need to summon creatures from your hand to the battlefield to attack the other team's creatures and orbs using a monotonically increasing resource. The orbs can defend themselves, but not very well.

The game has some pretty neat UI elements that I like, such as the pillars underneath characters representing their health. It seemed like a neat little 5-minute strategy game with a cool art style. I rather liked it.

Hironobu Sakaguchi

I wanted to go to a couple panels, but when I saw that the legendary Hironobu Sakaguchi was going to have a panel at PAX Prime about the history of RPGs and a game he was creating called Terra Battle, I had to go.

Benaroya Hall is quite posh. They had a string quartet playing video game music, including Final Fantasy.
For those unfamiliar with the man, Sakaguchi-sensei was the progenitor of the Final Fantasy series. He called it Final Fantasy because if it had flopped, he would have had to quit the industry and go back to school. Clearly, it succeeded. He's also contributed to Chrono Trigger, Front Mission, and every Final Fantasy in some capacity up to and including Final Fantasy IX. He was even the president of Squaresoft before it merged with Enix. He left the company to create Mistwalker Studios, which produced Blue Dragon, Lost Odyssey, and The Last Story, all extremely good JRPGs.

The interview responses were primarily in Japanese, with the interviewer speaking English and a translator working for both interviewer and interviewee, which was handy for note taking because it let me keep up.

The panel was sooooo full. So full.
Most of the early question were on the subject of Sakaguchi-sensei's prior works. Final Fantasy IV and VI were both mentioned as fan-favourites, and Sakaguchi-sensei mentioned that they had learned the importance of building a character and a story, and how they coexist to make it all come alive. IV was the first time they had the technical know-how to really realize it, and VI was the final title before going to 3D, so they were at the height of their technical knowledge for the SNES, so really could make the game shine.

They discussed Final Fantasy VII, and he talked about it being their first foray into 3D on an unknown technology (the PlayStation). They really didn't have enough expertise in-house to be able to pull 3D off, so they scouted a lot of talented folks in the film CG side of the business. However, they didn't know how to make video games, so it was a merge of the two groups to make the game. The influencing of each other and the atmosphere of the team was heightened to its maximum, and from that sense the game still lives up to today's standards; you can feel the passion that went into the game.

Sakaguchi-sensei taking a picture of the full theatre. I think he was taken aback at how many people came to hear him speak.
Moving on to Final Fantasy IX, which Sakaguchi-sensei really loved, if you look at IV, V, and VI and see how that went character and story-wise, not saying they went off track, but there was definitely more focus on tech for VII and VIII. What would it look like if they went back to the growth of the world and characters they had in the past? And that created the nostalgia factor for IX. Also, he mentioned, Vivi.

Interesting to note that on Final Fantasy IX, Tetsuya Nomura was replaced as the art director. While Sakaguchi-sensei really likes Tetsuya Nomura, they needed someone who could bring the game back to its roots. For those unfamiliar with Nomura-sama's work, his character designs tended to be heavy on the tech-future look, with lots of belts, zippers, angles, and the like. You can see his influences quite strongly in Final Fantasy VII and Kingdom Hearts, for example. Sakaguchi-sensei mentioned that bringing the art leads from IV to VI back for IX was the right decision.

Our interviewer on the left, Sakaguchi-sensei in the middle, and his translator on the right.
Also, front and center seats, yeah!
He also worked on Chrono Trigger, a much-beloved game. While he wanted to make it a series and let it evolve, but he and management at the time didn't see eye-to-eye on that, and he lost the battle to have it become a series like Final Fantasy.

But once he left to create Mistwalker Studios, he got the Chrono Trigger band back together to create Blue Dragon. Akira Toriyama created the character designs for that game, like for Chrono Trigger. You could tell Sakaguchi-sensei had a lot of respect for him because he referred to him as Toriyama-sensei the entire time.

Apparently Sakaguchi-sensei grew up on the creations of Toriyama-sensei, and it was a dream and a huge honour to be able to work with him. He always had such great ideas, but the small downside was on his Mac, the Photoshop version loaded is always version 1 or 2. New tech doesn't seem to suit him, so you had to deal with that.

While Sakaguchi-sensei would like to have created more Blue Dragon, his first script had been rejected by Toriyama-sensei. Even if they had a second one, it might be difficult to get him on board.

Overall, Sakaguchi-sensei talked a lot about how wonderful changes to RPGs have been over the years. Open worlds are beyond his imagination, and he doesn't know if it would be possible for him to create that. As a consumer, it's exciting to know the genre has evolved in multiple directions. Challenging genres by bringing something new to the table is really important to keep the genre alive, and we should not be restricted by some formula.

Terra Battle

He also talked about his new iOS/Android game, Terra Battle. A tactical/almost-puzzle RPG for mobile. You field multiple characters and drag them around the battlefield, moving your own units when you pass over them not unlike how gems work in Puzzles and Dragons. Once you let go, if units are flanking an enemy or in a formation, they perform special attacks. You'll be able to customize your characters and get more over time.

The other interesting thing about it isn't the game itself, but the approach they're taking to new content. Something they call a "download starter". It's like Kickstarter, except instead of promising more content with more money, they release more content with more downloads. And not just any content; big names like Nobuo Uematsu adding music tracks at 100,000 downloads, or Hideo Minaba and Yoshitako Amano creating new characters for the game at 200,000 and 1.5 million downloads respectively. No money spent required (though I imagine it's a F2P game, so people will spend money somehow).

It's a neat concept, and the game looks neat enough. It'll be interesting to see how it pans out.

So that was Day 1 for me. Tomorrow I plan on taking a look at more expo hall, attending a panel on game industry statistics, and checking out more of the Diversity Lounge to get a handle on it. Been fun so far!


Wednesday, August 27, 2014

The First Rule of PAX Dev...

... is what happens at PAX Dev stays at PAX Dev. What? Mixing quotes is just fine.

Just before PAX Prime, the PAX gaming convention machine hosts a two-day black box event for video game developers. If you're not interested in education about making video games, you would be pretty bored because the event is literally nothing but panels. But for the rest of us here, it's a fantastic opportunity to learn more about coding, game design, writing, and so on. Basically, the craft of creating games.

So why no media or blogging about the event? One reason is it gives developers a safe space to discuss things without said things getting taken out of context. They can talk about game design and why they made certain decisions without having to worry about someone who is unfamiliar with the jargon getting offended or taking it the wrong way.

What? You wouldn't take things the wrong way? That's great, because someone would. For example:

So the ability to have a conversation or discussion without having to worry about it being reported on is absolutely invaluable. So off I go to learn more about game development, but unless a panelist says I can, you won't see me blogging about it here.

#Blogging, #PAX

Sunday, August 24, 2014

PAX DEV/Prime Incoming

Just a quick update because I have been working a lot of hours to make up for time I will be taking off for PAX DEV and Prime!

The first rule about PAX DEV is you don't talk about PAX DEV, so unfortunately I won't be blogging about it at all. However, PAX Prime I'll definitely be blogging about, from more indie games, to panels, to the second take on the diversity lounge! If there's anything you want to hear about/see at PAX Prime, let me know and I'll see about attending!

Otherwise largely been working and playing Tales of Xillia 2, which has been quite good so far. Also, top notch localization, as usual for most recent Tales games.

Taking pictures of my TV. You can see me and my living room in the reflection!
#Personal, #PAX

Wednesday, August 20, 2014

Crushable Dude Video Game Characters

Liores on Twitter was wondering about crushable dude game characters, and that there didn't seem to be that many of them. Note: crushable as in having a crush, not crushing them in a garbage compactor Star Wars style.

Some people might think it strange to have a crush on a video game character, but at the same time these characters represent people. When you look at the romance novel genre, many, many people will crush on the main characters, because a lot of those novels are written effectively as wish fulfillment; the other party is the ideal person--with a couple flaws. So people want to meet someone like that, to have someone like that in their lives. It's not really any different from crushing on someone in a television show.

In a complete 180 from my normal super serious game design-type stuff, I present to you, my personal list of crushable male video games characters (not in any particular order), written just for Liores!

1. Sabin from Final Fantasy VI

Pretty sure he was my earliest crush. Serious when compared to his twin, and buff and blonde. And really, who could resist someone who can suplex a train?

2. Barret from Final Fantasy VII

Sure, he made some questionable decisions about how to protect the planet (blowing up power plants isn't precisely a good career move), but he was fiercely devoted to his daughter and cuddly behind that bad-ass persona he fronted.

3. Flay Gunnar from Mana Khemia

Flay's an odd one. He's not ultra-bright, but he's definitely got his heart in the right place, and he's totally goofy. Running around pretending to be a hero, and actually pulling it off. Playful frat boy personality, but not a dick about it.

4. Darril from Front Mission 4

Total mercenary, joining a revolution for money despite not wanting to get involved with a war, and yet still does because he can't ignore the injustice in front of him. And he's adorable and bearded.

5. Zell from Final Fantasy VIII

Adorable puppy-like demeanor, with a dose of ADHD. I bet he'd be a great cuddler. Might be a tad immature at first, but over the game he definitely does some growing up.

6. Dycedarg from Final Fantasy Tactics

(Spoilers for a game that's 17 years old...) So he's a villain, sure--and they foreshadow it pretty heavily--but look at that beard, and hair! And the beard. I'll admit, this one is on the list purely because I think he's pretty.

7. Balthier from Final Fantasy XII

Physically, totally not my type. But man, Balthier has class and swagger. The leading man (his own description of himself) that stole every scene he was in, a rogue with a heart of silver (not quite gold because he's still not THAT altruistic), and a tongue that's equally as slick.

8. Jacob from Mass Effect 2

Calm, cool, collected, confident. He's had a difficult life, but he's taken it and made it his own, and knows what he wants to do with it. I was unhappy I couldn't romance him in Mass Effect 2, but hey, we had quite the bromance.

9. Steve Cortez from Mass Effect 3

(Spoiler Alert) Your shuttle pilot whose husband died previously, and he's not quite over it. Sweet, honest, capable, sensitive, adorable. The man really had it all, despite his anxieties (because honestly, who wouldn't when it comes to relationships in war). And bonus, I could actually romance him. Absolutely wonderful character, and the end of Mass Effect 3 with respect to him just makes me really, really sad for him.

10. Malik from Tales of Graces

Captain Malik is an interesting character from a combat perspective as he combines magic with physical ranged prowess, but really he's got a past he's not proud of but eventually owns up to, and beard. Do I have a type? I think I might have a type. He does need to cut his hair though, the hippie.

11. Alistair from Dragon Age

Charmingly hilarious, yet unsure of himself. Always the joker, defusing situations with humour. Alistair was another character I wished I could romance, but alas, was not to be.

12. Default Male Hawke from Dragon Age 2

This is really just about him being pretty. Also, beard. I admit there's nothing more to this one!

And that's it for now. These are just from games I've played, and isn't a complete list, clearly. And it's all just my choices. Other people clearly have their own ideas. It also doesn't include characters from games I haven't played, but think are pretty (like Nathan Drake from Uncharted or Chris Redfield from Resident Evil 5).

But there are definitely plenty of crushable male characters out there. I don't think that's an issue for me at least!

#List, #SoPretty

Friday, August 15, 2014

[WoW] Scenarios Are Dead, Long Live Scenarios!

While everyone else is either oohing or poo-pooing the new WoW cinematic--which is quite excellent as a story and as an animation, regardless of my feelings about orcs, orcs, orcs--I noticed a curious little statement the MMO-Champion took from a Gamescon interview with Blizzard staff (warning: spoilers behind that link).
There aren't any scenarios for you to queue for at Level 100 in Warlords right now, but some could be added in future patches. Right now they are mostly used as a storytelling tool while leveling.
For those not in the know, scenarios in WoW are 3-player content with no Holy Trinity requirement. Basically three DPS wander in and follow the story, kill the baddies, and fulfill objectives. Heroic scenarios, the more difficult version of scenarios, could be made much easier with the addition of a tank and/or healer, but you could still do just fine with three DPS (and I often did).

Fights in scenarios would often be made up of a lot of avoidable mechanics. Get away from the boss before he explodes, stay out of the bad, interrupt this ability, don't step on the trap, and so on. Basically, anything that would punish you severely for goofing up, but otherwise incidental damage was easily handled by off-healing by DPS classes (or crowd control to reduce it in the first place). Since you weren't guaranteed a healer or a tank, the designers couldn't rely on those roles being there.

You still had to deal with target prioritization, interrupts, crowd control, not standing in things, plus whatever unique mechanics each scenario had in place, so especially for heroic scenarios if you were at the intended gear level they were decently difficult. But I admit they played a fair bit like Guild Wars 2, and required little group coordination, which I personally do not really enjoy as a play style.

And I guess not many other people did either? I can only assume that Blizzard not making scenarios for queuing means that the feature didn't take off as they had hoped with respect to other people. I mean, you never sit long in a scenario queue given any three players will do (though you can't queue for heroic scenarios; pre-made groups only there), so it's not like nobody is doing them.

If it means we need to make a choice between 5-man content and 3-man content, though, I'd pick 5-man. Something about that Holy Trinity that makes actually dealing with encounter logistics that much more fun. Perhaps the heightened group coordination requirement? Or maybe scenarios were just too bite-sized?

Blizzard really started using scenarios as a storytelling tool to great effect in the Throne of Thunder patch, and I agree that it really made an excellent storytelling tool (I'd bet it was easier for the developers to make elaborate stories in an instanced scenario rather than a phased part of the world, too).

But the one thing I really want them to take from scenarios and bring elsewhere were the bonus objectives. It was like the Amani War Bear run in Zul'aman, but you could see the timer on the screen and got a neat toast when you succeeded (and extra VP, woo!). It was really gratifying to get that bonus objective, and I'd like to see more bonus objectives in dungeons and the like--perhaps not just timed objectives, but throw in a really difficult optional boss that dropped a neat pet or slightly better loot or something.

All in all, I won't miss scenarios as a dungeon replacement. They can go. But with the tech I'm hoping to see more really cool story moments in the world. As Blizzard gets better at that, perhaps we'll see more in the game and have to rely less on outside sources to get the story of the World of Warcraft.

#WoW, #HolyTrinity, #WarlordsOfDraenor

Wednesday, August 13, 2014

10 Years in Azeroth Part 2--10 Questions

Today I address Alternative Chat's 10 Years 10 Questions in celebration of World of Warcraft's upcoming 10th anniversary as a game. Let's roll!

1. Why did you start playing Warcraft?

I started playing 3 months after release (February 2005 according to my account history). I wasn't in the pre-release at all, but I was watching the game with interest. I'd played The Realm in the mid 90s, one of the first graphical MMOs to exist (releasing just after Meridian 59), and while I hadn't played Ultima Online, and only played the original Everquest for a few hours before getting bored to tears, I was interested that World of Warcraft was doing things different with quests, rest experience, and the fact that it was in the Warcraft universe!

I had been playing the Warcraft series since the original RTS and was obsessed with Blizzard games in general. I had loved Diablo, Diablo II, StarCraft as well, so a Blizzard game MMO seemed like a no-brainer. Of course, the game released right around my 3rd year of University, and right before exams, so that wasn't happening. But once I had some time to play, I jumped into the game.

2. What was the first ever character you rolled?

A gnome mage. Arcane mage, no less. I look back and shake my head, what on earth was I thinking? Arcane Missile, Arcane Missile, Fire Blast if the monster still lived. Sit and drink. Frost Nova if they got too close. But hey, I was smart enough to avoid the Wand Specialization talent even back then! Sadly that character has been deleted since, so I have nothing left of him. I did have a severe case of alt-itis back in Vanilla, where I tried all the classes up to around anywhere from level 10 to level 30.

To be fair, I still roll up and abandon characters all the time.

3. Which factors determined your faction choice in game?

As per my previous post, my early days were largely Horde, but it wasn't super uneven. I grew up on Alliance being the good guys and Horde being the "bad guys", especially in the first RTS. However, my big draw were the Tauren. Minotaurs were one of my favourite mythological creatures, and I really enjoyed how the Tauren were portrayed in both Warcraft III and in WoW itself.

Later on in early Wrath I co-ran a small Alliance guild, and then I left that guild for personal reasons and joined a much, much bigger Alliance guild over on Proudmoore (where I've resided for three expansions and soon to be a fourth!). So my current allegiance is dictated by my social ties, rather than story ties.

4. What has been your most memorable moment in Warcraft and why?

My most memorable moment was back in Ulduar-10. I was co-raid-leading our "Introduction to Raiding" Sunday night raid (which ironically made a fair bit more progress than our "hardcore" raiding team at the time, though they were 25 man).

It was our first time reaching Kologarn, and everyone was oohing over his introduction as he rose from below. We were sitting in the entrance, and I was explaining the fight to the raiders when my itchy Holy Paladin trigger finger accidentally hit Judgement (note it was spelled differently back then :) ) and started the encounter.

Everyone ran in in a panic while I ran out, thinking we'd just wipe. But I ended up dying since he kills anyone outside the encounter area automatically a few seconds after the encounter started. However, I finished the explanation and directed the raiders during the fight from my dead vantage point and they ended up one-shotting the fight one healer/raid leader short. It was awesome and brings a smile to my face still when I think of it. My raiders rocked it.

5. What is your favourite aspect of the game and has this always been the case?

Today my favourite aspect is raiding, through and through. Coordinated group content, largely because of my guild and the friends that I've made in it. I also like the tactical portion of it, coming up with strategies, tailoring them to my raiders' strengths and weaknesses, analyzing logs and providing feedback.

I started raid-leading back in Ulduar, and have been leading raids in some capacity almost every single tier since. Today I usually just raid call and deal with boss strats, and others deal with attendance, which I'm perfectly okay with.

It hasn't always been the case though. Vanilla every raider I encountered was a complete dick (though given I never hit max level in Vanilla, I didn't run into too many of them), and the rest of them I knew by reputation only--which meant funny yet terrible videos like the Onyxia more DoTs video.

Warning: Extremely Foul Language, and many lols.

Seriously, who wanted to play a game with that sort of person? Through TBC as well, all I ever heard was the bad. And the abuse. Mages in Molten Core who'd get dumped after conjuring food. Paladins who existed only to buff. Priests who had a healing rotation and sat on their thumbs when not healing. Warlocks getting yelled at for using their DoTs and knocking other debuffs off the boss. Shaman being nothing but Bloodlust/Heroism and Chain Heal bots. I was quite well versed on raiding via reading and hearsay.
Oh, and don't forget the egos. Those world first folks? Hearing about them through the grapevine, or listening to "elite raiders" in general chat in Shattrath as the shat all over the general populace?
In Wrath I finally got into raiding thanks to my then boyfriend, who showed me that most of what I experienced wasn't representative. Well, the class issues were completely true, and fairly fixed in Wrath. But the egos of raiders? Just a subset of really vocal people. The jerks in general chat? Most of them could barely function in a raid, they were just lying jerks full of hot air.
Today I find myself loving raiding, and loving the people I raid with. Oh, occasionally I do run into an ego, especially those folks who help us out when someone can't make it, and then turn their noses down on us because we took so long to finish the normal version of the raid (at a whole 3 hours a week, thanks), or that we're not bothering with Heroic modes, at which point I promptly ignore everything they say. Especially when they start trying to analyze wipes and get the analysis completely wrong because they're comparing it to the strats their guild uses and assume anything different is the source of the wipe. That always made me giggle.
But there are also plenty of nice heroic raiders out there, who are fun to play with and are absolutely great people and players, who are helpful and funny. And of course there's my own raid team, who're some of the funniest, most fun people I like to hang out with on a weekly basis. These are the kinds of people that make raiding totally worth it.

6. Do you have an area in game that you always return to?
Not really. I'd say Stormwind, but that's just a function of what's the current Alliance hub. Especially given waaaay back in the day Alliance generally sat in Lagforge. Er, Ironforge.

7. How long have you /played and has that been continuous?
As per my previous post, 180 days, 11 hours. And that's not including a number of "main" characters I've deleted (including two mages), so I'd bump that up to an estimated 200 days at least. It hasn't been continuous, though.

I played on and off throughout Vanilla, partly due to a lack of funds, and partly due to working 40 hours a week while going to school full time. I barely had time to sleep, let alone play a video game, especially one as time-intensive as Vanilla WoW. Taking a look at my subscription history, there's a clear pattern of, "play at the beginning of a semester, drop the game for the last half and exams, pick it up again next semester." Interestingly enough, this would imply that the summers where there wasn't a semester I didn't actually play, which is correct.

Strangely enough I don't remember playing much of TBC, but apparently I was subscribed for most of it? I graduated in the summer of 2006, and played on and off, and checked out the expansion, but took 6 months off after getting bored with doing everything by myself. Then like 3 months before Wrath dropped I started playing again and have been playing since.

8. Admit it: do you read quest text or not?

Depends on the day, and what my aims are. If I'm trying to hit server first for leveling, I clearly have no time to do it. But when I'm leveling characters leisurely, I love reading quest text. Especially post-Cataclysm quest text. A lot of it is funny and really clever.

Seriously, if you've never done the quest Welcome to the Machine and the line that follows? Go, do it. Right now. It's hilarious.

9. Are there any regrets from your time in game?

Not really. I doubt I'd change anything I've done. It's been a lot of fun. I don't think it's a fair comparison to say something like, "I could've cured cancer if I spent all that time on science!"

First of all, gaming is leisure time. Everybody needs some leisure time. If there's something I learned from both working and university full-time simultaneously is that if I don't have some leisure time, I go completely nuts.

Secondly, I don't watch much television or even movies. Right now my watching patterns are when new episodes of Sailor Moon Crystal come out, so that's about 40 minutes including commercials every two weeks. Tack on an extra two hours a month for the rare movie. Those 5 hours a day other people are watching television? I'm gaming. I'm doing something interactive, rather than passive. I'm chatting with friends online; I'm doing mathematics to figure out how to play better; I'm reading quest text. The list is endless.

So no, no regrets, at all. It's been a lot of fun. It still is!

10. What effect has Warcraft had on your life outside gaming?

Pretty much everyone I've dated over the past decade has also played WoW (though in all cases we initially met via avenues outside the game), so it's made for an easy jumping off point to get to know one another. Raid leading has taught me some extremely valuable managerial and social skills. I've made some fantastic friends in my guild, and have met some of them in real life.

Basically, it's been a great decade, and looking forward to more in Azeroth!

#10Years10Questions, #WoW, #Personal

Monday, August 11, 2014

10 Years in Azeroth Part 1--Characters Over the Years

Alternative Chat has a documentary she's putting together about players over the past 10 years of World of Warcraft. While I intend on answering her 10 questions eventually, I thought it would be an interesting exercise to dive into my own past and dig for clues to my playing habits, and perhaps some historical information on WoW itself.

A small caveat, I have deleted characters in the past. I know of at least three mages and a rogue I have deleted off-hand--my very first character, a mage I ran in TBC until I quit for a while, my primary character from the end of TBC to Ulduar, and I tried leveling a rogue to no avail, respectively--so my stats won't be completely accurate, especially concerning my love affair with magi in my earlier days, but it's still pretty interesting.

41 Characters, at least 4 deleted, I'm pretty sure there are more missing, too.
So I ran through ALL of my characters and noted their levels, classes, races, time played, and other interesting notes that I could remember. Below is a spreadsheet of the information that I put together (you should be able to click the sort arrows to futz with the sorting order).

I've learned a few interesting things from all of that data.

First of all, I have a slight bias towards Alliance, however, the Alliance skew occurred in Wrath onwards. Most of my characters pre-Wrath were Horde. Wrath was when I was co-running my own small guild, then switched to a big guild (to which I am still in today), so I'm going to guess the stability of guilds helped that pattern.

You'll notice there are no rogues on that list. I tried leveling a rogue once, it was awful. That was with heirlooms, too, so leveling speed wasn't the issue. It was just the class was dull to me.

But barring all the mages I've deleted, the most popular classes based on number of characters in descending order are shaman, paladin (not surprising), warlock (!?), hunter, mage, warrior, priest, druid, death knight, and monk. But if you add up total levels of all characters of a given class, it tells a different story:

Not only do I have a lot of shaman, I play them a lot, too. And they're almost all Enhancement. For having so few druids, though, I have a LOT of levels. I apparently tend to stick with druids a lot longer than other character classes. And where I have a LOT of warlocks and hunters, and a number of warriors, I tend to abandon them all quite early. Priest is artificially inflated by 27 levels because one was level 63 before I boosted him to 90 for professions, so it should be lower than the hunters.

I really, really wanted to love hunters early on, since I had so many, but I don't particularly enjoy pet classes in general so I tend to abandon them, Frost mages excepted.

Total time played for characters that still exist: 180 Days, 11 Hours. So half of a year or my life in the past 10, and the majority of that on my three current main characters who've existed since Wrath.

It's interesting to note how much time it took to level older characters versus characters today. Looking at the Level 27 - 29 characters, the 27 Tauren Warrior and 27 Worgen Druid were leveled in MoP with Heirlooms, taking about 6 - 8 hours to get there. Compare that to the level 28 characters and the 27 Blood Elf Warlock who were TBC characters, taking 36 to 44 hours to get to the same level. However, the 27 Tauren Warrior was a Wrath character, and took about 24 hours to do the same (I honestly don't remember if he had Heirlooms or not, but they were introduced around Wrath if memory serves).

Then if you look at the level 42 Troll Hunter at 3 and a half days (TBC) versus the Level 48 Tauren Paladin at 1 and a half days (Cata), and the level 38 Pandaren Monk at half a day (MoP).

I'm not saying we should have longer leveling times. Given the end game is where my interest lies, I'm quite fine with the acceleration of the leveling process. Also, the times are skewed because I've gotten more knowledgeable and better at the game over time, so the shrinkage is compounded. But it was fun data.

If we take the time played data by class rather than total levels, the order switches around a little bit:

I may have more shaman at higher levels, but I clearly prefer playing on my paladin(s), and the two classes have the lion's share of my time in comparison to the other classes.

Races aren't terribly interesting in my case with the exception that I clearly prefer Humans and Tauren. The rash of Worgen are misleading. That was just me attempting to like the race because werewolves. But alas, not to be.

So that was my trip back statistically. Next post I'll actually address Alternative Chat's 10 Years 10 Questions.

#10Years10Questions, #WoW, #Personal

Thursday, August 7, 2014

[Indie Dev] And Now For Something Completely Different: Camera Math

One of the things I was hired for at Flying Helmet Games is to handle some of the more complex mathematical items. Cameras in particular. Everybody can talk about the cameras they hate in games. Mario 64 had one of the better cameras for the time, but it was still vexing. As the player, you should either not notice the camera, or if you do notice, it’s in a good way. Turns out making a good camera is part art, but there’s definitely a lot of math.

Think about a somewhat pseudo-isometric camera, like Diablo III--note that it’s not technically isometric in Diablo III, it’s just emulating an isometric projection; it’s just a plain old perspective camera locked in position at an angle above with respect to the scene. One of the weaknesses of such a camera is not being able to see ahead to understand where your enemies are. In a trigger-happy hack and slash game like Diablo III, this is fine. You’re not usually attempting to make fine-tuned tactical decisions. But in a game where you want to be able to plan ahead, seeing where enemies are situated before you run into them is key.

I apologize ahead of time for subjecting you all to my MSPaint “skills”.

The eye in the upper left is the camera, and the square is the view: what you see on your monitor. The folks on the outside are the enemies.
So you have your party, the camera is centered on them, and you as the programmer know there are enemies coming up (perhaps your players have a “sight” radius where they can detect characters beyond the camera view). The na├»ve approach would be to pan the camera over to the enemies to include them in the view. That’s not really too bad of an approach, except depending on how far away the enemies are, you may end up having players fall off the screen, which is terrible.

If we just move the camera over (due to a fixed angle), we end up leaving some players out of the screen!
You could do so temporarily and then pan back, but that involves loss of character control, as well as having to rely on player memory. Not to mention, what happens if they want to engage from range? No, we need to fit everyone on the screen, so instead, we need to programmatically be able to pull the camera back. We’ll also need to push the camera back in when all of that extra distance is not needed.

Note I was told by our cinematics guy that this is in no uncertain terms called "zoom". Apparently zoom involves changing the field of view, and since we need that to be static, it's not zoom. He was quite insistent, and admittedly, he knows the terminology better than I.

Rather, you want to pan to the center of them all, then pull back to ensure all actors you want are on screen.
Once we’ve centered the camera on all of the actors we want to include, how do we calculate how much we need to pull the camera back to ensure they’re all in the view? Some vector math, a little trig, and some ray-plane intersection calculations will do the trick.

So what do we know? We know where the center of the camera is pointed at (our LookAt), we know where the camera itself is situated (our Camera), and we know/can calculate where the furthest actor we need to include in the view is (PointX).

Starting with these 3 points, we can actually calculate a pair of triangles to eventually be able to get to where we want our camera. Below depicts a pretty complex diagram of where we want to be, and all the pieces in-between we need to calculate. I'll break it down.

Don't be fooled. I drew this as a right-triangle, but it's not guaranteed to be one.
So Camera, LookAt, and PointX are known quantities, as per our full diagram above. Camera' is where we want our camera such that it includes PointX. Ultimately, that's what we're trying to calculate.

Note that we know the camera is fixed in field of view and frustum, and as such we know the top-most angle on both triangles will be identical (though we don't know the actual angle A). We also know that the bottom-left angle will be the same, and via the properties of a triangle, we know that all three angles must add to 180 degrees. The result? We're just trying to figure out how much to scale our triangle to fit the triangle to PointX.

If we can calculate the sides a, b, and d, we can figure out what e should be via simple ratios:
Since we're just scaling, these ratios must be equal.
We have the exact locations of three points, so we can calculate the side-lengths b and d trivially. a, on the other hand, may be a bit more difficult. We're missing what I've labelled PointP.

The thing about triangles is that if you have some combination of angles and sides, where you know at least one side, but a total of three things, you can calculate anything else you want about the triangle. However, all we have at the moment is side b. To get side a, we need more information.

We can calculate angle C. We can do so because we have two vectors: (Camera, LookAt), and (PointX, LookAt). How do you find the angle between two vectors? If your math library doesn't offer it, just make sure your vectors are at the origin, normalized, and the take the inverse cosine of the dot product. Unity thankfully does this for you via Vector3.Angle, though you'll still want to ensure they're at the origin.

But now we're at an impasse. We have one angle, and one side, but we can't calculate any more until we figure out what I've labeled PointP. Once we have PointP, getting side a is trivial, as it's just the distance between PointP and LookAt. We cannot calculate PointP with the information we have in the above diagram, however. We need another way to do it.

Let's go back to our full camera diagram. Note that PointP is on a straight line that passes through LookAt and PointX. Also note it passes through our camera frustum! If we can figure out the intersection of that line with the correct frustum plane, we can calculate the precise location of PointP in world space.

Frustum plane calculations are a bit intense, but thankfully Unity again comes to the rescue with GeometryUtility.CalculateFrustumPlanes. It returns all of the planes for our camera frustum. All six of them (near clipping, far clipping, and the four sides). Too many planes! How do we know which one is the correct one?
Creating perspective camera diagrams in MSPaint is more time consuming than expected.
In the above diagram, we see the camera point, and two boxes: one close to "us" and one "further back" towards the camera point. These are the near and far clipping planes. By comparing their normal to the camera normal, we can remove these from the planes that we need to check, since PointP should never be anywhere near the clipping planes.

That leaves us with four planes, and a vector (PointX, LookAt). To figure out which plane we're behind, we can do a quick angle check between each plane normal and our vector using the same technique we did earlier. Whichever angle is the smallest (we don't care about the sign) is the one we're behind.

If you were to ask me to build a rigorous proof of this, I wouldn't be able to off-hand. But I'm fairly certain it works as long as LookAt is precisely in the middle of the frustum walls.
Now that we know which plane to test our intersection against, we can perform a single Ray-Plane intersection and get PointP. Once we have PointP, we can use it combined with LookAt to derive side a, and then apply our ratio calculation to get side e.

As a reminder of what we're deriving and what we have.
Subtract side b from side e, and bam, you now know the distance you need to move your camera back along the camera's normal to fit PointX in the frustum. And, as it turns out, we didn't even need to calculate angle C.

Interestingly enough, this algorithm largely works in reverse, too, if all of your actors are inside the frustum and you need to push the camera back in. One of the vectors you use in a calculation above has to be reversed once you realize you're inside the frustum instead of outside, but you can re-use 95% of the same code. But I leave that as an exercise to the reader so I'm not giving ALL of our mathematical secrets away.

Note that this technique relies on the camera being static as far as field of view and rotation in the world goes. It should be fine to have different starting rotations, but once you've got the camera running, you're stuck (if you need to use fancy zoom in cameras for animation, etc. just duplicate the camera and move the duplicate instead). It also doesn't work if your near or far clipping planes are too close to the characters, but that generally isn't a problem in a Diablo III-style camera environment.

So there you have it. All of the math required to figure out how to fit all of your actors you need to on the screen at once, just to give folks a taste of what I do on a daily/weekly basis! I'm pretty lucky that I get to talk about things at this level of detail, and hopefully we'll have more meaty design-type stuff for folks eventually, too!

#Math, #IndieDev

Monday, August 4, 2014

In Support of Support Classes

While I don't necessarily agree with Keen in my previous post about class consolidation necessarily decreasing combat depth, I do agree with him insofar as having support classes can be fun.

When folks talk about the Holy Trinity, it's basically a way of dealing with threat mechanics in a way that makes some sense to the players. Tanks deal with taking damage, Healers fix damage taken, and Damagers (or DPS in more common parlance) take out the baddies.

It wasn't always like this, though. In older MMOs like Everquest, you also had Buffers and Debuffers. While WoW has rolled those two class archetypes into tanks, healers, and DPS, I find I miss having that very specific role where your job couldn't necessarily be numerically evaluated quite so easily.

When you look at D&D 4th Edition, they don't have a trinity, they have a quartet: Leaders (healers/buffers), Defenders (tanks), Strikers (DPS), and Controllers (debuffers). I often find playing a controller or leader is actually a lot of fun. The ability to move people around combat, change the face of the battlefield, or give folks bonuses to their damage or to hit, is harder to measure than damage taken/healed/done, but is still an immense help to the party. To be honest, I prefer one of those roles over Strikers, because while big numbers can be fun, I find my combat options tend to be more limited as a Striker.

In Vanilla, WoW did effectively have buff classes in the form of early Paladin and Shaman. Though, I'll grant you that having to spend all your time buffing 40 players one-by-one with Kings, then starting over and buffing them again one-by-one because it would expire soon wasn't a good implementation of a buff class. However, with EQ-style Bards you could "twist" songs to provide up to two buffs at once to your party, and you had a number of different buffs to hand out based on the context of the situation.

Now, Blizzard did basically decide that buff classes as they were in Vanilla were not the way to go. Over time, every class was relegated to DPS, Heals, or Tank, and buffs and debuffs got distributed across all classes. Bring the player, not the class, right? Though you still need to bring a specific role.

It makes me wonder if rolling up buffs and debuffs into the Holy Trinity was required, or if there's room for classes specifically devoted to helping other people? Or was it perhaps a side-effect of a very numbers-driven sub-culture, where Recount was king, and if you weren't pulling numbers, you weren't effective? In WoW, damage meters of some sort existed as far back as late Vanilla at least.

The ability to measure your output is interesting and mildly contentious. It's very difficult to improve if you don't know how much damage or healing you're outputting or taking. On the other hand, if there was no ability to measure that number, people wouldn't focus on it either. RIFT tried this for a while, but the developers eventually reneged based on player feedback, so I'm not sure that particular genie can be stuffed back in the bottle.

But as per my point earlier about D&D 4th Edition Strikers, perhaps that's the more important point. Strikers I find dull because they exist to do damage and nothing else. Perhaps rolling up buffing and debuffing into DPS doesn't have to be about buffs and debuffs being dull. Perhaps it could be that just plain old DPS is dull, and giving them buffs and debuffs to handle as well as DPS makes the role more interesting?

While I don't think we'll ever be able to see a buff/debuff class in WoW--it just doesn't fit in the playstyle anymore with the distribution across classes and rolls having already occurred--I think perhaps we might be able to see something like that in other games that don't quite have the Trinity so entrenched.

#GameDesign, #HolyTrinity

Friday, August 1, 2014

Life As An Indie Game Dev - Month 1

A while back I mentioned that I was becoming a developer for a small independent game company called Flying Helmet Games. Now that's it's been one month since I started, I figured I'd report in here with some interesting info.

As a developer, I'm not actually much involved in design decisions proper at the moment. My job has largely been handling the mathematics required for features. Things like camera work, line of sight, area of effects, and so on have been my domain so far. Thankfully I have a whiteboard in my apartment, which constantly gets filled with diagrams, equations, etc. before I discover I am wrong yet again and erase it all.

Don't look too closely, one of my substitutions accidentally made everything work out to 0. The theory was mostly sound, though.
On the bright side, I can now completely justify the math minor I got nearly a decade ago, so that's good news.

We're a small studio, with only two developers total (soon three) among artists, designers, writers, etc., many of whom wear multiple hats, so I'm kept pretty busy in the code mines. Frankly, I'm okay with this since I love coding, and I didn't realize I had missed all the math until I started doing it again.

I've been working remotely from home, compared to most of the rest of the team who're in an office in Vancouver, BC. I've never really worked from home permanently before. In my previous job, sometimes I would work from home to enforce an uninterruptable day; the more senior I got, the more folks needed to interact with me, and so interruptions would be constant. So I thought it would be great.

My home office. Not fancy, but it works quite well.
Focusing hasn't been an issue. I have an area in my apartment divvied off for working away from all of my distractions like games, and such. But the lack of human contact through the day is driving me slightly mad. I'll admit, I miss having people around. I'm a pretty chatty person, so not having anyone to talk with has almost been a distraction unto itself. It's been great for driving me out of the house in the evening though. More than ever, I've started reaching out to friends to do things in the evening rather than my modus operandi of being a passive nitwit and waiting for people to invite me to things. Still working on that, but hey, nobody's perfect.

The other bonus is having a laptop and working from home is tethering my laptop to my phone and going elsewhere to work. Apparently my apartment building has a gorgeous courtyard in which I can hang out and get stuff done. Clearly that'll be more of an issue come fall, but for now it's great.

Warm yet shaded. Also, secluded from the rest of the city. I don't even really hear much traffic.
So yeah, I don't really have much to report otherwise. It's been great so far, I'm working on interesting problems, but we don't really have much to talk about quite yet. At least, not that I'm aware I can really talk about. I'll get back to folks on that!

#Personal, #IndieDev