Stolen Pixels #214: X, A, B, Win!

By Shamus Posted Friday Jul 23, 2010

Filed under: Column 34 comments

Today’s comic is up. You’ll never guess what I’m on about. Again.

You know, there were 144 original DM of the Rings comics. Then 5 bonus comics which may or may not count, depending. Then I did 52 comics for Chainmail Bikini. Then another 16 or so random comics to accompany blog posts.

I think we’re almost at the point where Stolen Pixels will account for half of all the comics I’ve ever made ever. We just past the 2nd anniversary a couple of weeks ago. That’s a lot of comics.

Well, I guess it’s a lot of comics if you ignore the fact that Irregular Webcomic is on number 2,735. At my current rate it will take me just 25.8 years to reach that number. During which time IWC will publish an additional 9,417.

 


 

Spoiler Warning 2×23: It’s the End of the World as we Know it…

By Josh Posted Thursday Jul 22, 2010

Filed under: Spoiler Warning 132 comments

The two and a half of you who are unceasingly fascinated by the fact that Shamus puts his name under the title of each post may be somewhat confused at the moment. You may also wonder why I am referring to myself in the third person. This could have something to do with the fact that I am, in reality, not Shamus. The man in question is currently passed out on some crude form of sleeping apparatus, a victim of his ever shifting sleep schedule, and has entrusted me to write the post for today’s Spoiler Warning in the event that he were unavailable to do so.

As an added bonus, he utterly failed to specify exactly what it was I was supposed to post. So, without further ado:

Why Shamus is Wrong and I am Awesome
A treatise on the myriad ways in which Guild Wars is the best MMO ever and World of Warcraft sucks.

…Hey, why are you pulling that giant stuffed boar head off of your trophy wallâ€"OH GOD!

Ow, okay, I get it! You didn’t have to throw it at me! Jerk!

Let’s just… get to the video, all right?

Hello, person from the future. This space used to have an embed from the video hosting site Viddler. The video is gone now. If you want to find out why and laugh at Viddler in the process, you can read the entire silly story for yourself.

At any rate, the video is gone. Sorry. On the upside, we're gradually re-posting these old videos to YouTube. Check the Spoiler Warning page to see the full index.

See, I told you I was awesome. Hey put that down!

 


 

Recursive Procedural

By Shamus Posted Wednesday Jul 21, 2010

Filed under: Game Design 111 comments

Talking about procedural content, Bobknight asks:

wouldn't the vast majority of the content be(by definition) random? or do you mean that instead of specifying each individual ‘box' they just point to an area and go ‘mountain here.' or ‘desert here' and use the appropriate algorithm for each one? If that is true, wouldn't he algorithm become increasingly/impossibly more complex if you want to put any kind of detail(the kind of detail that most RPG/sandbox games demand) in it?

I mean, how does this help to make something like fallout?(where you have the dead janitor on the ground with his two bits of meat and a can of beer)? Would the resulting game world be merely a HUGE collection of randomized terrain that has absolutely nothing on it?

So far my approach to this – and I’m sure FUEL does this as well – is to make procedural systems recursive. A system produces data, and that data is used as input for another system. One level carves up the world into geographic regions. That data is used to generate the topography of the world. The topography is used to decide where to place cities. Those locations are used to build street systems. The streets are used as a guide for placing buildings. The buildings can then be filled with hallways. Hallways are filled with dudes. Rooms connect to hallways. Furniture goes in rooms. Objects go on furniture. Player is given a gun and told to go kill some dudes and get some objects.

Each system is a set of rules and depends on good input. In 2003 or so I wrote a program (and the source is gone, I keep meaning to re-write it, dangit) to take some topographic data and attempt to plot a road across it. The rules governing roads – while not set in stone – are fairly reliable and observable. Roads will curve in response to hills to keep from becoming too steep. When a road is navigating around a hill, the inside of the curve should bite into the hill and the outside should lift it up. (In the real world, engineers displace dirt from one side to add to the other, which produces the familiar banks on either side and the distinctive not-dumping-you-into-a-ravine horizontal flatness for which roads have become so popular.) In my system, the road was willing to go up and down steeply in direct proportion to how far off course it was. My road wanted to go north, but would veer to either side to avoid hills. But as it came closer to heading due east or west, it would be willing to climb or drop to a much greater degree. This produced a very convincing road. (However, the system would occasionally encounter topography that was not solvable with the given rules, and the result usually looked hilariously bad.)

You can see this at work in FUEL. If you go out to the perfectly flat zone in the northeast you can see the roads basically form a grid. In the hilly parts of the game, the roads bend around quite a bit. In the really hilly sections, the roads get crazy twisted. Sometimes you’ll see a road get “trapped” by unworkable input data and it will either climb a sheer cliff or simply give up and end abruptly. Note that the roads in FUEL had the added challenge of needing to intersect with one another at reasonable angles, which was something I never attempted.

