Day in the Life: Tony Basch, Programming Student, SMU Guildhall
February 7, 2006
I am 23-year-old programmer in the first term at the Guildhall. Originally from Cleveland, Ohio, I've been gaming since the Atari 7800 days and have since played more games than I can count. I got a degree in Computer Science from Kent State University in May 2005. During my time at Kent I've interned for Westfield Group and the NASA Glenn Research Center. Now at the Guildhall, I'm working on my first
2D project slated for release March 20th. Attending the Guildhall is probably the best thing I could have ever decided to do.
Of course, I should have woken up at 8:00 which is when the alarms started blaring, but I seemed to have slept through the din of both a bedside alarm clock and my cell phone alarm clock. Going to bed at 2:30 AM the night before can have that affect on you. Instead of waiting on my roommate for my turn in the shower, I make a dazed beeline to the coffee maker and start a pot.
Everyone begins to congregate in the hall outside the locked classroom of our morning class. John tells a tale of how Amazon managed to crush not one but two of his schoolbook orders, and wonders why the book itself costs 75 dollars when nobody in our class likes it. We felt bad for him, but the manner in which he cursed the online retailer made us laugh. The crescendo of jingling keys signals the arrival of our professor, snapping our minds back to school for a moment and reminding us that this class will be spent in groups.
Sure enough, the professor drops her books on her desk and says “Get crackin'.” The order of the day: create a development plan for a small 2D card game based on the development plan created over the weekend. Today's task builds on a week's worth of previous tasks executed in groups. Fortunately, my group happens to get along well but some groups haven't had it so well. These series of tasks evidently had a two-fold task: teach us design documentation and development planning as well as how to work in groups. As I can plainly see, if one does not work well in a group, the rest of the class will know about it very, very quickly. Unlike some of the places I have worked, people here do not tolerate laziness or apathy in the least, and for good reason. Said people do not share the passion that my classmates and I share, and the passionate are the majority, not the minority.
11:30 AM (2 hours, 15 minutes at the Guildhall)
Our group meets for about two hours, getting the majority of the Gantt chart nailed down. The project evidently will span about three months, which is about what I originally estimated it. Unfortunately it also contained about a month and a half of downtime for one of our level designers, so obviously this is going to need tweaking. But since this isn't due at the end of class, or tomorrow for that matter, it will have to be put on hold as we break for lunch.
2:00 PM (4 hours, 45 minutes at the Guildhall)
This is one of those times where you don't consciously decide to skip a meal but are just so engrossed in your work that it almost happens. Or maybe it's crunch time. Actually, it's not crunch time because I'm not working on any huge game, just a Minesweeper clone. After the lecture on double-buffering in Win32, the professor in our Software Development for Games class had charged us with the task of writing a Minesweeper clone in a week and a half. Not just a clone, but a pixel-perfect replica of the standard Windows version. It's such a small game that you would think there is not much to it, but I can tell you, if you look, there are some nuances. A few of them involve ALT + TAB'ing, none of them involved behavior I was willing to replicate. The professor wasn't worried about it either. Because of the list of goofy things my fellow programmers managed to find, I am certain that at least one of them used to be a surgeon. Regardless, it's due the next day, which also happens to be our first exam and of course I haven't had time to study for it yet. At any rate, I decide that maybe I should go eat something, so it's off to the apartment.
5:50 PM (7 hours, 35 minutes at the Guildhall)
After an hour lunch, which is extremely rare (damn the creators of Geometry Wars), I'm another 3 hours into Minesweeper. There haven't been any major bugs to this point, nothing that I haven't been able to tackle in a reasonable amount of time anyway, except for one. The program compiles and runs fine in Debug mode in Visual Studio, but running in Release mode, the window is black. This bug hit after lunch when I realized the assignment required code that built and ran in both Debug and Release modes, a little late in the game to realize it but still enough time to catch any problems and fix them. I can sleep when I'm dead, right? This, on top of the problem of creating user interface controls that can be used for my term project marked the time when I started to just hard-code values into classes to get things done on time. But, its time to pack up and head to this evening's 3-hour math class. Minesweeper will have to wait some more.
9:15 PM (10 hours, 45 minutes at the Guildhall)
There's nothing like linear algebra to get the blood pumping. Yes, I'm kidding. I go to seek out Kyle, one of my group partners and second-in-command so we can cross the Ts on our group's development plan. He has years of project management experience under his belt and loves putting Gantt charts together, but I love writing C++ so who am I to judge? Besides, if he is better at putting things like this together, then it will be better for the group's overall grade that the best person for the job puts their best foot forward. What we thought would be a 20-minute wrap-up ends up taking 45 minutes. If it takes an extra 25 minutes to get an A instead of a B, I'll make that trade any day.
Kyle and I remain in the classroom to work on our individual class assignments. While programmers have their Minesweeper clone, the level designers (or LDs as everyone calls them) have 90 textures to do in seven days on top of their normal reading assignments, daily quizzes, and work from other classes. Personally, I wouldn't be able to survive such an assignment, so I give my respect.
Life in the halls died down as most of the people have left after their last class, but some have remained behind to take advantage of the quiet, inspiring setting in which to work. The calm humming of your laptop and the scenery of game display boxes taped to the wall provides a picturesque environment. Offering to spin some music to work to, I play some select tracks from the soundtrack of The Terminal and Myst IV until Kyle decides that 11:30 is a good time to hit the road.
Minesweeper at this point is just about done. Global variables are bad and our professor likes to put a fine point on that fact, so I decide to encapsulate the globals used by the Win32 functions in a struct that can be easily cleaned up before the program terminates. This of course just screws about 400 lines of code and just for my own amusement, I decide to do a test compile with the code in its shattered state. 102 errors show up. I turn up the music. After easily fixing about 30 invalid variable references, the error count hasn't gone down, so I stop paying attention to it.
12:45 PM (14 hours, 15 minutes at the Guildhall)
Now I'm in the zone. The errors were easily fixed and on the first successful compile, my Minesweeper clone plays as well as it did before. By no means an incredible feat, but with as many references as I decided to encapsulate, a little risky to do at 10 AM the night before the assignment is due. I thought the security guard was coming to give me a pat on the back, but instead he gave me a 10-minute warning. With a satisfied sigh, I pack up my belongings and trod out into the parking lot. The security guard held the door open for me and locked it behind him. It would be a good idea to learn the names of the night crew, since it seems like they will become familiar faces.
If you are a student studying a video game related vocation and would like to be featured in our Student "Day in the Life," please send your submission or inquiries to [email protected].