New Project: Motion Blur + Depth of Field

Before the end of the semester, I have to complete a final project for my Advanced Graphics class, and I picked the topic earlier this week. I'm going to be focusing on doing implementations of Motion Blur and Depth of Field. The plan is to do at least two different implementations of Motion Blur, one focused on the version in GPU Gems 3 and the other implementing the accumulation buffer method, where previous frames are averaged together.


I haven't entirely decided how I'm going to implement Depth of Field. There's one good article also residing in my ever mentioned GPU Gems 3, but I haven't looked at too many other methods yet. More on that later :)

Half-baked State Machines: Living with Regret

So I feel like programmers sometimes look at system that needs to be stratified into a state machine, and they ask themselves a very dangerous question "Do I really need to make this all that robust?" The answer should usually be STFU and write a decent state machine. I've had to deal with a state machine built on a switch statement that has now grown to over 2500 lines, which is the players character controller, and I want to smack the code's original author for giving me such a bee's nest to inherit.


Even with this most unfortunate experience under my belt, I still looked at a simple AI that I needed to write for my latest project, and thought "I bet I could get away with just a switch statement." In the end this is by and large a failure on my part, because even though the state machine get's the job done, I'm going to have to rewrite it if we decide to expand the scope of the game beyond the 4 weeks its currently set at.

Things that are important for any state machine:
1) Calling the active states update function each frame (or however frequent the state machine is supposed to act)
2) Letting the active state know when it is being exited
3) Informing the new active state that has just been entered

Anything that does not incorporate all 3 of these in a smooth and coherent manner can rapidly become a headache. This should be commons sense, but I've caught myself and another programmer falling into the same trap with this... So I figured it might be worth ranting about.

Mansion

I'm currently working on a game tentatively called mansion about a boy with a flashlight. I've got some very cool technical things going on in it that I will hopefully be discussing here in the future. In the mean time here's a tools screen shot of one of the prototype levels that has been set up. I've got some fancy gizmos showing some important information that my rendering system uses:

The game will be 2.5D and I hope that it turns out well enough that the team feels like working on it beyond our current 4-week scope. Its got that cool "indie" feel that makes me want to sink some deeper themes into the game.

Software Rasterizer

I'm currently taking the grad level graphics course at MSU. One thing that's really cool about the class is that for the first project we implemented a rasterizer in software. Unfortunately, I totally lost half my work when my computer died 24 hours before the deadline, this resulted in me staying up until 4 am finishing the project, and you know - I wouldn't want it any other way.
Check out me rasterized teapot:

In the next several weeks I'll be expanding this to utilize a camera and Phong shading. I'll post the results (assuming it goes well).

A Glorious Return and a word on Optimism

So apparently I think it might be good to start talking to the wonderful abyss of the internet again, here in my dorm room at 2 AM. To be honest I wish I hadn't stopped, but maybe it took Meaningful Play last week to get my ass back into gear. I've missed out on giving everyone the lowdown on the awesomeness that was GDC 2010, as well as any discussion of games about squirrels, sheep, or minotaurs (significant parts of my endeavors since I disappeared from this blog).


I think maybe I had the urge to blog again because something is distressing me about the discussions I've had with designers hear at MSU after Meaningful Play. They're opposed to the guy that advocates games striving to be artwork. Few things have weirded me out more than design students, who I always picture as being overly optimistic about game design, being opposed to games as art. Maybe I'm being naive, but I'd like to think that aspiring game designers want to make games that have meaning, not "entertainment that is consumed much the same as a Coke." I know I'm still trying to be optimistic enough to think that there's potential for great art in game design.