Archive for the ‘games’ Category

I get to be an awesome Demon Hunter who doesn’t look like a prostitute! – Diablo 3

I started Diablo 3 last night and it is awesome.

For the record, I’m not a Diablo fan. I’ve played 1 and 2 and enjoyed them, but never finished either one (I was little and got scared :( ). I didn’t follow any Diablo 3 news until a day or so right before release.

The Diablo 3 release has been plagued with technical issues and all kinds of complaints, among them:

  • Internet connection required even for SP
  • Server downtime on top of the above
  • The game being pushed out in an incomplete state
  • Game breaking armor bugs
  • Lack of character customization/skill trees
  • Microtransactions
  • Graphics and art direction (really?)
  • Pretty much anything else that you can think of has been whined about

Many of the above are valid, but I guess because I was never a big Diablo fan I didn’t really build up huge expectations over however long this game was in development for and didn’t feel too inconvenienced when issues came up.

Server problems are to be expected on launch, always. You’re an idiot if you give the game a score of ’0′ on Metacritic based on launch day server woes (in my opinion. I know this is technically debatable). I’ll admit that these things should not happen and would not happen in an ideal world, but come on – you have a huge number of people who preordered a game all logging in at once over the first few days post-launch and expecting everything to be just dandy? Could Blizzard maybe have staggered the release better? Maybe, I don’t know. It doesn’t matter because I expect these things at launch from any online game.

The always-on DRM does bug me. I should not have to be online to play a single player game. In practice, though, I’m used to MMOs where you’re online all the time. It’s not like this is anything different for me experience-wise. I don’t have the time or energy right now to go on a crusade against Blizzard’s DRM measures so pardon me if I’ll just deal and enjoy the game.

Everything else in terms of problems is ‘meh’ for me. I’m not seeing this as a sequel of D2 because I don’t remember anything about D2. The lack of skill tree does not bother me. I entered the game with a totally open mind, having next to no idea of what I would find (except I knew there’d be zombies). Yes, there are problems. Show me a game without any.

So meet Drakonka, my almost-level-11 Demon Hunter:

Drakonka

She is fricking awesome. My one complaint about her is that she’s wearing high heels while trying to stay alive in a zombie-infested Hellhole. She may not be the most practical of ladies in terms of footwear, but at least she doesn’t look like a total prostitute:

Tera -.-'

Can we just stop being unappreciative jerks please?

This is not going to be a very popular opinion considering my reader demographic, but I’ve grown a little sick of the gaming community as a whole and recent whining about Diablo 3 has triggered…well…this post. Why do so many of us have to be so negative about everything that comes out? Ok, I understand things like being frustrated about server downtime, or installation problems, or major bugs. I completely understand the frustration there.

What really bugs me is not our annoyance about technical problems or things not working as designed, but how much we whine about design or art or other decisions that don’t tarnish our experience in the long run (or wouldn’t if we didn’t get so worked up about them) and things that most of us don’t even understand; things that were put into a game or left out of one for what is likely a good reason that you or I can’t fully appreciate because newsflash: we weren’t there. We take these things so personally, as if Blizzard or [insert whatever developer you're complaining about now here] went out and ruined this game just to spite us somehow. Yeah. I’m sure they all sat around a big fancy table in a big fancy meeting room and brainstormed all the different ways in which they can make the community at large hate this thing that they’re sinking 12 or 14 or whatever-hour days into building. That’s exactly what happened.

Developers make mistakes. I get that. Many mistakes. It just gets tiring to hear people be so negative over and over about every single thing they see. Can’t we just focus on the good parts for once? Why do you even play games? To have something to complain about? We are a bunch of spoiled, ignorant kids whining about anything we can think of – graphics, sound, art direction, story. And it’s not like I’m saying that we shouldn’t voice our opinions or bring these things up (that would make me a hypocrite), but most instances of people “bringing these things up” are very far from constructive, mature criticism and very close to repetitive foot-stomping like the developer is your fricking mother refusing to buy you candy at the supermarket. You know those kids? The really annoying ones that make you swear off of having children for life? Please stop being one. It’s exhausting.

“Whine whine whine, everything sucks. The game is crap. The story is crap. The animations are crap. It’s AAA and they want our souls. THE PIXELS ARE TOO SQUARE.” You don’t like something? Express your opinion in a way that doesn’t make you sound like a spoiled 12-year-old and move on.

I like playing games because they’re fun, not because I’m interested in seeing this thing that someone made for us to enjoy dissected like it’s some sort of challenge to find something, anything, everything that could possibly be wrong with it and then act personally affronted. As if someone putting in some mechanic you don’t like very much is the equivalent of them personally slapping you in the face. STFU and enjoy the damn game. And if you think it’s that horrible, STFU and play something else. Nobody’s holding a gun to your head (one would hope).

(Also I saw this on Reddit and had to share even though it is completely irrelevant to the topic):
</rant>

Update: Anthony was awesome enough to link me to an article on games.on.net in the comments, which I think was published just before this post and also deals with the sense of gamer entitlement. Check it out!

Affecting the world and other things smelling up our fridge – by Joseph Hewitt

Liza: This post, aside from this brief introduction, was written by Joseph Hewitt. I met Joseph at Interzone Games, where he tried to do his job as Creative Director while I waved bug lists at him and got on his case about design specs. He is now Creative Director at Jet Set Games, where he works on Highborn and makes all kinds of awesome stuff happen. Joseph also has his own blog: Working as Designed. Oh and he worked on one of the first (if not the first) video games I’ve ever played – Disney’s The Lion King. I fricking loved that game. Also he dumped a stack of George R. R. Martin books on my desk one morning and introduced me to A Song of Ice and Fire. Anyway, on to the important stuff:


Affecting the World and Other Things Smelling Up Our Fridge

The conversation that started this was about MMO games, Fed-Ex quests (where you go get or go deliver something), and how these games would be better if the players had some impact on the world. I rambled and fired off several, mostly incoherent, thoughts on the matter. Now I am attempting to reorganize those thoughts into something more readable that Liza can post. It won’t be all that coherent because I have about an hour to write this. I really need about a week with lots of editing and focusing. This is still going to be bumpy and pretty erratic, so hold on.

The first thing I started with was a tale, and I have to admit I heard this second-hand, that there were many complex systems built into Ultima Online at its launch. An example that I was given talked about the ecology of the world where dragons fed on the deer who ate the bark of the trees. If the players cut down too many trees, the deer starve and their population lessens leaving nothing for the dragons to eat and so they attack the major towns.

The problem is that Ultima Online wasn’t the real world. It was (and actually still is) a game. Thousands of non-ecology friendly players slapped down their money, logged in and wanted to get some skill or other maxed with trees and deer be damned. All the systems blew up almost instantly and they had to turn them off. That was the equivalent of millions of dollars of development time put into something that failed on day one.

It would have been much easier for them to fake it. Just have the monsters attack the towns based on some random roll with some minor input from other systems and then just say the reason they are attacking is -insert fiction here-.

That example doesn’t really address the premise of players affecting the world, but Ultima Online was player driven. There wasn’t a quest system, no experience system, no levelling. It was skill based; you did something and you got better at it. What did people do though in this world without quests? A lot of them went off on their own adventures: exploring the lands, building castles, killing other players and taking their stuff.

I’m getting a little ahead of myself, we’ll get back to players being dicks in a minute. The example I was setting up there was that they spent all that time and money on those systems and they didn’t work. Not even a little bit. What if they couldn’t have turned them off and still had a game, what if they had built their entire game around those failed concepts, and it didn’t work when exposed to the masses? People are afraid to invest millions of dollars into games with that much risk for exactly those reasons.

I don’t mean that letting players have a major impact on the world isn’t a good idea. What I am saying is that it isn’t easy and isn’t going to happen tomorrow. It is going to take small baby steps, one game at a time, to get there and there will have to be a lot of thought put into it.

Each little step is probably much more complex than you are thinking. How about as an example we use letting the players elect some other players as the rulers of areas of the game? The ruler could set taxes, maybe adjust some game setting for their area, give it a name, and declare war on other areas. Sounds pretty cool doesn’t it?

Let’s think about it. First of all you have to make sure that you aren’t spending a lot of time and money on systems that only a few people will ever experience. Sure the ruling guy and maybe his guild could have some fun, but most players would never see all that. Second you have to make sure you idiot and jerk proof the hell out of those systems. People are dicks (told you we’d get back to that) and a whole lot of them will be more than willing to screw over everybody else for their petty fun.

Back when playing Everquest, I gave a lot of thought to a system for players to give positive and negative karma to other players. I even got to playtest it a bit in the large live-action game I was running at the time. Basically, you could give positive karma away one for one, but if you wanted to give somebody negative karma it would cost you double what you were taking away from them. There was more to it (how you earned it, how much you could have at one time, and what it would do in the game), but the point is the only thing that I could come up with in my live-action game that didn’t have everybody being dicks to anybody who wasn’t their friend was to have negative actions cost them more. They were forced to cut their own nose to spite somebody else’s face, to twist a metaphor around until it screams.

People love to bring up Eve Online when talking about players running the world. Eve has a lot in common with Ultima Online; both are skill based systems without any artificial quest and story. They are both player driven.

There are many cool stories we’ve all heard over the years about neat-o things that happen in Eve Online. Excuse me if I get details wrong, the points still stand. One such was the tale of a player starting his own bank that loaned money and paid interest. It was great until he got bored and took all the money.  Another story is about corporate espionage and paid assassination. A group was paid to infiltrate a major corporation by that corporation’s rival. The assassins rose to prominence in the guild, gained the trust of its leaders, and convinced them to fly their very, very, very expensive battle cruiser on a tour of the galaxy and right into an ambush. The group also robbed the corporation blind and stole all of their ships.

These stories sound cool. But they really aren’t for most people playing those games. Most of them never see that kind of action, they are just out there mining asteroids and trying to get money to get a better ship while they skill up. Those things certainly aren’t fun for the people who just lost all their stuff. How many of them do you think used that as a breaking excuse to leave the game? Breaking excuses are a big concern to me.

The thing that really annoys me about those types of Eve Online stories is that the real world breaks them.  You just got all your stuff stolen by another character, what can you do about it? Nothing. You can’t do a thing because the character that stole that stuff from you is gone. He transferred all that stuff to one of his other characters and there is no way for him to be tracked. Oh sure, he is still taunting you in the forums, but his in-game character is gone. There have been ideas revolving around marking things as being ‘stolen’ goods which have some detrimental effects in game or maybe even some way of being tracked, but there is a lot of stuff you have to work out and get right in order for it to work.

Another game I’ll bring up is Shadowbane, though note that this is another second-hand story. It had many problems where designers didn’t think things through.  A good example was unlimited guild size meant that eventually one guild took over the server. Players either joined or were beaten into submission. People started leaving the game. There was also nothing else to conquer so even the winning guild faded away.  If only they had implemented some sort of back pressure system, so that guilds couldn’t sustain such a large size. Maybe have their effectiveness work on an incremental curve where adding new members wound up costing them more upkeep than was worth the smaller amount of power they gained.

The actual point I wanted to mention about Shadowbane was that they had city sieges. The city walls had sally ports and anybody on the defending side could open them…and let the enemy in. No other defenders could stop them, because they were on the same side and you couldn’t attack your allies. Why were people letting the enemy in? They were secondary characters of the people on the other side and/or they were just being dicks. They really need a better system to handle those doors. I was thinking of a system where only the defending players could go through them, but have something on the outside where the attackers could hold the area in front of the door at the same time while not allowing the defender to just step back in and be safe. Maybe just having it be a one-way door would be enough?

Okay it is getting late so let me wrap this up. In all of those examples you have to remember that getting screwed over again and again, losing all your stuff again and again, isn’t fun and those players will leave the game. Then the people doing the screwing have nobody to screw over, they get bored and they too leave your game.

Those are big risks when you are spending millions on your game development. People are afraid that when Little Timmy logs in, he might not have a good time and instead of sitting around providing an income stream to the game, he leaves and goes off to play Defense of the Ancients. Even if Little Timmy stays, he probably won’t be able to affect the world even in a game where players affect the world. He might want to, but maybe all he can manage to do is mine asteroids while other players with more time and money have all the real fun. Think about all the cool ideas you have for a game where players affect the world. Think about all the players much, much, much more powerful and skilled than you in every game you have ever played. Do you think you will be the one doing all the world affecting or will you be mining asteroids? I was in one of those top of the game, first content, envy of the rest, uber guilds (two in fact). The funny thing was, I still felt the same while playing. Instead of a peon in the world, I was a peon in the uber guild because even inside those guilds that ruled the game, there were people who ruled the guild.

Personally, I think maybe the MMO as we are used to seeing it is going to fade into the background for a while and the two things you are going to see rise in popularity are more free-to-play game with micro-transactions (Yes, you hate them but remember that there are players who are willing to buy this or that for cash, and those players are letting you play for free.) and maybe games where player skill is made important (think Planetside 2 and Terra). I have a few ideas in those directions too, but I’ll kept those to myself for now.

A belated post about the first Guild Wars 2 Beta Weekend Event / @GuildWars2

Over the past few days I’ve been processing my thoughts about the Guild Wars 2 Beta Weekend Event, which was now a couple of weeks ago.

I am not going to talk about the good parts in too much detail here (though I’ll mention my favorites). There is already plenty of ranting and raving online about how good this game is. I hold ArenaNet games specifically to a high standard and was confident that they would make Guild Wars 2 an awesome game. Suffice to say that after waiting for this for 5 years, I was not disappointed. However, there have been some things that I didn’t like during the Beta Weekend Event, or things that nagged at me, minor annoyances. We already know Guild Wars 2 is awesome. What we need ANet to do now is make it even more awesome by addressing the current problems or things that are just not that fun. I’ve put together a list of 3 things that I thought were bad and 3 things that I thought were good. I could keep adding more points for an eternity and still not cover all of my thoughts on the game, so I’m sticking to 3 in each category.

(Note: I stuck to PvE only in this BWE, so no PvP will be mentioned)

3 things that kind of sucked

Overflow needs work

When I first saw the overflow mechanic in action I was convinced that this is an awesome system to handle server queues. And it is. But there’s a problem. First, let’s go over how the Guild Wars 2 overflow mechanic works:

  1. You create a character on a server
  2. You attempt to access a map on said server, but the map is full
  3. Instead of being told to wait in line, your character is automatically placed on an overflow server – a copy of the map that allows you to keep playing through the same zone while you wait for space to free up on your home server.

In theory this is awesome and in practice this could be awesome. For me it was awesome as I’m a bit of a lone wolf when it comes to exploring MMOs for the first time. I prefer to play on my own until I get the hang of how the world works and then start teaming up with people. So for me, transitioning to and from overflow was pretty much a seamless experience because I wasn’t getting separated from my friends. On the other hand, people who were playing together found themselves constantly ending up on different servers from each other as they were pushed into overflow. For a social game (you know, MMORPG and all), this is a big problem. The good news is that ArenaNet has apparently already acknowledged the issue and will hopefully be reworking how overflow works to allow people to keep playing together.

In a sense overflow in Guild Wars 2 reminds me a lot of districts in Guild Wars, except more seamless (or it will be when groups can stay together).

Norn dialogue and voice acting was cheesy

I played a Norn Ranger in this BWE. I don’t know how the Norn PvE campaign compares to the other races, but I thought the voice acting and dialogue were really bad (cheesy and lame). Looking back on my screenshots, after I’ve forgotten the voice acting, the dialogue doesn’t actually seem that bad, which leads me to think that it’s the voices that made the experience cringe-worthy. Example? Just imagine this said with the lamest voice and intonation possible:

Guild Wars 2 Norn dialogue

"I can and I will. This is where my legend begins!"

After a while it either got better or I stopped noticing it so much, but in the beginning this was just really really bad.

Dynamic events began seeming redundant

Don’t get me wrong – the dynamic events are really cool. However, after a while they just began feeling repetitive. It was really fun to complete them once, but then you just kept seeing them come up in the same locations. Part of you wants to go again for the sake of finishing it because you’re just a little OCD and most of you is frustrated that damn it those weird cave monsters are attacking the bear shrine again. I think that triggering different kinds of dynamic events at particular locations might improve this. Then at least you won’t know exactly what’s coming, and you’ll have common events, rare events, super difficult events, etc at the same places. You’d be curious to see what’s coming next. But I don’t know – maybe this has already been implemented during the later stages of the game? Someone please enlighten me.

3 things that were really cool

There are too many of these to list them all, but here are a few things that stood out to me:

ArenaNet is trying to make questing better, and getting there

Or rather, almost get rid of it altogether in its current form. Some of the tasks I had to complete in the beginning stages of playing my Norn included but were not limited to:

  • Solving riddles (Ahem. Did someone not suggest more thinking-based/knowledge-type quests last year? Yes, yes someone did. And they work!)
  • Hunting prey in the form of a snow leopard
  • Carrying rabbit food while on the run from hungry rabbits that trip you up
  • Roaming with a wolf pack
  • Chasing down a jackalope
  • Attacking children with snowballs

And guess what. They were fun.

Guild Wars 2 Raven event

"Raven is pleased"

The art and music, heck the world in general, blew my mind

I love the art style of the game and quality of the graphics. The level of customisation for the character is awesome (I spent maybe 30-40 minutes just perfecting my Norn’s look -.-) The environments are breathtaking and the music is just…just…pure frisson.

Guild Wars 2 Norn

Yeah, that's a giant snow leopard statue.

Guild Wars 2 character customization

Guild Wars 2 Norn character customization

Norn ranger with wolf

On our way to kill some stuff.

The combat

The combat, as a ranger, is immensely fun. It’s not just about spamming spells over and over. It’s about movement and positioning and directing your pet. And let’s not even get into pets! Ravens (yes, they actually fly, not those walking Moa birds from GW1), wolves, bears, and other awesome selections. But I’m getting off topic – only 3 good things are allowed here. So. Combat. Weapon mastery is awesome – you learn weapon-based skills as you use the weapon and gain proficiency. The fluidity of the movement while casting is awesome. The animations and attack visual effects are awesome. The downed state thing I’m still a little on the fence about, but it’s not a complaint.

Guild Wars 2 combat

Don't mind me, just fighting a giant worm AND LOOK AT THAT MODEL IT IS SO FRICKING COOL

I just hope they have another BWE soon. Next time I’m trying a Necromancer.

Box2D, I have conquered you!!! (sort of)

Keeda

Look at that face...I don't think Keeda is as excited about this endeavour as I am.

I have been chipping away at Box2D for what feels like forever. In reality it’s been almost 3 weeks since my last Box2D/JS related blog post. I’ve been huddled away juggling paid work, this, and X-Files, trying to figure this thing out. A few things contributes to the hindrance of progress in my efforts:

  • I’m using a JavaScript Box2D port that’s been ported again for the Impact engine to be turned into a plugin. Syntax has changed, not everything matches the other Box2D versions 100%, and there’s next to no documentation
  • My JavaScript skills are still average at best. I have never worked with Box2D or physics before (except for what rudimentary physics come with the Impact engine)

Challenge 1: Box2D installed, need to recode all movement

Box2D completely overwrites Impact movement and collisions. This meant that when I installed the Box2D plugin I had to recode everything using Box2D movement and scrap any existing collision and movement code.

Challenge 2: Box2D version discrepancies

I soon learned that the plugin I was using was an older version of Box2D. I upgraded to a newer version. Unfortunately this broke several things, including the debug drawer and my rule to check if the player is standing on the ground. This rule was being used in my jump trigger. As a result I’ve disabled jump completely until I can figure out how to rewrite the standing check to work with the new version.

The debug drawer took ages to fix, but I finally found a useful post on the Impact forum that explained how to rectify the prolem.

Challenge 3: Box2D cannot resize bodies

This was the start of the big problem. In Impact resizing bodies on the fly is easy. You simply change the size.x and size.y values. Box2D, it turns out, cannot resize bodies on the fly. Even something as small as implementing crouch suddenly became a problem. What I originally intended to do was destroy the player body and recreate it with different dimensions when the player presses crouch, then destroy that body and recreate it with the original dimensions when the player uncrouches.

Rob, thankfully, came to the rescue with an email explaining a better way to do this. Instead of destroying and recreating bodies he suggested creating two bodies for the player – one for the top half and the other for the bottom half. Then when the player presses crouch I could disable/filter out collision on the top half of the body (at the same time changing the animation to the crouched version of the player’s character). All the player would see is the crouching animation, but in the background what would really be happening is the top body collision being toggled on and off.

So emailing back and forth with Rob, who gave me awesome and detailed advice, I finally got the two bodies working. At first I was going blind due to the debug drawer issue above, which made checking body positions difficult. Finally when the debug drawer was fixed I could see exactly where the invisible bodies were and adjusted them as necessary to be in the correct position, connected by a distance joint (as well as modifying the damping and such to make them sit on top of each other correctly).

Challenge 4: Collision filtering

I knew the theory behind how collision filtering works in Box2D (on a somewhat rudimentary level). In practice, I couldn’t find much documentation for JavaScript specific syntax. No matter what I tried, I kept running into errors. Finally a person much more knowledgeable than myself in these matters – E – sat down with me at lunch to look at the problem. And totally saved the day. He helped me figure out how to create filters and set them for individual shapes.

When I got home tonight I sat down to review what I’d learned and actually implement the collision filtering for crouch. And voila! We have working crouch using two bodies connected with a distance joint and collision filtering toggle on the top body.

The code looks like this. Keep in mind that this is still kind of thrown together and messy. This may not be the best way to write this, but it (technically) works for now (but not completely. See issues below the code):

In my controller class I created a new function that defines two (so far) collision filters:

In box2d/entity.js I have an if statement that creates the two bodies and a shape for each of those bodies if the entity being initiated is the player entity:

Then in entities/player.js I set the collision filter for the top body when the player is crouching:

So now

Box2D colliding with body.

When not pressing "S" to crouch, the player can't get under the ledge.

Crouching Box2D collision filtering in JavaScript

Pressing "S" to crouch. Top box collision filter is changed to 'collideNone', allowing top body to pass under the ledge body. The animation behind the debug view is updated to crouched state (which you can't properly see here behind the debug stuff)

Collision filtering problem when crouching - Box2D JavaScript

Problem! This is what happens when you uncrouch under the ledge. BAD.

As you can see, there are still things to work out. For example, when I release the crouch key under a ledge the player should remain crouched until they emerge from under that ledge. I also still have to figure out standing, which will be related to figuring out the ledge detection thing. So next is being able to tell when the bottom of the player is colliding with the ground and the top of the player is colliding with another body. Tough, but getting there.

UPDATE: I’ve now set the rotation of the two shapes to fixed, which stops the above from happening and allows the player to keep moving through under the ledge. However, this is still dodgy and behaves weirdly sometimes. I think the final and “proper” solution will be to keep the player in a crouched state if they’re still under a ledge.

Thanks a lot to Rob and E for all the awesome advice. I’d probably still be stuck here ripping my hair out if it wasn’t for them. Did I mention how lucky I am to have friends who know what they’re doing and are willing to share a bit of their giant brains?