The point is, FUEL is recursive. It generates topography. (And I suspect even the topography generation is a multi-stage deal.) Then it places roads. Then it places debris on the roads and buildings alongside them. If you’re trying to make “procedurally generated Fallout 3”, the next step is to add more stages. This becomes really easy if you decide to take the Bethesda shortcut and make exterior doors into magic teleporters that will move the player into the building without needing to worry about a smooth transition between the two. (This solves tons of problems. You don’t need your interior floor plan to precisely match the exterior of the building, and you don’t have to worry about the complex culling problems you get when the player starts seeing through multiple windows at once.)

As for the “dead janitor” problem: You can have artists design special set pieces and simply make their placement exceptionally rare. The artist will make a group of objects like the janitor, his mop bucket, and his beer, and specify rules like “this thing only goes in hallways” and “this should never appear more than once in the same building” and “this should only appear in 1 out of every 50” buildings. Then the game will drop in the janitor every now and again. As far as the game is concerned, he’s just “furniture”.

The move to a procedurally generated would wouldn’t mean that the world would have to be dull and sterile. With the right rules you can make places just as vibrant and interesting as those in Fallout 3. You just need to make the up-front investment of building the system (no small thing, I’ll grant you) and change how your artists approach their work. If the world feels monotonous then it means your rules aren’t robust enough or your artists haven’t added enough variety yet.

I’m convinced this this has been do-able for the last several years. I just wish I could earn a paycheck proving it.

 


 

Stolen Pixels #213: The Force Unloved

By Shamus Posted Tuesday Jul 20, 2010

Filed under: Column 116 comments

My Force Unleashed comic.

It was only recently that I became aware of just how truly messed up the Star Wars expanded universe is. Randy (our player from Spoiler Warning season 1) is something of a Star Wars scholar and explained to me some of the stuff that appears in the avalanche of Star Wars novels. Some of it honestly sounds like fanfic. Some of it sounds like drivel. And some of it sounds pretty dang cool.

I think the magic ingredient that A New Hope had was that it wasn’t a normal sci-fi movie. It was actually a classic swashbuckling / save-the-princess adventure in sci-fi makeup. Errol Flynn in space. Almost everything that followed has simply ignored this and embraced the space opera angle. That’s not a complaint, it’s just an observation on how the thing has evolved. I’m not even sure it would be possible to go back now.

 


 

Postcards from WoW, Part 1

By Shamus Posted Monday Jul 19, 2010

Filed under: Pictures 97 comments

Oh no! Shamus is turning this site into a WoW blog! The rage!

Well, I turned it into a Mass Effect 2 blog and a Fable 2 blog at various times. This too shall pass.

Anyway, round & about the World O’ Warcraft:

wow_spammer1.jpg

A spammer. Yes, I know that posting images of his shenanigans is helping him to achieve his goal and thus rewards the little bastard, etc. But this is an interesting case because he’s revealing some interesting holes in the WoW servers.

What you’re looking at is a group of level one human Warlocks, who all start in red robes. They are no doubt in the game on trial accounts. They have assembled themselves into positions in mid-air to spell the name of the spammer site.

wow_spammer2.jpg

Onlookers assumed this was a group of goldfarmers, but it was clear to me that these avatars were controlled by homemade scripts and not real people. I’m guessing the spammer didn’t have the WoW client running. He was probably running his own software that posed as the client and allowed him to control many avatars at once from the same computer. The entire group moved with extreme mechanical precision. They went from the standing upright configuration to the sitting one at exactly the same time. They moved to their new positions instantly without needing to walk there. Oh, and they were floating in the air, which is not possible using legitimate game mechanics.

What I can’t understand is why Blizzard allows this. It’s not difficult to analyze incoming positional data and perform sanity checks on it. If someone playing WoW suddenly seems to have moved 10 meters in half a second, the server should be able to spot the rule-violating behavior. Some goes for standing in mid-air.

Moving on. Thanks to those who donated to the “help Shamus score a mount” fund:

wow_mount.jpg

Also thanks for the advice from fellow players on how to work the auction house. I’ve managed to find a few key items that I’m willing to part with and that sell for a fortune. Also thanks for all the bags. This game is so much more fun when you can carry all the crap you need for cooking, fishing, first aid, and your profession tools.

And now for something completely juvenile:

wow_chair.jpg

It looks like my lizard is giving my a lapdance, but really he’s* just standing there. Pets always do this. If you sit in a chair, they sort of climb onto your lap.

* I actually think Eddie is a female. The game doesn’t normally tell you the gender of animals. But! There is this group of ghosts in the game that put a curse on you and turn you into an undead human for a couple of minutes. When this happened to Eddie, she was a female avatar. This happened on two different occasions. I should go back with a different pet and see if it ends up a different gender.

I just dinged level 30. This is an important level in the game, where you get new powers and access to the next tier of gear. But I didn’t care about any of that. The moment I leveled I ran out and got this:

wow_solomon.jpg

