A Game Dev’s Story, Part VII: Wouldn’t It Be Cool If…?
Posted by Rampant Coyote on March 14, 2012
Okay, I had a short hiatus with this series simply because there were far too many interesting and newsworthy things to post about over the last couple of weeks. I’ve got a small backlog of blog posts to go out, and topics to discuss, which is actually a pleasant change of pace for me. Usually I’m panicking the day before trying to come up with a topic. 🙂
Last time, I’d just come back to school following religious service, and switched my major to computer science. I wasn’t home too long before my best friend asked me if I was going to ask her to marry me. Yeah, you can re-read that to parse it better if you want, but that’s how it went down. We were officially engaged a couple of months later (much to the surprise of my mother, who wasn’t expecting it, and to the non-surprise for her parents, who totally WERE). We were married that summer, and lived on grants and student loans for a semester until she graduated, worked as a substitute teacher and later a second-grade teacher, until I was able to graduate.
The summer just before we were married, I lived with my future in-laws, earning higher California wages to save up for lower Utah cost-of-living. I didn’t know anybody, was engaged to be married, and didn’t drink or party. My fiancee was back in Utah attending classes so she could graduate a semester earlier. I had very little social life. But I did pull out a little portion of what I had been saving as entertainment money. And, with my father-in-law-to-be’s support, I built a computer. A 16 mhz 386-SX with a 40 meg hand-me-down hard drive (which was undersized even at the time). My fiance’s sister had some games I could borrow, and the entertainment budget primarily went to buying more games. As it wasn’t much, it usually went to buying bargain-bin specials, but I’d been out of gaming for a while, and so they were new to me.
My future sister-in-law had Ultima V. I never finished it, but I got pretty far that summer. I also discovered a roguelike called Moria, which I played quite a bit and was amazed by the depth of the game relative to the RPGs I had been playing in the C-64 days. Neuromancer was one of those bargain-bin games that became an obsession for a couple of weeks (especially as I was a big fan of William Gibson’s books). Infocom’s Journey seemed really cool at first, but I never got too far. Loom was brilliant, but if it weren’t for the fact the second diskette had been faulty and needed to be replaced by LucasArts, we would have finished it the first night. It was ridiculously short. A-10 Tank Killer and SU-25 Sturmovik largely fed my flight sim appetite (I picked up another simulator that I never did get into very much).
On top of this, I taught myself C and C++. I was going to go to classes that taught these languages my first semester after this, but I got started a little early. It was rough going, particularly in the era before the World Wide Web and thousands of helpful articles and forums, but I managed. Having experience with BASIC, PASCAL with Objects, and Assembly for a couple of different processors really helped speed the process. The languages change, but the basics of programming are pretty consistent.
The real mind-blowing experience of that summer was Wing Commander. It was NOT a bargain-bin purchase, so it was a major purchase that I had to apologize to my fiancee for. In retrospect, it was sort of an investment. I studied that game in depth. I lived it. I didn’t have much better to do, and Wing Commander was the kind of game I’d dreamed of back in the C-64 days. Even today, I feel it had a better mix of simulation – vs. – story than any of its sequels. I’d memorized damage power, shield and armor levels for the different ships (even for the Confed corvette, a ship that appeared exactly once in the game, in an early escort mission, and was never used again). I studied the AI. I studied how the game rendered the 3D world – using rotated, scaleable sprites rather than more bland polygonal models used in most 3D games.
Between Wing Commander and Ultima, I got a really silly idea. I still had a couple of years left to graduate, but I figured it wasn’t too soon to start tailoring my education to optimize my choices for future employment.
I called Origin, and asked to speak to the Human Resources department.
In a short, ten-minute interview with a rather perky-sounding lady, I was informed that Origin was really looking for people (right now) with CD-ROM experience, as that was the technology of the future and would finally stop pirates cold. (Yeah, that’s what they thought.) I was also told that I didn’t need a computer science degree to get a job as a programmer at Origin, so she really didn’t have much to offer as far as course suggestions. She didn’t suggest that I quit school to come work for them, but she definitely left that as an implication. yes, C and C++ experience was important… something that I didn’t have much of at that moment.
C. C++. CD-ROMs. College degree optional. I thanked her for her time, and filed this away.
In the intervening years, I played a lot of games. Origin continued to amaze me. PC gaming technology dramatically improved each year. Ultima VII, Wing Commander 2, Ultima Underworld, Wolfenstein 3D, Falcon 3.0, Wizardry 7, the Eye of the Beholder series, Monkey Island 2, Gabriel Knight, Civilization, Empire, Master of Orion, Frontier: Elite II, X-Com, Epic Pinball, Wing Commander Privateer, and of course Doom were favorites of mine during this time. School offered very little in terms of courses directly related to games, but whenever I got to choose the type of application I’d write for a project, I’d make something game-related. While it was more work for myself, it also made the assignments much more fun.
A couple years later, with my degree nearly in-hand, I’d not quite followed the Origin H.R. representative’s advice. But two years was a very long time in technology, anyway, and CD-ROMs had become pretty boring, standard technology. Origin had been bought out by EA, but my wife and I were still talking about the possibility of relocating to Austin. In my spare time, I was playing lots of games, but also writing games of my own. My peers all dreamed about getting a job making games, but were settling down for interviews at good ol’ stable and boring business applications companies, or doing network administration (the hot field as I approached graduation).
Me? I was making game demos for a portfolio. I figured I’d have to settle down at a boring job making front-ends for databases or something eventually, but I didn’t want to settle there until I’d given my “dream job” a shot. I started with some local game companies, as at the time Salt Lake was enjoying a boom in the game development industry. I figured I’d start out locally, and widen my net when I struck out here.
I graduated from school, and found myself no longer a student, and without solid job prospects. With a shock, I realized that I was now “unemployed.” I had a little bit of time to find a job, but the clock was ticking. My wife was now pregnant, and so I didn’t have much time to hold out for the “dream job” before I had to find something.
I’d heard of a new start-up from some students of an Artificial Intelligence class I was the Teaching Assistant for. They weren’t hiring yet, because they’d had no funding. I called them up and periodically bugged them as I got close to graduation, but they were still in a holding pattern until the funding situation worked itself out. In the meantime, I’d finally lined up an interview with a local, smaller studio that was primarily doing game ports or art subcontracting for consoles.
The interview went pretty well, but the head of software development wanted to see more. He invited me to work on what he thought was the strongest of my game demos for a week, and “make it fun.” He wanted to see what I’d do with it. My mind boggled. I spent the rest of the day pondering the meaning of “fun.” What would impress him?
Curiously, my answer then… and it’s a lesson I probably need to re-learn from time to time… wasn’t purely mechanical. It was also presentation. Graphics, animation, sound – all conveying excitement, drawing the player in, and encouraging them to engage emotionally with the game. Of course, I also polished the mechanics and put together a better “vertical slice.”
It got me the job. But over the course of the same week where I agonized over making a game “fun,” I got an interview with the new start-up, called SingleTrac. I showed them my little portfolio. Unlike the other studio, the demo these guys were most interested in was a 3D tank game that was playable over null-modem that I’d written for my networking class. Especially considering I’d written the polygon rasterizers from scratch. THEY were working on 3D games for a brand new console coming out from Sony, they told me.
I received their job offer only a day after the first one. In the end, the Singletrac position won out. They’d offered slightly more money – still less than I’d have gotten with a non-games job, but it was a chance to get PAID making GAMES!!!!!!! And doing cool 3D games on a new platform sounded more exciting than handling 2D game ports on older consoles. So I accepted the position, and in October of 1994 I become employee number sixteen at SingleTrac, working on two games that would eventually become Warhawk: The Red Mercury Missions, and Twisted Metal.
Filed Under: A Game Dev's Story, Game Development, Retro - Comments: 4 Comments to Read
slenkar said,
I cant imagine going from rendering polygons to ‘car physics’…was it difficult?
Rampant Coyote said,
I’ll talk about that a little next time. But so as to not keep you in too much suspense…Steve Paulson did the car physics. I did the weapon … uh, “physics.” Which weren’t really much by way of physics.
slenkar said,
still looking forward to the next part, rendering textures on polygons in software :_)
Rampant Coyote said,
Heh, there’s a funny story there I don’t know that I’ll get to in this series or not. But for a while I was working a little on the PC versions of our engine, and I *did* do some assembly language rasterizing of textured polygons in experiments. It was perspective-incorrect, just like the Playstation, but relatively fast. But we ended up going with another solution.