Project Good Robot 4: The Clock

By Shamus Posted Friday Aug 23, 2013

Filed under: Good Robot 96 comments

I worked at Activeworlds for a lot of years. Activeworlds is a social / gaming world along the lines of Second Life or Roblox. It’s a virtual world with user-made content. The experience gave me some interesting phobias regarding CPU cycles.

Perhaps some anecdotes would help. For the sake of argument, let’s say these are all taking place around 2003 or so.

Joe User is building himself a virtual office in Activeworlds. He wants dark windows with a heavy tint, but the object library only has these windows with 50% transparency. Joe doesn’t understand transparency. He’s not a graphics artist or a programmer. He’s just a regular person, and to him tinted windows are tinted because they’re “dark”. He tries changing the color of the window from the default blue to black, but confusingly it doesn’t help. He can still see through the window just fine.

He makes a copy of the window to try another color when he has a eureka moment. Looking through both windows – one in front of the other – really makes a huge difference. What’s really happening is that the first window is blocking 50% of the outside color, and the second window is blocking 50% of the remainder for a final opacity of 75%. Joe doesn’t know this. All he knows is that this looks nicer. He makes another copy, and it’s better still! This is clearly the key to success. Two more windows perfect the look, giving him an overall opacity of 97% or so. He’s got five windows stacked up here. He nudges them so they’re only a centimeter apart.

If you’re a professional, your eye is probably twitching by this point. This isn’t art, it’s sabotage. Alpha surfaces (like our partly transparent windows) must be sorted before rendering. It’s a constant struggle to limit the number of transparent surfaces you’ve got in the scene and you want to be very careful about situations where the user will end up looking through multiple alpha polygons at the same time. The program has to get the distance to each surface, then shuffle them around and put them in order from furthest to closest before they can be drawn. All of this work must be done by your CPU. (Maybe new graphics cards have some trick for this, but in 2003 this load went right to the CPU.)

But that’s not the bad part.

Continue reading ⟩⟩ “Project Good Robot 4: The Clock”

 


 

Tomb Raider EP22: Diplomacy Shotgun

By Shamus Posted Thursday Aug 22, 2013

Filed under: Spoiler Warning 45 comments


Link (YouTube)

See? I’m not reflexively against combat. I like combat sometimes. When it’s done right. And when I have a specialized shotgun specifically designed for it. And when the cover-based shooting doesn’t have too much cover.

The graphics glitches at the 21 minute mark are really revealing. The holes in Lara’s face let us see the tessellation. I will say her face looks like it has a LOT of polygons. The cheek is a really common place to trim out a few polygons, often reducing the whole surface to just a dozen or so triangles. Assuming those holes are indicitive of the complexity of the rest of the face, then I’d wager just Lara’s face (not including head or hair) has more polygons than the Doom 3 guy we were looking at a couple of weeks ago. It makes sense, since this game is almost a decade newer and Lara needs to be able to emote in close-ups, but still. So many polygons.

<old man voice>Back in my day, that many polygons was our budget for the whole level!</old man voice>

If all goes well, we’ll wrap this game up tomorrow.

 


 

Project Good Robot 3: Killer Robots

By Shamus Posted Wednesday Aug 21, 2013

Filed under: Good Robot 92 comments

A quick reminder that while I’m writing this in the present tense (easier for me than switching tenses) we’re actually looking at this game as it existed three weeks ago. My first code check-in is dated July 29, so we’re visiting the past right now. If things go the way they usually do, then this series will eventually catch up to the present, since coding tends to slow down as a project grows.

So I’ve got my world of random walls and I’ve got a little avatar I can fly through it. I guess next we should work on AI. But to work on AI we need some foes. Well, there’s no sense in adding foes if they can’t attack me, and I don’t want to debug both AI AND shooting mechanics at the same time, so I should add shooting first. Of course, shooting will require collision detection. And to add these things to the scene I need textures for it all so I can tell one thing from another.

I’ll be using one texture for all the foes and projectiles in the game. In old 8-bit games this was called a sprite sheet and it looked like this:

Continue reading ⟩⟩ “Project Good Robot 3: Killer Robots”

 


 

Diecast #26: Not Gone Home, Sim Stuff

