QC Dev 005: Lamp

I was recently making this kitchen area for Quadrilateral Cowboy.


As the kitchen started to shape up, I realized I didn’t have a light fixture that would fit the room well. So I willed one into existence.

Meaning, I made a light fixture.


When I make things, I spend a lot of time buried in research. This mostly boils down to finding images via Google kung fu and mining whatever I have in my brain or on my bookshelf. I’m more than happy to spend an inordinate amount of time finding the right reference image, because they give me details I’d otherwise overlook.

For Thirty Flights of Loving, this motorcycle was modeled after the Honda CB750:


And the museum area was modeled after the National Museum of Natural History in Paris:


For this light fixture, I did a few searches. Something caught my eye when I punched in ‘deco light fixture‘:


Look at it. It’s gorgeous. Now, to model this beauty.


I use Blender for my models. I use version 2.49b, not because I’m a fan of old versions of software, but because my file exporters are set up to use this version.

I have a fairly basic rule: don’t let art become a chokepoint. That means low-polygon art, stuff that’s easy to later modify, and something I can make in a reasonable amount of time. I know my art won’t win a stand-up fight against any respectable game, so I go the opposite route and make art that would look perfectly at home in games made in 1996.

Here’s what I ended up with:


I now had 55 naked polygons, ready to be dressed up.


Here’s the texture, a 256x256 image. As you can see, it’s a very bare-bones texture:


After wrapping the texture around my model, here’s how it looked:



I’m using the Doom 3 engine to make the game. Every texture requires a shader, defined via a simple text file. Here’s the shader for this light fixture:


Shaders are capable of doing wacky things, but this one’s pretty plain. The only special thing this shader has is the additive blend (”blend  add”), which makes the texture glow.

Putting it all together

Model + Texture + Shader =


There it is, in all its glowy glory.

Et al

First-person shooters are notoriously hungry for content.

When you make a third-person game, you can get away with lower-resolution assets. The camera is typically somewhere between 5-15 feet away from any given surface, so the world needs less detail.

When you make a first-person game, the player can press their nose against any given surface. There they are, with their nose smooshed against a wall.

This means the art has to look decent when inspected up-close. Cabinets, floors, tables, salt-shakers, egg-beaters, kitchen sinks - it all has to look good-ish. This is a monumental task to demand from artists, and would probably crush me like a bug.

And that’s why my light fixture is 55 polygons.