Quake Level : “White Room”

November 10th, 2008

“A biohazard outbreak at this facility has left the former occupants in a bad way. Enforcers have been sent in to clean up the mess but don’t get in their way. They aren’t on your side and will attempt to clean you up as well.”

This level was an extension of an idea that I had about creating a Quake level in an abstract way. Keep the usual shapes but take away the textures. I like how it turned out and it was great fun to experiment with using color in a much stronger way than is normally done in a Quake level.

This level is being released as a mod because I wrote a bunch of QuakeC to support it. To play it:

1) Create a directory in your Quake directory called “whiteroom”
2) Copy the “progs.dat” and “maps” directory inside the ZIP into that new directory.
3) Start Quake with the command line: “-game whiteroom +map whiteroom”

That should do it! Here are the downloads:

Player Pack
(contains the level and the associated progs.dat)

Developer Pack
(contains the source materials - the map source, the QuakeC source code and the WAD)

Enjoy!

Let The Healing Begin

November 5th, 2008

Thanks George, we’ll take it from here.

Texture Mapping Conclusions

November 3rd, 2008

Or “throwing in the towel”.

It’s weird how my mind works sometimes. I’ve been struggling for, well, almost a year now on the problem of how can I improve upon Quake’s texture mapping scheme. Specifically what I wanted to accomplish was to be able to use regular texture mapping (based on the OpenGL style of 0-1 coordinates) and convert that into Quake texture mapping vectors when writing out to the MAP file.

This didn’t seem like a major undertaking when I started but it certainly turned out to be one. I tried a million things and could never get a solid solution working.

I came the closest I’ve ever come today and then it dawned on me; it’s not possible. You can’t do this. 0-1 texture mapping allows for the kinds of distortions that Quake texture mapping can never duplicate.

I realized that Quake texture vectors are always at right angles to each other. In other words, you can scale them along the U and V vectors independently and you can rotate the entire works as a unit but you can never have U and V traveling at anything other than a right angle. This destroys any plans I had for an interactive UV editor and importing models from modeling programs to use as brushes.

God, I feel stupid. If I had realized that earlier all of this heartache could have been avoided.

And with that, I put this particular pet project to bed. I guess if I want advanced texture mapping I’ll have to resort to creating custom models.

Level Progress Update

October 26th, 2008

I’ve been sort of quiet since posting my abstract screen shot awhile back. I honestly didn’t know where I wanted the level to go but it finally came to me. So this level should indeed see the light of day. I’ve added a bunch of code support so this level will come in the form of a mod. I’ve written a bunch of QuakeC to make my life easier and the level cooler so I hope people like it! For something visual, here’s a shot from the 2D viewport. Not done yet, but getting there:

Not sure when it’ll be done but safe to say it shouldn’t be too long.

Render : “Screwed”

October 19th, 2008

An idea popped into my head so I fired up Cheetah to give it a try. Once rendered, I touched it up in Photoshop to give it a toon style look.

Writing : “My Digital Life”

October 19th, 2008

I’ve been neglecting my writing muscles so it was time to get back into that a little bit. Writing is, I feel, one of my weakest areas but I’m trying to get better. I sat down yesterday and decided to write down a basic history of me and all things digital. It isn’t complete but it does basically outline my progression from kid playing video games to adult making video games.

My Digital History

There’s a PDF there you can download if you don’t want to read it in your browser. The PDF is black on white, double spaced, etc. In other words, very easy on the eyes.

I’d appreciate some feedback on it if you are so inclined. I really need to improve my writing skills, vocabulary, and all of that sort of thing.

Core Data Twiddling

October 13th, 2008

I got the itch over the weekend to get back into application coding. I’ve been away doing level design for awhile now and the programming side of my brain was starting to feel neglected. So it’s time to get some book learnin’ done!

I decided to take another stab at a photo viewer. Unimaginative, I know, but it does provide a good platform for learning. I’m going to try a different tactic than I normally do. Normally, I create a monolithic application that evolves over time as I learn new things or better ways of doing existing things.

