When I was finishing up what ended up being my second-to-last semester at the University of Michigan, I knew I was going to be a High School English teacher. That was my goal. The forthcoming summer was the first summer since my freshman year that I didn’t have to take two terms of summer classes. Since I was already pretty massively in student loan debt, I figured I’d a get job for the summer. The summer after my freshman year, I was scheduled to take an internship as a game developer at Stardock Entertainment but could not accept the job due to a lack of a car of my own (and no money to get one). I ended up working as a game journalist while also doing programming for the University of Michigan’s Space Research department. Luckily, though, I was still in contact with friends at Stardock and we ended up organizing an internship for that summer after my senior year.
Now, two years and a few months later, I’m leaving Stardock Entertainment and following a superb opportunity to work as a Game Designer with LightBox Interactive. LightBox is composed of a large portion of members of Incognito Entertainment who, most recently, released the superb Warhawk. And Warhawk is a game that, to a large extent, was the reason I bought a Playstation 3 in the first place. Every single person I’ve met and talked to at LightBox has been incredibly friendly and amazingly knowledgeable in regards to their work. To say I’m excited about starting there is a bit of an understatement.
One of the unique aspects about taking this job is the opportunity to live in Salt Lake City, where LightBox is currently located, for the next two and a half months and then move to Austin with the rest of the studio to settle down. I have lived in Michigan all my life, so while the move may be sort a sort of logistical nightmare, I’m eagerly anticipating the fact that I get to check out Salt Lake City — which is gorgeous from what I saw when I was flown out for my inteview — and then head to Austin just a couple months later. And I’m sure my ferocious tiger cat will enjoy the road trips to each place. I’ve lived in the Ann Arbor/Detroit area since I came to the University of Michigan six-ish years ago (and have lived all around Michigan before that), so the geographic change alone seems like it will be pretty amazing.
Most importantly for me, I’m incredibly excited to start working in the capacity of a Game Designer as it’s a change I’ve been wanting to make some time. Game design has always been one of my primary interests in the game industry and after working for the last couple of years in a programming-focused position, I’m pretty psyched to get to work in a more creative capacity that more directly impacts the gameplay experience that players engage in. And one of the things that stood out to me about LightBox was the breadth of knowledge and clear passion for games and game design that LightBox’s Lead Game Designer, Josh Sutphin, conveyed in my phone interview with him. Which is a good thing because, as anyone who has read this site is aware, I like video games and game design a little bit.
I have had a pretty great time these last couple of years at Stardock. Since I’ve been here I’ve worked on The Political Machine 2008, contributed some work to Galactic Civilizations 2: Twilight of the Arnor and Demigod, and put a lot of time, work, and love into Elemental: War of Magic. I have met some truly great people and worked alongside some crazy intelligent developers in the process, and I’m extremely thankful for the opportunity to work here. Had Stardock’s Vice President not suggested that I take an internship here way back in January 2007, I would probably be an English teacher right now.
So, I have about three and a half work days left at Stardock. And as I go through my final week in Michigan for the foreseeable future, it’s really strange to be making such a major change. I’m packing a small amount of absolute necessities for the temporary stay in Salt Lake City (so, you know, clothes, consoles, computer, cat) and “looking forward to” what is probably a twenty-four hour drive spread over three days across one giant freeway through the middle of the country.
And, yeah: crazy excited.
Every now and then it’s nice to talk about game development; how to get into it, and what it’s like to actually be a professional game developer after years of being a part of game development communities on the Internet. This post was inspired by a blog entry by the ever-fantastic Steve Gaynor. The entry is titled “Informative” and he discusses his approach to getting into level and game design from the perspective of someone who had no idea how to get into game development. It’s a fantastic read and is a completely different approach to the way I got into game development.
One way to get into the industry is have the general knowledge of what game development consists of and keep this in mind as one progresses with his/her education. Maybe someone looked up a game school like Digipen or a trade school like Full Sail. I know a number of people that have gone this route and gotten good jobs in the game industry (one of whom is a close friend and colleague at Stardock). There are also a number of people who got into the industry in a sort of traditional training/educational manner. These are the people that maybe knew an widely-accepted path of learning a given artistic or programmatic trade through classes in high school and then continued the advancement of these schools through college. Both of these are very viable methods of learning the necessary skills to get a job in a very unique and competitive industry.
But that’s not how it worked for me. And I have some of my personal history and some very unfortunate evidence of my past projects to share along the way.
I grew up with video games. Sure, I also had a fondness for basketball and, eventually, cross-country, but video games were always a consistent force throughout my life. I got a copy of Super Mario Bros. 3 from my grandparents for Christmas when I was around five or six. The problem that I remember back then is that I got this game and I didn’t even have an NES. I wasn’t sure what their angle was. I thought it was either a mean trick or my grandparents had no idea that a game cartridge wasn’t a self-contained video game-playing entity. But I clutched that copy of SMB 3 in my hands for a week or two. At some point I accidentally dropped my copy of Super Mario Bros. 3 in a toilet. After that unfortunate event — still not having an NES of my own to play — I had an urgent need to visit my friend’s house. He had an NES, see, and I had to ensure my holy grail hadn’t been corrupted. Thankfully, it wasn’t, and shortly thereafter I had an NES of my very own to play it with. It wasn’t until I was eleven or twelve that I really ever started wondering how video games were made. But, that did happen, and it was, as is tradition for the small town of Kalkaska, Michigan, during an incredible blizzard that I started screwing around on a computer. Before I go further, I want to ensure we have the same picture of a winter as I do; these are recent pictures but you can’t really tell the difference between back-then and now in this context:
So, there I was on a day where I clearly wasn’t going to be visiting any of my friends, playing, most likely, a game of Warcraft 2 on the family computer that was used almost exclusively for word processing software. My immediate family wasn’t a very technical bunch while I was growing up. Even this computer, the first one our family ever owned, was given to us by my grandfather (who worked as a computer analyst). At some point preceding this blizzard-filled afternoon, my cousin, who grew up in a very tech-heavy family, introduced me to QBasic and some basic Snake game that he downloaded off the Internet that was made with QBasic. So, on this day, I opened up QBasic like my cousin showed me and read through the in-program information and documents — they weren’t well-written, numerous, or particularly useful — and began cranking away at a text game which integrated some text-based animations and my homemade Chiptune compositions. At some point I tried adding actual graphics to these games but, well, I was an eleven-year-old trying to figure out how to do basic computer graphics isolated of any knowledgeable help. I think I made a circle with one eye near the circle’s origin and the other a few units to its right. It wasn’t pretty.
A couple years later (and months after I stopped using QBasic for anything) and I was a fourteen-year-old with a far newer computer and an actual internet connection (a 28K dial-up modem). And it was at this point that I actually started wanting to learn how to make computer games using the same kinds of tools and information that the real “game people” used. I hopped on the Internet and, eventually, learned about C/C++ and how these languages had something to do with video games. I was working as a bag-boy at a local grocery store around this point and, with my first or second paycheck, gave my Mom the money to order a C++ programming book from Amazon.com (I reassured her that the site was safe and that she could use her credit card).
As soon as I got this book, I started reading and learning about the intricacies of the language. It was hard. I worked at deciphering what was an absolutely cryptic and confusing set of skills and information every single day after I got home from bagging groceries, cleaning bathrooms, and chasing after carts. Sometimes I had to read the book without immediate access to a computer to test new C++ functionality out or to try transcribing a sample program from the book into a free C++ compiler that I downloaded off the Internet. And I did this sort of thing nearly almost every day for a summer. And then school started back up, the book chapter on pointers was proving asininely complex, I joined a Cross Country team instead of a Basketball team (the running folks were way nicer and more relaxed), and forgot about my C++ learning for a while.
I didn’t stop programming during that lapse in my C++ learning, though, which surprises me to this day. I ended up borrowing my mother’s TI-86 graphic calculator for the math classes I was taking through my sophomore year of High School. And, one day during a class on Michigan History, I was playing around with my calculator and realized that it had a program editor installed. I went home that day and looked up information on the TI-86 and the kind of games that people were making for it. And through a series of nights working on a TI-86 BASIC program editor and tweaking the results in the middle of some of my high school classes I came up with a TI-86 game of my very own that the Internet has preserved for almost eight years: ARENA. The game won me a book from a site dedicated to TI-86 programming.
It wasn’t until my last Cross Country meet that I had a mid-race revelation that ended up being kind of important; it was the one that reminded me that I stopped learning how to program and that I should pick my book back up again and start, once again, from the beginning. The one thing I did differently when I picked that book back up ended up becoming one of the most important lessons I like to relate to people who want to get into the game industry: join a community of people who share your interests. I joined GameDev.net, a community-focused site that was focused on its namesake: the development of video games. It was through this site, and others like it that have since ceased their operations, that I learned the most from and made a huge number of contacts and friends. I joined the site’s IRC channel and talked to a bunch of other development veterans, which was helpful, but also to a group of people that were in the same situation I was in: learning on their own time and trying to make sense of all of the complexities of game programming. At some point, I got a group of people together (ignore the “Royal Rainbow” near my name; that’s a result of antagonizing my fellow moderator last year about the lack of color to our tags) to make a game, had a bunch of people argue about what the “team” wanted to work on, and then all storm out of an AOL Instant Messenger group chat room. But I did meet some people that I worked closely with for a few months. One of the “games” that was born out the work done by myself and a fellow GameDev.net developer also, unfortunately, survived through the last eight years: ARENA: Evolution, the “sequel” to my TI-86 game.
And so my self-teaching went on. At some point I picked what I still consider to be the most game programming important book I ever bought (despite now realizing how many horrible practices it taught me): Tricks of the Windows Game Programming Gurus. I probably read this book cover-to-cover about three times trying to properly understand COM, DirectX (specifically, DirectDraw), and some basic tenets of game programming. And I worked with DirectDraw on some failed demos and little games for a few years; some screenshots of these awful projects can be found below. I didn’t really grow to appreciate the concepts of color, scene composition, aesthetic design, and other such invaluable traits of a good game designer until at some point in my college career. It shows, yes, I’m well aware. I eventually moved into 3D game development with OpenGL with the help of Nehe’s tutorials. These tutorials teach poor programming and development practices but were, at the time, a remarkably simple way of learning basic 3D programming. I ended up writing a basic series of game programming tutorials for NeHe but I had those taken down as I felt they gave some incorrect information and poor practices.
I contacted the author (André LaMothe) of Trick of the Windows Game Programming Gurus a couple years later, when I was around seventeen or eighteen, and eventually this action led to a book publishing deal for me. It was a very strange concept to get my head around but I finished that book and, surprisingly, didn’t get beat up every day of High School for it; in fact, I actually made a bunch of new friends as a result of conversations about my book. I consider it be an absolute piece of trash both technically and stylistically (text and code) but, hey, a little selling-out never hurt anyone.
When I went to college at the University of Michigan I was certain that I wanted to be a game developer. I was eager to learn some proper programming information from the professors who spent their life developing applications — maybe even games! — using the kind of information that I’ve hacked together throughout the four-five years of learning I did on my own. It was tremendously exciting.
And then my first year ended and I didn’t really enjoy programming anymore. Something about being taught the same programming principles that I forced into my brain on my own time became a dull, uninteresting endeavor when they were related to me by a college professor. I didn’t see the relevance to video games in the examples that were discussed in various lectures and lab sessions. And when the video game angle was removed from the sort of technology and programming that I was so passionate about growing up I realized that I didn’t care very much. I also had real concerns about how well I’d function in an office environment being that I was, throughout the entirety of my life, a very active, energetic, and oft-rambunctious person. I ended up dropping out out of the College of Engineering and switched to the school of Literature, Science, and the Arts. I received some strange looks during this process. People have to apply to transfer from LS&A to the College of Engineering but doing the opposite required only a signature from a College of Engineering advisor. So I did that. I switched my intended major from Computer Science to English.
I went through my second, third, and fourth years of college, at this point, with the intention of becoming a High School English teacher. I thought that I just wasn’t cut out to be a programmer and, as such, didn’t really have any marketable talents that would get me into the game industry. I really enjoyed a year of level design using DOOM 3’s Radiant level editor and a bit of mod work within the Half-Life 2 Source Engine, but I considered those things hobby work. I also played with Torque Game Engine a little bit. Throughout this time I took a variety of classes about linguistics, literature, Roman/Greek history, and a number of creative writing courses which were all tremendously fun for me; I met a ton of cool people, learned new things, and realized how much I love writing. So throughout this period where I just enjoyed being a pretty unfocused college student who dabbled in a bunch of aspects of gaming and game modding I realized how much I enjoyed simply writing about games. So I did that. Often.
But, despite being a very connected person who still enjoyed talking to hobbyist game developers via IRC daily, I never once thought that I could have tried to get into the game industry like how Steve did.
Near Christmas my senior year of college I read about something that Microsoft was releasing to the hobbyist game development community that would allow independent game developers to make games for the PC and the Xbox 360 using the same code. So I downloaded the very first release of XNA Game Studio — a beta that would end up being v1.0 of the development environment. I didn’t know C# at the time so I was, in essence, trying to remember everything I knew about C/C++ (which was a bit rusty at that point) while also trying to apply those principles to C#. I ended up trying to replicate some of the graphics techniques I messed with when I was still in high school such as non-photorealistic rendering techniques and my favorite graphical feature of all time: particle engines (though, now, I find myself to enjoy programming new game mechanics and thinking about game design more than graphics).
I showed these images to one of the friends at Stardock that I had maintained contact with throughout my college career and, eventually, got an internship. It was a pretty simple endeavor, primarily because I interviewed and received an internship position withStardock back in 2004 near the end of my freshman year of college. I didn’t have a car and as the time neared for me to actually start the job I also didn’t have the money to purchase a car so, much to my disappointment, I couldn’t take the job. But, three years later, I accepted a position as a game development intern at Stardock Entertainment working on a number of features for the recently-announced Elemental: War of Magic. My internship ended up transitioning into a full-time game developer position as I took my final class at the University of Michigan alongside working at Stardock from September 2007 until my graduation with an English degree in December 2007. And this is me at my desk playing with the iSight on my Macbook right as I was packing up to leave work this evening:
When I started this entry my goal was to discuss, concisely, how I got into game development and to give recommendations to anyone else who may be living in the middle of rural nowhere with a 28K dial-up modem. As I started writing, though, I realized how the beginning of my “game development career” began from apre-teen kid screwing around on QBasic on a 486 Packard Bell that was given to my family by my grandfather (who passed away last month). As simple an activity as that was, it was enough to get me to realize the kind of thing I wanted to do “when I grew up.”
It’s widely-believed that persistence and hard work are the two most necessary traits for any game developer. I absolutely agree with that. I’d like to add, though, the importance of communicating with other developers whether someone is just getting started or has been in the industry for years upon years. Much like when I was fourteen and using our family’s new computer to talk to people about programming, I still find that sharing my development and gaming experiences with other like-minded people, even if I’ve never met them before, never fails to get me excited about the fact that I make video games. My work consists of making games that, in my opinion, are amongst a small group of definitively-PC games being made in the industry right now. And, when I get the time, I sit on my couch working on a MacBook to try and develop an iPhone game that will make good use of the platform’s strengths while still being the kind of game that I love to make.
So, thanks Grandpa. You were the cause of me being, like, a super nerd.
As more and more developers and publishers realize the benefits of distributing their products online, more types of digital distribution applications have been created to benefit the cause. At this point in time gamers have their choice of applications like Impulse (a rebranded and revamped Stardock Central), Steam, Gametap, and EA Downloader (which is now simply the EA Store) and then digital distribution websites like Direct2Drive, Greenhouse, and GamersGate.
Among gamers, though, the most oft-used and oft-mentioned means of acquiring new games is Valve’s Steam. First released in September of 2003 as little more than a means for Valve to distribute and update their own titles, the application was widely criticized for an extremely high memory footprint and its sluggish performance. Now, though, the service has been continually updated and refined into an industry-recognized method of acquiring and updating Valve’s titles along with a huge assortment of third-party games. The most recent major upgrade that the platform received came in the form of user stats, achievements, a community system (complete with friends lists, groups, and event calendars), an in-game overlay which gave users access to all of Steam’s features in any game launched from the Steam game list, and a revamped store. Up until the release of Steamworks most of these services were only properly utilized in Valve’s own products but, now, developers partnered with Valve can implement the same Steam-specific features in their games as well. Steam Cloud has also been talked about which would give Steam users a sort of virtual storage space for game save files and preferences.
One of the other digital distribution applications that I install whenever I format a computer has always been Stardock Central. Before I ever even thought about working at the company I was a fan of Stardock’s games and a couple of the applications that the company produces. Back when the actual game catalog was slim-pickins all I ever did was launch the program, download a game or an update, let the thing install, and then I shut the program down again until I felt like checking for another update a few weeks later — all of this was around the launch of Galactic Civilizations back in 2003. It wasn’t a very pretty program by any means (though it was a far cry from Stardock’s very first digital distribution app, Component Manager, back in 1999), but it didn’t really have to be.
Earlier this week Stardock launched Impulse which is more than just a pretty face on top of years of knowledge gained from the development of Stardock Central; the best write-up on the program available was published by Brad Wardell on the day of its release. As a game developer, though, I think of Impulse as being an incredibly open and community-accessible distribution platform unlike any other in the industry. We’re developing a set of tools called “Impulse Reactor” which we’re planning on giving to third-parties so that they can easily access community features and — since I’m a gamer and a game developer — game statistics, matchmaking, achievements, friends lists, and all of the other things that users of Xbox Live have been using and relying on for years.
I play a pretty ridiculous amount of games; specifically, I play a pretty ridiculous number of shooters and strategy games. Valve’s multiplayer shooters are the best I’ve played since the days of Quake 3: Rocket Arena. Last year I played in a giant Shacknews Team Fortress 2 tournament (no, really) and, before that, I put a pretty crazy amount of time into Counter-Strike: Source and, for both games, Steam has been absolutely invaluable. I’ve taken part in tournament games that our team leader threw into the event calendar and had a little message box pop-up to notify me when and where I should go for a match and, after a game, our entire team joined a group chat room to talk about the match and what we needed to do better for the next game, and so on.
But why aren’t there any applications which have this kind of integration for real-time strategy games? The amount of time I’ve sunk into Warcraft 3: The Frozen Throne, Company of Heroes, Supreme Commander, and Sins of a Solar Empire is, quite honestly, embarassing. This same fact is true of Civilization 4 and its expansion packs. Of all of the digital distribution applications that exist for the PC none of them have the kind of Xbox Live statistics, matchmaking, and general game integration for the genres of games I enjoy the most. In conversations that we’ve had around the office this is the kind of gap that we want Impulse to fill (and, with Impulse Reactor, give other developers the tools to bring the same features to even more oft-forgotten games and genres).
The only thing that comes from overzealous application zealotry and exclusivity is a lack of competition that brings about new features, more content, and more innovations.
I’ve been working every day (and what long days they are) for the last couple weeks on The Political Machine 2008 as we make our final surge to the game’s gold date and figured I might as well plug it here since I haven’t had time to write about anything else lately. My role on the game is primarily as a gameplay programmer (which has been awesome). Anyway, pictures:
For this update, my role in Asplode! was absolutely minimal. While I’m in the middle of a mild crunch for The Political Machine 2008 and then away at Rochester, New York for a Paramore concert, Josh was working asininely hard on version 1.2 of Asplode!. As started, my role in this update was purely peripheral as, in my spare time, I’ve been working on the start for Bipolar and taking some of Josh’s code for his game and turning it into a more generic library that both of us can use in our current and future projects (the library is HardCat Library, obviously). Anyway, major changes:
For some inexplicable reason, the XNA redistributable may still fail to install using the installer, so you may want to manually install it: XNA redistributable.
As of now, I am officially a two-week-old intern programmer at the game development division of Stardock; a company most likely best-known for their Object Desktop suite of Windows desktop customization software (of which I believe WindowBlinds and ObjectDock may be the most well-known). Within the game development scope of things, though, Stardock is famous for their turn-based strategy series: Galactic Civilizations; the most recently released of which was Galactic Civilizations 2 and its Dark Avatar expansion pack. The company also developed The Political Machine, a turn-based strategy game which revolved around the 2004 presidential election. And, here I am, a one-class-away-from-graduating English major at the University of Michigan who is, as previously stated, a game programming intern at a company best known for its turn-based strategy games, Windows customization software, and a history of excellent customer service. And I, somehow, managed a position there.
Though, in all honesty, I think the folks at Stardock thought they were actually hiring a kitten. Imagine their disappointment when I had neither fur nor whiskers. Though I do meow.
The First Day
I have a history of sleeping issues when I lay down with nothing on my mind; the kind of sleep I get on the night before starting a new job in a part of Michigan I had never seen to start work with a bunch of brand new people is restless at best. So, after getting to sleep at around 3am, I woke up at 7am to give myself time to have a nice, relaxing morning with a big ‘ol breakfast (… instant oatmeal?) and, well, that’s really all I had planned for the morning’s activities. I was planning to show up to the office at 9am, but being relatively unfamiliar with the kind of traffic I would have to endure on the drive from Ann Arbor to Plymouth, I left at 8:15 “just in case.” So, twenty minutes later, I was standing outside the very impressive building with the glossy, pretty Stardock logo wondering where I would be working. It’s probably worth noting that I had never actually set foot inside of this office before — when I interviewed for the intern position it was back in the “old” office in Livonia; my first thought at the sight of the new building was “Wow. It’s all sorts of pretty.”
The first mission as a soon-to-be-employed intern was to actually find my way within the office itself. There are three floors of the building: the first floor, which is shared with an accounting firm (and part of Stardock that I have yet to actually see the inside of), the basement which is undergoing renovation, and the second floor — which, through the window of a locked door looked like the place I wanted to find my way in to… But, for whatever reason, the locked door was, in point of fact, locked to the uncleansed outsiders (ie, me) of the world. I walked back down to the first floor of the building and tried the door to, what looked like, the Stardock portion of the first floor (as indicated by the Galactic Civilization poster on the wall), and that door was also locked. The secretary within the accounting firm across the hall gave me judgmental looks as I walked around confused. Confused and scared. My next attempt at getting inside was to go down to the basement and see if there was a hidden stairwell that I would be able to access to get into the office. There wasn’t. It was dark and basement-like, though. Eventually I decided just to play around in the elevator on the ground floor. This elevator took me up to the second floor and into the main lobby where I said “Hi. My name is Trent. I’m an intern. I’m, uh, starting. Starting today. I hope?”
After a short sit-down-and-wait period within the Stardockian lobby, Cari came and met me and gave me a tour of the second floor along with introductions to all the people who were at work at the time — it was only about 9:00am and, as I know now, a majority of people don’t show up until after 9:30-10:00am. Apparently there were some lack of notifications about when I was actually starting, so I had a bit of down-time for the first hour or so while I was there. Though, this downtime was well-spent getting the surprisingly speedy computer that I was set-up with; my worry that I would have a rough transition from my dual-monitor setup at home to a single-monitor workspace was instantly rendered naught — not only is my work machine near-identical to my home one, but one of the two monitors at my desk at work is actually larger than both of my home ones. This was a very joyous realization.
Since I had yet to sign an NDA (non-disclosure agreement), people in the office were avoiding me like the plague, so I sat at my computer setting up software and downloading some of the necessities for fifteen minutes until I was given the requisite NDA; the moment I signed it, people around me lit-up and I was briefed on what my first task as an intern game programmer would be. I, unfortunately, cannot divulge any of the details here, but I can say that I was absolutely not expecting to be given a task of the kind of importance and awesomeness which I was given. As a measly intern, I was expecting to be doing nothing short of programmatically cleaning the office’s gutters and scripting the trash bucket’s cleanup routines. Instead, by the end of the first day, I was working alongside what I would consider to be a “veteran employee” in designing and organizing fairly major component of a project.
I could not have asked for a better job.
As of today, I have been at Stardock for a grand total of two weeksAs of when I started writing this article, I had been at Stardock for a grand total of two weeks; now, as I come back to this masterpiece in e-penmanship and creative thinking, I’m ending my third week there. It has been a weak and timid amount of time in the whole scheme of things (or, erm, I have been a weak and timid employee in the whole scheme of things; toe-may-toe/toe-mah-toe), but it seemed as good a time as any to finally write the little article that I’ve been meaning to get to since that first day.
I was talking to one of my friends earlier today about my job and, for a bit of background, this is someone who’s greatest familiarity with the concept of video games is knowing friends who played Halo in dorm rooms, much less with the knowledge of what kind of work goes into modern video games. Anyway, I was talking to this friend, and I was trying to explain the kind of work environment present in Stardock — the lead-in to this conversation being that I said it was difficult to imagine a larger development company being this… homey. Even as an intern, I don’t get foul looks for walking around in flip-flops, being essentially draped across my chair/desk in an awkward looking, albeit surprisingly comfortable, bodily configuration while programming. For a quick break every now and then, there is a consistently-stocked lunchroom area with pop, fruit, snackables, mini-meals, and so on. Basically, the whole of the second-floor workplace (I still have yet to actually see the first floor) is a very comfortable, easy-going environment that makes working and adjusting to a completely new kind of work environment about as painless as I could have hoped.
And then, of course, there are the people. I don’t think I’ve had such pleasant things to say about such a wide variety of people in recent years. Even as a measly intern, people have been not only friendly, but also incredibly helpful; during my first few weeks if I was ever confused about something, there was never any intimidation factor in seeking out someone to get some help from. On my first day, I was given some very basic goals for the component of something that I was working on, on the second day I got some clarification, and on the third day I was playing around in the codebase working on implementing some of the most basic of features that would come in handy; other than these first few days, I’ve had nearly complete freedom in the way I go about designing and implementing my personal task (which is a fairly independent one, at the moment). This was not only surprising for me in the sense that I have a lot of freedom about how I go about working on things, but also that I would be given this amount of freedom on a non-trivial and fairly significant component of one of the company’s current projects. Being vague and sketchy is fun!
All of this really makes for a very encouraging experience for me, personally. After my first professional programming job the summer after my freshman year doing what was, essentially, contract work for the U of M Space Research department, I had a lot of my love of programming beat of me. Between that and my first-year Engineering courses at the school — which, not to sound like too much of a jerk, were very work-intensive without a whole lot of actual learning occurring — I decided that I would take my academic education in an alternate direction for my time at the school and do something… Well, different. So, despite changing my major to English, I found myself craving programming as a purely extracurricular activity; I got involved with implementing some additional features into the then-beta Torque Shader Engine and doing some very basic contract work (none of which really panned out). More recently, I decided to take a few additional Computer Science classes during the school year, since I had a large majority of the classes necessary for my English degree, along with playing with XNA during my spare time. It’s been a weird sort of combination of work for me; surprisingly, there really are not a whole lot of similarities between English and Computer Science — though, oddly, aspects of my Linguistics courses had connections to some aspects of computer programming languages.
As I stand now (one class away from a Bachelor’s degree in English), I can’t say I regret taking my academic “path” down a very different educational branch from my very Computer Science-heavy experience outside of school… But I did find myself worried that the degree in English would make finding actual employment as a game developer far, far more difficult than it would have been with a CS degree. And, as far as I know, an internship as a game developer may not make it a whole lot easier… But the one thing that has made an impact on me is that, in conversations with my coworkers at times, when I mention that I’m actually a near-college graduate English major the only reaction I receive is “Really? Wow, that’s kind of weird for a programmer.” I expected to be looked down upon — nay, shunned — for such a divulgence of my education. Saying that the lack of such a negative reaction gave me a bit of hope for myself would be a tremendous understatement.
I think the best way to sum up my experience thus far as an intern game developer at Stardock would be with a conversation I had with a housemate upon my return to my house at around 7:30pm last week. He looked at me with a grin, saying “Wow, you must have gotten to the office real late this morning.” I looked confused — it’s a natural look that doesn’t necessarily signal actual confusion — saying “Erm. I think I got there at around 8:30 this morning, actually.” He looked at me, eyes filled with confusion, asking “Did you… Did you do something wrong? You must be pissed!” I shrugged — another natural reaction of mine. My response was simple: “I just lost track of time, I guess.”