Diecast #66: LEGO Movie, Divinity, Valiant Hearts

By Shamus Posted Tuesday Jul 15, 2014

Filed under: Diecast 195 comments

Just before this episode went live, Josh sent me a link to this, which is probably the most unsuitably high-quality image of Reginald Cuftburt ever produced. It’s like seeing a classical marble bust of Spongebob. Anyway, share it on Facebook or GeoCities or Angelfire. Or Tumbl it. Or Twit it. Whatever it is you young people do with data when you’re doing internet show-and-tell.

Download MP3 File
Download Ogg Vorbis File

Hosts:
Josh, Shamus, Mumbles, and Campster.

Show notes:

Continue reading ⟩⟩ “Diecast #66: LEGO Movie, Divinity, Valiant Hearts”

 


 

Project Unearth Part 6: Kissing Cubes

By Shamus Posted Sunday Jul 13, 2014

Filed under: Programming 31 comments

Shadow volumes are interesting things. For everything that casts a shadow, you need to have a fully enclosed solid. Because of the way our shader works, for every triangle we need to know what its 3 adjacent neighbors are. And when I say “need” I don’t mean “ought to” I mean it’s impossible to do otherwise. You can’t supply a triangle to the shader without neighbors for the same reason you can’t draw a triangle with less than three vertices. It wouldn’t make any sense. (And if there aren’t 3 neighbors? Then this isn’t an enclosed solid.)

Let me bring up this diagram again:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*-----------------------------------------------------------------------------
This shader takes a triangle of type GL_TRIANGLES_ADJACENCY. It takes the 
following form:
 
                 1-----2-----3
                  \   / \   /
                   \ /   \ /
                    0-----4
                     \   /
                      \ /
                       5
Points 0, 2, and 4 are the points of the triangle actually being drawn. 
Points 1, 3, and 5 are corners of adjacent triangles, provided by OpenGL 
for the purposes of being able to analyze the topology here in a geometry
shader.
-----------------------------------------------------------------------------*/

This is no big deal when you’re using models made by artists. Maybe the artist has some kind of tool or conversion utility for identifying all the triangle relationships. But this becomes tricky when we’re building objects on the fly. When I’m building a particular cube, I can’t hook its triangles up to its neighbors, because at least half of them haven’t been built yet. I could peek at the next-door cube to see what I will eventually build there, but I won’t know what vertices it will use until I get there. So what you have to do is just build a bunch of triangles and then stitch them together when you’re done.

This is actually really time consuming. Like, 90% of the time spent waiting for chunks to appear is waiting for it to thrash through these huge lists of triangles and figure out which ones are neighborsThis is the major reason I’m not using larger chunk sizes. Larger chunks make this triangle-matching less efficient. There are ways to improve this, but I haven’t gotten around to it yet.. Eventually I’m going to have to fix that. Chunks take about a quarter second to form. A given scene with even a modest view distance will have hundreds and hundreds of chunks. Which means filling in a scene can take a few minutes. While this doesn’t matter from a gameplay standpoint (this isn’t a game, and nobody is ever going to play it, so who cares?) it does matter from a testing perspective because I do a lot of tests and I’m really impatient. But this is a challenge for a future post. In the meantime…

It turns out that we have a problem:

Continue reading ⟩⟩ “Project Unearth Part 6: Kissing Cubes”

 


 

Errant Signal: Call of Juarez: Gunslinger

By Shamus Posted Sunday Jul 13, 2014

Filed under: Video Games 59 comments


Link (YouTube)

“It feels like we’re trying to move away from that gameplay / cuscene / gameplay / cutscene style of delivering story.”

YES! That sounds awesome. Rutskarn actually sold me on the game back when he was playing it. Months ago. But then I forgot about it.

Tragically, I missed getting the game when it was on super-deep discount at the latest Steam sale. And I have SO MANY new games right now that buying another one feels like game gluttony.

So, basically I’ve missed out on the game twice, and I’m running out of people I can blame that aren’t me.

My current playlist is: Dark Souls, Girls Like Robots, Stacking, Retro / Grade, Enslaved, Marlow Briggs and the Mask of Death, Kingdoms of Amalur: Reckoning, Octodad: Dadliest Catch, and Droid Assault. Supposedly. I mean, obviously I’m not going to get to them all. And more games will come out while I’m working my way through the list. But I guess the point isn’t so much to play them all but see which ones win out and hold my attention.

 


 

Free Radical Audiobook

By Shamus Posted Friday Jul 11, 2014

Filed under: Links 31 comments

I’ve written a few books over the years. I think my writing has improved drastically since I started, but that doesn’t change the fact that my first effort is still the one that incites the most discussion and has the most requests for a sequel.

But if you’re more of an audio fan then maybe you’ll dig the audiobook version of Free Radical recorded by Paul Spooner. It’s the whole book, unabridged, in OGG format. Like the text version, it’s free. (There’s also a print version, and the price is only to cover print costs. I don’t take any money for the book.)

I’ll admit these are hard for me to listen to. Especially the first chapter. That’s not a dig at Paul. He did fine work. It’s just that when I hear the words I hear the voice of a novice author who hasn’t yet found his voice and is suffering from a bad case of Trying Too Hard.

