Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

A Brief Study of Reticence

Sign in to follow this  


This will be the last of my entries bitching about the state of learning in the computer sciences. Frankly, this nonsense is taking up too much of my time, and I have many, many other tasks to complete. My future journals will return to contemplating the interactions of computer science with other disciplines, from psychology and behavioral sciences (usability) to human factors (ergonomics) to cinema arts (storytelling and interactive narrative).

Today I looked deep into the eye of the beast. It was a fleeting moment, but it was telling. I was sitting there in my Computer Game Programming class, cranky as all hell (the class hasn't taught me anything I didn't already know, and nothing I actually wanted to know - like more about game architecture, design and integration) when I made a comment about differences of approach between academia (our class) and industry. The professor was introducing DirectSound and DirectMusic (since he's teaching from LaMothe's Tricks of the Windows Game Programming Gurus, we're effectively talking about DirectX 6 here) and we somehow got to how it's important to learn because such low-level knowledge is in high demand in the industry.

Somehow, he invited me to comment - perhaps we were back-and-forth-ing, who knows - and I pointed out that professional game developers frequently target multiple platforms, which means delving into the arcana of a single system for relatively low return on investment was highly unlikely. Instead, the rational thing to do is to license a multiplatform audio library, with support for multiple formats. License a physics "engine", a "game engine" and slap them all together to create your "presentation layer," then build on top of that. I concluded by saying that while that was the industry approach, it was very different from our approach in class, so I didn't think our in-class progress should be projected as having any larger benefit.

And then I slipped in a comment about preferring the industry approach, but that being outside the parameters of the class. In that minute, the professor replied, "Well, perhaps you'd like to teach the course?" I quickly deflected by saying I wasn't in any way trying to usurp his authority and blaming it on general crankiness.

What I saw, however, was the dogged refusal to budge in the face of change because of unfamiliarity. We see it all the time, the hordes who said people writing games in C in the mid-80s were crazy ("Assembler!"), who then turned around and said C++ would never find a foothold in the industry in the mid-90s ("C!"), and who are now saying pretty much the same thing about managed, interpreted and other high-level languages ("C++!").

See a pattern?

The fear of change, of having to re-learn, of not knowing. This professor is a very bright young man, very personable (check his GDC video interview out) and an all-round great guy, but in that moment he conveyed to me a reluctance to reexamine his analysis of the game industry and the consequent best approach to teaching game development at a college level.

Now I must give him the benefit of the doubt in that we were in class, half-way through the semester, and it was an inopportune time for open-ended theorizing about best approaches and the philosophy of technical instruction, so I'm not even remotely mad at him, nor does my estimation of him decline in the slightest. Rather, I simply want to articulate the following: if you fear change, you will be overwhelmed by it. Technology, and society in general, move forward at a relentless pace, and, being faceless entities, have no compunctions about leaving you behind.

Embrace change. Welcome change. Consider it another chance to get it right, to make it better, easier, more powerful, more flexible, more expressive. Live it, learn it, love it.
Sign in to follow this  


Recommended Comments

Heh, or as another chance to watch the newbies scramble about and have their language wars. Either way, the opportunities abound!

Share this comment

Link to comment
But what of those of us who are not interested in making games but instead prefer making the engines behind these games, or even more, doing the research that gets used by the engines? Would not such classes be beneficial?

I do engineering [electron] and in Quantum Mechanics, you first learn the methods of Statistical Mechanics and the old Quantum Theory and although none of it is used in reality, I would have it no other way because I like the history and having an idea as to what the current methods are derived from. Even if they are only general and vague.

The same also, should apply to the graphics programmer, he should know of how it was done "in the old days", so that he can not only use the API/SDK/whatever optimaly but innovatively because he understands whats going on under the hood. Do you not think it a problem that newer programmers see the code sqrt(x*x+y*y+z*z) and have no idea that it is the same as D3DXVec3Length()? (I saw this on a site, on coding methods, dont remember which).

I do agree on the reluctance of people switching paradigms and how this often proves harmful to growth and progress. (i.e. DOS till hell freezes over, ASM vs C vc C++ vs C# etc.) People just get confortable with what they are used too..I think just as you must stretch to remain flexible, so also must one warp their minds on strange concepts constantly to remain mentally adroit.

Share this comment

Link to comment
Comment by Daerax
But what of those of us who are not interested in making games but instead prefer making the engines behind these games, or even more, doing the research that gets used by the engines? Would not such classes be beneficial?
There's a Computer Graphics course, you know. Cornell University even has an entire Department of Computer Graphics. If you want to make technology, make technology. If you want to make games, make games.

Far too many people claim they want to do one, but actually want to do the other.

Share this comment

Link to comment
Amen. I use C++ and C#, and if ever needed I would use C, ASM, Java, PHP, or any language really. If it gets the job done right - then use it.

Share this comment

Link to comment
People pigeon-hole themselves into one area too much. Then, when the economy takes its 10 year mini-correction, they complain because they have no marketable skills and somehow think its Bill Clinton or GWB's fault. YOU ARE A COMMODITY. You are consumable and replaceable. You avoid being replaced by making it cheaper to keep you than to replace you.

It's not just about what you learn in college. More than any other field, we need to continue learning. How often do doctors completely revamp how they treat the chicken pox, and how predictable are those changes? The tech industry changes, it's the freaking profit model, if you don't prepare for it you're toast.

I'm not saying anything new... the sad thing is that the people that read the journals probably consist only of people that really care about their future and therefore know this already.

Share this comment

Link to comment
I'm relieved to report that I was right about the professor. I started a discussion on the topic on our class boards and he chimed in to solicit suggestions on how to improve the course, incorporate new techniques and technologies and raise the conceptual level without eliminating low-level instruction.

Richard, if you ever read this, you're cool with me. Now get that Ph. D. so you can supervise upper division projects and independent studies!

Share this comment

Link to comment
Even better, he's solicited my help in reviewing and reformulating the course curriculum - and I get credit for it! If only all professors were this receptive to constructive criticism!


Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!