Saturday, December 31, 2005

Damn Kids and their CS Degrees!

Joel on Software had a nifty lil' article I dug recently. He kinda echoes my sentiments on the current crop of programmers coming out of colleges nowadays: they're more vocational than educational. Wow. That was catchy. I just thought that up!

To any point, the issue at hand is that pragmatism has seeped into colleges that keep wanting more money to give to football players. When I was completing my undergraduate degrees, a few courses were starting to teach data structures using Java instead of C++. The idea behind their reasoning is that they would have to spend less time fighting memory leaks, more time learning a language actually used in the industry and more focus on the algorithms at hand (since data structures are language-agnostic). It seems sensible to me to teach some data structure courses in Java... that way you can spend more time figuring out why a binary search tree is more efficient than a linked list.

But back in my day, we started CS 101 with freakin' Scheme. That's right. That's right. And it blew everyone's freakin' minds. Recursion vs. iteration was something that was absolutely essential to our budding brains. List manipulation was needed for us to learn how to manage memory later. And once we learned the essence of all the basic CS algorithms, we didn't need to really learn a language, we just needed to understand syntactically how a language was comprised.

Now that I actually have a "job" managing enterprise software, I'm finding that software in the corporate world doesn't need to be fast. It doesn't even need to be that correct, ultimately. It just needs to be easily mantainable. That's what the crux of enterprise software is - maintainability; so when you quit and move on the next dufus who sits in your chair can easily pick up where you left off.

And hence why all the knowledge I gained in four years is quickly evaporating from my head...

Monday, December 26, 2005

Path of Whassit?

Just got Path of Neo and tried it out... yes, it's shameless merchandising. But it's fun.

It was actually ticking me off big time for the past hour... I thought this was going to be a Matrix-like twist on the third-person action genre (akin to Oni). Going into that sort of mindset the game was absolutely terrible. Controls were inconsistent, camera controls were way more than wonky, and character animation/generation was borderline awful. I think character meshes were... what... six polys?

But then it hit me. This isn't an action game. The weird play controls... the cinematics... the generic "action" button used for every damn thing... it's a freakin' adventure game.

The thought of a Matrix adventure game simply cracked me up. First off, it's been a stalling genre since Lucas Arts' release of Full Throttle or Sam & Max. To suggest that Shiny Entertainment was using the genre for a Matrix title makes a helluva lot of sense... it's just... weird in this day and age.

By the way, thanks to Bob and Chris for their feedback this week. I didn't realize people actually read this drivel ;)

Saturday, December 17, 2005

Character Generation in Blender

I just posted three new tutorials: Building Textures with GIMP which focuses on how to build textures out of repeatable patterns - perfect for texture mapping; Building a Low-Poly Character Mesh in Blender which focuses on creating a character mesh using as few polygons as possible, and Texture Mapping Character Meshes in Blender which ties the first two together.

I also found an interesting tutorial on using diffuse maps, normal mapping, height maps, specular maps to utilize CrystalSpace's parallax and specular shaders. Something I've wanted to research for a while now... I'm way behind the times when it comes to shaders. WAAAAAAAAAAY behind. Looking at what Bethesda Softworks can do in Oblivion with parallax, diffuse, specular and normal maps combined into each texture blows the mind.

The shader 3.0 spec was easy to follow... vertex processing -> primitive processing -> pixel processing. But throw in volume shaders or subsurface scattering and it starts to become more shader levels than my little brain can handle. I hardly have time to build a low poly character mesh - how the hell am I going to model its vascular system?