Thanks so much to Paul for putting this together. Here’s hoping some of you find it useful.

 


 

Internet News is All Wrong

By Shamus Posted Thursday Jul 10, 2014

Filed under: Rants 203 comments

Back in June The Atlantic had an article titled Why Audiences Hate Hard News and Love Pretending Otherwise. It says what I think a lot of people have been afraid to say: The trashy stuff everyone says they hate is the stuff they’re actually willing to read. The celebrity gossip. Top ten lists. Photo galleries, usually of beautiful people or ugly deeds. Lazy “what new terror is killing our children this week?” type moral panic. Inflammatory quotes, taken out of context, trimmed to their most provocative phrases, and re-arranged into headlines.

We can complain all day about how much this stuff sucks, but it’s what people read. It’s what they share on Facebook. It’s what they comment on. International news about complex geopolitical issues? Not so much. We seem to think we need those stories, but we’re happy let other people do the work of reading and thinking about them. This isn’t just a problem with news. Everyone claims to dislike trash culture like reality TV, Michael Bay movies, and toothless vapid pop music, but that’s what the public consumes. It’s what people will pay for. To a certain extent it’s unfair to blame a news organization if it’s simply reflecting the preferences and habits of the audience. How dare you give me what I want! You should instead make less money by offering up a product I’ll ignore!

It’s like getting mad at McDonalds because people don’t eat their salads. Dude, the salads are there. Eating them is your job.

But I don’t think you can blame the entire problem on the filthy peasantsI’m not a filthy peasant. I just showered.. A big part of the problem is that our news organizations are stuck in 1950. News stories are written like newspaper copy: Intro paragraph, details, background, public reaction, byline. That makes sense in print, but it fails to make use of the strengths of the medium. It would be like introducing TV news to the public by having a static shot of a guy reading the newspaper out loud. And to be fair, early news shows were pretty much that. It took us a while to add things like picture-in-picture of related footage, and a text news crawl at the bottom.

Here is the top story on CNN as of this writing:

Continue reading ⟩⟩ “Internet News is All Wrong”

 


 

Project Unearth Part 5: Speed Boost

By Shamus Posted Wednesday Jul 9, 2014

Filed under: Programming 62 comments

Let’s talk about these speed problems I keep alluding to. The framerate is half of what it should be. I’ve mucked about, looking for inefficiencies. I’ve made some minor changes but haven’t seen the framerate change all that much.

I suppose I’ve been spoiled by my days at Activeworlds. Back then I used Microsoft Developer Studio 6 to write my code. It was pretty old (1998) but it was the Professional Edition, which had top-notch tools for profiling performance. You could just fire up the program, run it for a couple of minutes, and then it would show you where all the time went.

This is far more accurate and convenient than manually measuring time from within the program as its running. You’ve got to put this timing code everywhere you want to measure, then you’ve got to surround it with additional lines of code to disable it when it isn’t needed. Then you have to run the program again and again, measuring performance and adding more and more clock-checks to zero in on the source of the problem.

But now that I’ve gone indieSUPER indie. I’m so indie, I’m not even working on an actual game! I’m using Visual Studio: Hippie Freeloader Edition, which doesn’t include the profiler.

This is an interesting look at how we perceive pricesOr at least, how I perceive them. But I’m willing to bet I’m not the only one.. I would say that $1,200, while steep, isn’t unreasonable for a robust tool like Visual Studio. You can use it to make retail-ready software. Companies can and do use this thing to make millions of bucks. But since Microsoft gives away the free version and the free version does nearly everything the pro version does, it doesn’t feel like I’m paying $1,200 for a development environment. It feels like I’m paying $1,200 for a profiling tool. And there’s no way that’s worth itSeriously. This is NOT me shaking my tin cup or beating around the bush for more donations. No matter how much money I had, I’m not sure I could ever bring myself to spend that much for the profiling tool.. I keep hoping MS will discount some old version and I can pick up the pro edition for a few hundredI do see offers here & there around the web, but they always strike me as being sketchy. It’s always some company I’ve never heard of and I’m always worried I’d be buying a bootleg version..

The point of all this bellyaching is that we’re going to have to look for our performance bottleneck the hard way. But before we get to that, I need to talk about my normal map some more. You’ll see why in a bit.

Continue reading ⟩⟩ “Project Unearth Part 5: Speed Boost”

 


 

Experienced Points: The Video Game Industry is Going Through Very Awkward Growing Pains

By Shamus Posted Tuesday Jul 8, 2014

Filed under: Column 30 comments

I have an odd column this week. It actually began as a Diecast question. (Which I’ve misplaced. Sorry!) It was something along the lines of “Why are games so stuck in a rut?” But it didn’t make it into the Diecast. Then I tried to turn it into a blog post. Then the thing sort of took on a life on its own. I started with speculating on what was going on at the major development houses, and wound up with this long comparison to Hollywood.

Also, I’m talking about Hollywood. Hopefully I didn’t butcher the history too hard. There’s only so much catching up you can do on Wikipedia before you have to buckle down and start writing.

Still, it’s nice to be positive for once. Or if not positive, then at least not-negative. Hm. Maybe it was still kind of negative. But it was negative in an understanding way. Sorry. That’s the best I can do.