So it’s been a while, eh? Last month worked me pretty ragged, and keeping up with this thing was like the last item on my list. But what was I doing last month that made me so busy? Well my friend, allow me to share!
Last month was Programming 3 and Physics. First I’ll tackle the beast that was Programming 3. By the end of Programming 2 I had learned all sorts of awful technical things, mostly stuff that can be used behind the scenes to enhance performance. We also checked out inheritance, which I was already familiar with from Java, but we got waaay way in to it. Suffice it to say, I learned quite a bit. So enter Programming 3.
Programming 2 was like a, “Hey kids, here’s how stuff works.” kind of class. Programming 3 was, “Hey kids, hope you remember all that crap, because we’re now going to use all that knowledge and make a game.” Our teacher was amazing. The only way I can describe him is a hyper Glenn Quagmire. Dude was nuts, and it made the class an absolute blast. Throughout the entire month, for our lecture portion of class, we followed our instructor as he made the game Snake. What started out as nothing more than a simple program that could read in characters from a text file and make a background scene, ended with multiple levels, randomly spawning power ups, a snake that grows in length, adding cheat codes, windows, and sound. It was pretty impressive. Nothing compared to the games of today, but still neat.
On the non-lecture side of things, we were tasked with making a game using sprites (created by reading in a text file), that could move around and shoot a missile or two thousand. Aside from some base requirements, we could pretty much do whatever we wanted to. The hardest part of that class, and I can say this with 100% confidence, was getting our collision detection working properly. I spent a night doodling out collision and enemy sprites and the sort, and when I was finished, I had made The Paper. The Paper was passed around class, and easily and clearly explained collision detection and how to go about coding it. The Paper was so helpful, it is now referred to as such, and is sort of a Programming 3 holy relic.
My game wound up being a bit of a dumbed-down version of Space Invaders. I made them speed up and shoot faster as you killed more, and for an added bit of a challenge I gave the player a limited ammo count, and made ammo power ups fall every 50 seconds. Run out of ammo, get hit by the enemy, or let the enemy descend too far, you lose. Nothing spectacular, but it was fun. I have to give special mention to a fellow classmate, Justin Dumas, and his amazing game. By the end of class he had made it so that the AI fires at you regardless of position, you fire in all directions, you have different ammo (charge shot, electric shot, big shot), different effects for the ammo, shields, hit points, power ups… I was pretty much in awe.
Programming 3 was a LOT of fun. But it was also the most amount of work I’ve had in this school so far. Half your grade in that class is homework. A lot of times, homework is assigned and due that day, so you have about four hours to complete it. And believe me, that’s not as long as you’d think. Programming 3 taught me, among other things, that there are seriously not enough hours in the day.
Now changing gears, the other class we had for the month was Physics. Our Physics teacher was the same as our Linear Algebra teacher; insane, but brilliant. Like our Linear Algebra class, Physics was taught with the perspective of a game programmer. Much of what we learned was accompanied by coding examples, making objects collide and react realistically. That train of thought is what makes me appreciate Full Sail so much more. You don’t just learn the lessons, you learn how you apply them to game dev. It’s a fantastic process, and I’m very much happy to be part of it.
There’s really not a whole lot to say about physics. Lots of formulas, lots of math, and lots of staring in awe as our teacher used the most out of this world examples to get points through. If anyone’s familiar with how one multiplies two quaternions, I can tell you right now, it’s via the Jerry Springer method; complete with cheating girlfriends and fist fights.
The month ahead is Data Structures and Psychology. Psychology is my first class in about five months that will have non-game dev kids in it. So that’ll be an interesting change of pace. Data Structures… the only thing I know about that is we apparently make three different games over the course of the month: Scrabble, Minesweeper, and Connect Four. I can’t verify 100%, but that’s just what I’m hearing down the chain.
School’s been a blast, but at the same time I’m very much readyfor my week of Spring Break. I don’t mind exhausting myself for something I love to do, but hey, who doesn’t want alittle break every now and then? I’ll do my best to make up for the huge break in this blog, I know THOUSANDS AND THOUSANDS of you were very disappointed last month.
Until next time gents,