Project Good Robot 5: Taking Shape

By Shamus Posted Monday Aug 26, 2013

Filed under: Good Robot 68 comments

As much as I’d like to ship the game right now, I’m thinking there’s probably a really limited market for games where you fight the same enemy forever for no reason, where you can’t lose, you have no goal, there’s no score, and nowhere to go. And like all my past projects, we should probably avoid getting our hopes up with regards to shipping a game. Barring a steady paycheck, I tend to code as a way of teaching myself how to solve coding problems. This is both personally enriching and financially impoverishing.

But while we’re waiting for me to lose interest, let’s see if we can’t add some more features to this alleged game.

Continue reading ⟩⟩ “Project Good Robot 5: Taking Shape”

 


 

Tomb Raider EP23: The Ballad of Tom Braider

By Shamus Posted Sunday Aug 25, 2013

Filed under: Spoiler Warning 176 comments


Link (YouTube)

And so ends our adventure with Lara Croft and the island of misfit mooks. We were hard on the game in spots, but it was good where it really counted and salvageable (as a franchise) everywhere else. The gameplay is solid and the graphics are gorgeous. In an ideal world, the next game would require very little programming, they would finish in two years or less, and they would get this problem with tone nailed down so we know if we’re playing The Descent or Indiana Jones and Island of Shootdudes.

However, the next-gen consoles are coming, and I suppose some dunderhead somewhere in the chain of command will insist on more graphical bling. If I was on the team I wouldn’t mess with the art or rendering pipeline at all. I’d gently relax the polygon and texture budget, tell the artists to use more color, and then try to wow the bosses with technical buzzwords to sell the “new” graphics engine. That might be a bit “Emperor’s New Clothes” of me, but at this point I kind of suspect the people hooting for more graphics are the ones least qualified to tell the difference between graphics and art style.

(Well, I suppose someone needs to crawl down in the guts of the engine and find out what’s causing all this artifacting on the PC port. The good news is that I’ll bet every graphical glitch we saw in this season stems from the same bug. (And if you work at Crystal Dynamics and you’re looking for this bug: IIRC, every polygon explosion originated from Lara’s character model, and was usually triggered by a cutscene transition.))

We’re still haggling over what game we’ll cover next. In the interim we’ll probably cover Walking Dead: 400 Days, or Dishonored: Knife of Dunwall. But nothing is set in stone.

Thanks for watching.

 


 

Ding 42!

By Shamus Posted Saturday Aug 24, 2013

Filed under: Landmarks 76 comments

These birthday posts have become something of a tradition, so let me just acknowledge another Significant Milestone on the road that begins in the maternity ward of the hospital in Greensboro, NC in 1971 and ends at my headstone at some uncertain date.

So this is the year of the ongoing Life, The Universe, and Everything reference. Last year wasn’t very numerically interesting except that 41 is prime, and next year is also prime. That’s likely the last time I’ll have two prime birthdays that close together, unless I’m lucky enough to live to see the 101 – 103 years.

We just got back from having ice cream, so my birthday is already beyond improvement.

EDIT: As Scampi points out below, I was overlooking both 59-61 AND 71-73. Going strictly by averages, I should see at least one more set of twin primes before I bite it.

So that’s cool.

 


 

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’?