You can’t tame a pet above your own level, and this was the first turtle I could reach on the Alliance side. (Blood Elves get Turtles in their starting location. I actually considered trying to get there and grab one when I was 25 and tired of waiting, but I figured the trip would be suicide. I’d have to pass through hostile country, high-level areas, and Horde-side cities to get there.)

 


 

The Quicktime Hurdle

By Shamus Posted Sunday Jul 18, 2010

Filed under: Game Design 113 comments

Let’s talk about quicktime events some more. Here is a reference video, which shows someone completing the first encounter with Krauser in Resident Evil 4.


Link (YouTube)

While this is perhaps not the most gripping cinema ever penned, I have this sneaking suspicion that these games sound a lot less idiotic in the original Japanese. I’ve been told that Japanese is a very poetic language. English can be poetic, but it’s not used that way regularly and it takes a good writer to pull off. So the translation from Japanese to English is a bit like translating Gandalf’s dialog from “You shall not pass!” to “You won’t get by me!”. It’s not wrong, but the words lose their potency and come out sounding childish. I think the occasional odd phrasing shows that the translator is a native Japanese speaker. I wonder if a good native English translator couldn’t help a scene like this by smartening up the dialog and improving the flow. (Of course, this does nothing for the plot, which is drivel. But Quentin Tarantino has proved that you can go a long, long way with a drivel plot and brilliant dialog. Kill Bill was both cliche and preposterous. And if you showed it in chronological order, it would be incredibly predictable. But the movie came off as fun, witty, and surprising through the magic of clever dialog.)

But whatever. The point is, this is a scene about pushing buttons. The scene is broken into eight sections, with seven quicktime cues between them:

Scene 1 » Quicktime » Scene 2 » Quicktime » Scene 3 » Quicktime » Scene 4 » Quicktime » Scene 5 » Quicktime » Scene 7 » Quicktime » Scene 8

If you miss a cue, it replays the entire scene again from the beginning. This is a horrible idea, because this scene is barely tolerable once.

Now, let’s assume the player has a 95% chance of success. They will pass 19 out of 20 cues. In tabletop terms, they can only miss by rolling a critical failure, which is pretty good in a gameplay sense. I wrote a program to simulate 1,000 players doing this scene with 95% accuracy, and on average, here is how many times players had to watch each scene:

95% Accuracy:
Scene #1: 1.5 times.
Scene #2: 1.4 times.
Scene #3: 1.3 times.
Scene #4: 1.2 times.
Scene #5: 1.2 times.
Scene #6: 1.1 times.
Scene #7: 1.1 times.

(Of course you’ll never see scene 8 more than once, so I didn’t include it.)

This is not intolerable, although I can think of better ways for a player to spend their time. Now let’s assume the player has just 80% accuracy:

80% Accuracy:
Scene #1: 4.8 times.
Scene #2: 3.8 times.
Scene #3: 3.1 times.
Scene #4: 2.4 times.
Scene #5: 2 times.
Scene #6: 1.6 times.
Scene #7: 1.2 times.

That’s a really drastic increase in how many times the player is going to end up watching this thing. On average, the player will watch that first section nearly five times. Now just a slight reduction in performance:

75% Accuracy:
Scene #1: 7.7 times.
Scene #2: 5.8 times.
Scene #3: 4.4 times.
Scene #4: 3.3 times.
Scene #5: 2.4 times.
Scene #6: 1.8 times.
Scene #7: 1.3 times.

INT: DAY – NONDESCRIPT INDUSTRIAL PLACE

KRAUSER:
Been a long time… “comrade”.

JUSTIN BIEBER:
Krauser!

KRAUSER walks into frame, spinning his knife.

KRAUSER:
I died in a crash two years ago. Is that what they told you?

JUSTIN BIEBER:
You’re the one who kidnapped Ashley!

As they talk, JUSTIN BIEBER continues to make scowly faces and forgets that he has TEN GUNS on his person.

KRAUSER:
You catch on quick. As expected.

KRAUSER faces away from JUSTIN BIEBER, exposing his neck while he examines the TOTALLY UNINTERESTING PIPES in the background. JUSTIN BIEBER makes scowly faces.

KRAUSER:
After all, you and I both know where we come from.

I’m glad they abandoned this idea of mixing quicktime cues with dialog in Resident Evil 5. Even good dialog can be wearisome after just a couple of back-to-back viewings, and terrible dialog is excruciating under these circumstances. RE5 cuts way back on quicktime events, and uses them only for action sequences. Imagine watching the above scene six times in a row. Then imagine how fast you would betray the Alliance and give Vader the plans for the Death Star if he threatened you with a seventh viewing. Man, I’d be ready to punch Bikini Leia in the face after seeing it that many times.

 


 

Jimmy: The World of Warcraft Story

By Shamus Posted Saturday Jul 17, 2010

Filed under: Movies 34 comments


Link (YouTube)

I’d comment on this video, but I have to get back to playing the game.