By Shamus Posted Tuesday Aug 20, 2013

Filed under: Diecast 58 comments

We don’t talk about Gone Home in this episode, but we wanted to. We do spend the first segment of the show talking about how we reacted to the game. I don’t know if it’ll get its own one-off special, or if we’ll just give it a couple of weeks so people can play through it. But I will say the response from the cast is universally positive.

Download MP3 File
Download Ogg Vorbis File

Hosts: Rutskarn, Josh, Mumbles, Chris, and Shamus.

01:00 What is all the peoples doing this week?

Josh is playing Gone Home. He’s also playing Warthunder and suggests that you sign up using this link in order to most optimally benefit him.

Chris is playing Gone Home and Spelunky. He also made this video about Gone Home.

Mumbles is playing Gone Home and Guild Wars 2.

Shamus is playing Gone Home, Valley Without Wind, and Kairo. (I called it “Kairos” throughout this segment. In my defense, a friend of mine owned a coffee shop called Kairos and saying “Kairo” is like trying to say “Borderland”. It’s hard to make my mouth stop before the s!) But mostly coding.

Rutskarn is playing the Humble Origin Bundle.

27:00 (ish) The Sims, in general.

Not a planned topic, but we spent some time talking about it.

38:00 Sim City News

The “Gimmie five bucks to not stab you” video is here: Doctor Who – Hey Ash Whatcha Playin’?

 


 

Experienced Points: Games for Windows Die

By Shamus Posted Tuesday Aug 20, 2013

Filed under: Column 53 comments

Slight spoiler for my article this week: I comment on the Games for Windows LIVE situation, and I predict that the service won’t be going anywhere any time soon. A few hours after I submitted the column, I saw this news story with a rumor that, contrary to what I wrote, Games for Windows LIVE may indeed close.

At this point I’m not sure if “closing” means they will end multiplayer, or if it means actual, permanent death for a bunch of single-player games. If it’s the latter then Microsoft is insane, for all the reasons I outlined. Anyway, keep in mind that the article was written before this rumor appeared.

It’s actually a scary thing to me. I own both Batman games, FUEL, all three Fable games, Fallout 3, and GTA IV. I know Batman and FUEL need GFWL to save the game. I dunno about the rest.

While the closing of GFWL would vindicate everything I’ve ever said about online activation – going all the way back to my first tirades on BioShock when the blog was young – this is not an area where I wanted to be proven right. I’d rather have people call me paranoid and keep our games than be smug while significant titles vanish into BitTorrent.

Trying to look at this rumor in the best possible light:

Maybe they will patch out GFWL before taking it down.

Maybe they will actually be handing off these titles to a new platform they’re launching.

Maybe the “closing” only refers to multiplayer stuff and the authentication crap will continue to “work”.

Maybe the rumor is just a rumor.

Again, they hired a guy and seem to be investing in the PC space. It would be nuts for them to burn this bridge right now.

 


 

Project Good Robot 2: Welcome to 2D

By Shamus Posted Monday Aug 19, 2013

Filed under: Good Robot 129 comments

So now we’re working in 2 dimensions. The advantage is that 2D development is a lot easier than 3D. The disadvantage is that I don’t have the right tools for the job.

If you’re making a game or some other kind of 3D-rendering type stuff, then you need some basic variables and tools. The first thing you’ll want is some sort of geometric vector. Like, if you’re going to be using x, y, and z values then you probably want some way to bundle them together. With a proper vector toolset we can have this bit of code:

Continue reading ⟩⟩ “Project Good Robot 2: Welcome to 2D”

 


 

Bioshock EP11: The Vita-Chamber Tour of Rapture

By Shamus Posted Sunday Aug 18, 2013

Filed under: Spoiler Warning 40 comments


Link (YouTube)

This is a killer episode. If you're playing the drinking game, you'll be missed. Also, for those of you who have been looking forward to our little fits of indignant nerd rage: “HI! DID YOU MISS ME?”

This is the low point of the game. The mood and atmosphere are wrecked by the relentless combat, which is getting old. The random plasmid is an amusing idea that drags on for too long. The story has spent itself and is now just dragging along out of sheer single-mindedness. The cavalcade of splicers should have been about half as long as it was. And Fontane should have kept his yap shut.