Project Octant Part 5:The Rainbow Collection

By Shamus Posted Wednesday May 9, 2012

Filed under: Programming 69 comments

Today we’re finally going to start adding some features to make this thing look a bit more… What? You say you want another digression on noise filtering and interpolation techniques? You sure? Okay then!

(Nerd!)

If you remember from last time, we’re taking tables of random white noise and expanding them to create “interesting” patterns. Stuff like this:

octant5_1.png

Now, I really don’t want to have the next bunch of images be black & white scramble squares. That’s boring and it’s actually hard to see the effect I’m talking about. So I’ve altered my program to output example images that will use color-blending to make the gradients more clear. So the above image now looks like this:

octant5_2.png

Just remember we’re not really dealing with color data right now. We’re actually just generating heaps of numbers between zero (dark blue) and one (red) and this color-fade makes it easier to see what we’re doing. Okay? Great.

Continue reading ⟩⟩ “Project Octant Part 5:The Rainbow Collection”

 


 

Alan Wake EP9: But You Can Hit People With Cars!

By Josh Posted Tuesday May 8, 2012

Filed under: Spoiler Warning 99 comments


Link (YouTube)

I’ve done it! I finally got rid of Shamus! Now I rule Twenty Sided! Mwahahahaha!

Good thing Rutskarn was able to hire those Algerian terrorists. Even though they might not have actually been terrorists. Or Algerians.

Or people.

Okay, so Shamus might have just gotten sick and didn’t make it to the recording session. Which means he could recover and be back to posting on this blog any day now. Cherish the Shamelessness while it lasts!

 


 

Project Octant Part 4: The Beautiful Noise

By Shamus Posted Monday May 7, 2012

Filed under: Programming 62 comments

Perlin Noise is a technique for quickly generating a metric crapload of really interesting pseudo-randomness. “Interesting” in that it forms nice organic patterns instead of pure random noise. “Pseudo Random” in that you can give it the same input and get the same output. “Crapload” means that you can make a final data set thousands of times larger than the noise you start with.

Note that in the context of this project I’m going to discuss Perlin in terms of 2D images, but I’m using it in 3D. It’s just easier to show you what we’re doing in 2D.

We begin with a basic image of really random noise, which I will depict as a 2D greyscale image. The more random the better. We want areas of light, dark, and medium brightness. We want it to be really diverse overall, but have small local clusters of bright or darkness. We don’t want large areas to be homogeneous, and we don’t want the small areas just just be a scatter of white and black pixels. We can accomplish this a lot of ways. I could churn out a bunch of values in a random number generator, for example. Or, we can just open up a new image in your Photoshop of choice, crank up the noise filter on a blank image, and hit save.

octant4_1.jpg

Awesome, right?

Continue reading ⟩⟩ “Project Octant Part 4: The Beautiful Noise”

 


 

Alan Wake EP8: A Chainsaw for a Face!

By Josh Posted Saturday May 5, 2012

Filed under: Spoiler Warning 190 comments


Link (YouTube)

This was supposed to go up yesterday, but Shamus had some sort of inexplicable problem when he tried to watch it. On an unrelated note, I would like to point out that Shamus is a crotchety old man that doesn’t have time to figure out you youngins’ newfangled “internet videos,” thank you very much.

 


 

Experienced Points: Kickstarter: Proceed With Caution

By Shamus Posted Friday May 4, 2012

Filed under: Column 173 comments

This morning I sent in today’s column, clicked over to Penny Arcade, and saw they have a comic about this very same issue.

 


 

Project Octant Part 3: Using Qt

By Shamus Posted Friday May 4, 2012

Filed under: Programming 100 comments

Qt is a cross-platform application and UI framework with APIs for C++ programming. In English, that means it’s a bunch of software that you can add to your project to make programs with a GUI that will run on Windows, Linux, or Mac. This is actually a big deal. There’s a reason that so few programs are cross-platform: It’s hard to write code that will run anywhere.

I know I keep sending you back to the Object-Disoriented Programming post so often it sort of feels like a Rickroll at this point, but this is a really important problem. C++ itself is very barebones. It doesn’t load fonts. It doesn’t understand images. It doesn’t understand windowed environments. To do these things you need an SDK. You’ll need one for each new thing you want to do. Each one might tie you to a particular operating system, and they’re very likely to conflict with each other in annoying ways. By the time you get all the stuff you need for GUI, images, sound, graphics, threading, and input, your project will be this Frankenstein’s Monster of sewn-together systems. And you haven’t even started coding yet!

Continue reading ⟩⟩ “Project Octant Part 3: Using Qt”

 


 

Alan Wake EP7:Bears & Flares

By Shamus Posted Thursday May 3, 2012

Filed under: Spoiler Warning 106 comments


Link (YouTube)

When you meet the kidnapper, it shows him drop a flare and seem to wipe out a bunch of Taken at once. This led me to the incorrect conclusion that flares = grenades. This came back to bite me when you’re supposed to hold them off. I was using them all wrong. I kept throwing them down, trying to figure out why the flares weren’t killing my foes like I expected. Do I need to be closer? Do I need them to cluster up more? Then when the guy told me to hold them off, I’d already run out. Oops.