This time I’m taking it slow. I’m creating small applications that demonstrate one piece of technology that I need for the larger photo viewing application. For example, I created one on the weekend that takes a group of images and creates proportionally scaled thumbnails for them (for testing purposes, it wrote them out to my hard drive as well so I could physically see the results). After that, I started into an application to teach myself Core Data.

Core Data looks really interesting. I know that I want to store the thumbnails and tags and references to the original images in some sort of database - ideally using SQLite since the Mac has native support for that format. When I did this stuff the first time I wrote the database handling code by hand which was a major hassle so I decided to delve into Core Data this time around.

So far I’m definitely happy with what I’m seeing. Using the visual data modeler they have built into XCode is very easy and the fact that it generates the glue code to get to the database entities themselves is pretty slick. I really like how with 2 code changes you can switch from an SQLite database to an XML file. That will prove to be invaluable when it comes time to debug issues. Being able to see what was written to the database in text form makes it so nice.

I don’t have anything significant working yet but I’m on the right track here.

Abstract Level Preview

October 5th, 2008

So I started a new Quake level, mainly to test out a concept I’ve been tossing around in my head. I wanted to do sort of an abstracted level. Keep the same sort of shapes that we’re used to seeing in a Quake level but dress it up in a way that’s striking and interesting. Here’s what I’ve got so far:

This is requiring a lot of custom texture work (you don’t see it all here, of course, there are some surprises that I’m holding back). It’s fun! But a lot of work at the same time.

Level Design Music

September 30th, 2008

I’ve been making levels for years now and I’ve come to a realization. I like to listen to music while I work and I’ve arrived at what I believe is the best level design music.

Slayer.

There, I said it. Their music is loud, brutal, and filled with the sort of driving energy you need to kick your creative brain out of bed and get things moving. The drums alone are enough to do it for me (nobody pounds out double bass like Lombardo) but add in the vocals and guitars and we’re home.

Whenever I’m feeling creatively drained, I double click on “Disciple”, “Payback”, “Raining Blood” or “Behind the Crooked Cross” and just let things take their natural course.

I used to think that Venom was the ideal level design music but I’m switching to Slayer.

Looks like “Payback” is up next. Gotta get back to work…

For my own piece of mind - I’m going to
Tear your fucking eyes out
Rip your fucking flesh off
Beat you till you’re just a fucking lifeless carcass
Fuck you and your progress
Watch me fucking regress
You were meant to take the fall - now you’re nothing
Payback’s a bitch motherfucker

ToeTag 2.30

September 28th, 2008

Finally, a new release of ToeTag! This one is pretty good as it (hopefully) fixes the WAD loading crash but also adds some good features.

DOWNLOAD HERE (this link includes the APP itself and a separate download link for the source code)

First, you can now create fully custom WAD files now from within the editor. ToeTag can export textures from WADs (to PNG files), read new textures in from a variety of formats, and also rename/delete textures already loaded. All of this combined means custom WADs are go!

Next I added box selection. This is a quick way to select a bunch of stuff in your level at once. In the 2D viewport, hold down SHIFT+CMD and LEFT_CLICK+DRAG to draw a box. When you let go of the mouse button, everything that touches that box will be selected. This is useful for grabbing a whole portion of your level at once.

I added some keyboard short cuts for the hide functionality. CMD+H will hide currently selected, CMD+I will isolate currently selected (aka hide everything not selected), and CMD+SHIFT+H will unhide everything currently hidden. This is a productivity enhancement as it’s a pain to have to click on the toolbar for quick hides/isolates.

On the smaller feature front, there’s a small feature added to the entity menu. If you select a series of path_corner entities you can use a menu item called “Create Route”. This will link the path_corners together into a route. This is great for setting up patrolling creatures. Just create a route and then target the monster at one of the path_corners.