Tuesday, February 19

What inspires you?

The Game Developer's Conference is well under way. Many are participating in the "Destroy all Developers Challange" while other take the time to sit in on the many available tutorial session during the past two days. Myself, well I try to stay motivated.


Monday began with a tutorial on "Core Shader Algorithms and Techniques," which covered many techniques in the lattest edition of ShaderX books. The most memroblewas a technique that covered by Carsten Dachsbacher from University of Stuttgart who spoke about a new technique for generating texture maps. Instead of using texture atlases he suggested an idea called "TileTrees," a data-structure that generates 2D tiles around the surface of a model.

Later that night, I met up with Sean Hathaway, James Leonis (http://virus2566.blogspot.com/), and Mike Arlington (www.deflesca.com); where I had been introduced to this year's scholarship recipients. I got to meet some fascinating people:

- Andrew Armstrong - a student from England who is this year's Eric Dybsand AI Scholarship recipient. Check out his website at http://www.aarmstrong.org/
- Jordi Fine - Jordi is an inspiring Game Designer with some real works under his belt. Definetly check him out at http://www.jordifine.com/
- Enrique Saul Gonzalez - Will be attending Tokyo University, with a goal of producing educational games for the Japanese.
- Andrew Sorkin - Sound design and composition, easily stands out as one of the few people I get to meet interested in audio for games. Check him out at http://sorkinsound.com/
- Tatyana Dyshlova - She's currently attending Brown University, with the intension of working with hardware and production.
- Michael Lee - Michael just like myself is last year's Eric Dybsand scholarship recipient. After catching up, he's apparently doing very well with his own company at http://ludoko.com
- Silvia Lindtner - highly talented, she's interested in pursuing sensors in video games and is currently enrolled in University of California. I was especially impressed with her business card, particularly after learning she designed it herself. Her website is equally as impressive at http://www.ics.uci.edu/~lindtner

Phew, that's a rather large list, and I do appolize for anyone I forgot to mention.

The following day (today), I stumbled down 4th street to Mascone center where I set down for my day two tutorial which covered "Physics in Video Games". Although the lecture started off slowly covering most fundementals such as the Euler's method for velocity as well as angular velocity. Squirel was quick to point out some of the pitfalls involved with irregular timesteps and tunneling. The lecture picked up pace after lunch during which I got to speak with Ben Retan (www.benretan.com) who is also a Full Sail student about to graduate. The second half opened up with the Minkowski Differences, a crash course in GJK which absolutly blew me away with it's complexity, and finally wrapped up the tutorial with a talk on constraints.

Overall these past two days have been incredibly exciting and I try to recover my energy tonight and get some more work done on Amoeba Sports, I can not wait to get back and put some of these techniques to work.

Sunday, February 17

Pre-GDC 2008

In the past 72 hours I've slept a total of maybe 10, in small intervals of 2 hours, 3 hours, and that which I wouldn't even consider to be rest during the flight. The cause for all of this is of-course the Game Developer's Conference 2008. I wont waste my breathe on the importance of this event, but that doesn't mean that my school schedule would in any way be lenient towards this once a year phenomenon. Therefore I have spent sleepless nights wrapping up the Gameplay AI for Amoeba Sports (Beta), and as of a few hours ago I would have to say it's been a total success. A week's worth of features, and gameplay mechanics finished in more or less a day and a half.

But I wont get ahead of myself as I am now past exhusted from the flight. From MCO airport we first went North towards Atlanta, during the flight we experienced some technical difficulties where the landing gear on the right wing would not release. The stewairdess did not help the situation as her nervous face was read by every passanger in the five feet radius, who continously kept glaring over my should looking at the wing. When we eventually landed, and my headache subsided, we faced a fifteen minute delay and took off again, this time for what seemed like a six hour long flight, I landed only three hours later (time zones are funny that way).

Oh I almost forgot, I'm not attending alone this year; as Jim Leonis, MFA, and Sean are all joining me, and where supposed to have gotten to San Fransisco an hour before I did. After landing I had quickly unpacked my cell phone and attempted to call them, as we planned to meet up at the airport. After dialing Sean, followed by Jim, and followed by Mike; I found each one of their cell phones turned off (I understand the airplane policies, but I see no reason to fully turn the device off and cut off all communication with the outside world). After three hours went by and I began to panic and think that something might have happened to my deer old friends, and worse yet I might be left sleeping on the cold streets of San Fransisco as the hotel room was registered uner Sean's name; I got the bright idea to call up Rev (Sean's and MFA's roommate). He informed me that they had missed their flight and had not departed yet at 2:00 pm EST. Which means they would not arrive for another four hours.

At the current time of blogging I am at the familiar Citizen's Cupcake Cafe, the place changed a little but still nice, and my friend's still have not turned on the mobiles. According to flightaware.com they should have all arrived at 5:10 (that was 30 min ago). So in the meantime I had registered myself at the Masconi Center and read every slip of paper I could find in that black bag of goodies. My favorite being a Ping Pong Ball by GameDev.net, which will surely be used sometime in the near future. The other item of interest is a "6 hour Energy! Mini Thin RUSH." That's right, if you haven't seen this yet than it wouldn't be far from the actual produce provided. As I like to live dangerously I intend to save this for the upcoming Wed or Thur.

Thursday, February 7

Amoeba Sports [Buzz]

"Did you hear about the new shooter for the PSN?"
"You mean Amoeba Sports right?"
"Yea that's right, there hasn't been much information released about it"
"From what I understand it's a genre soup title. A shooter + soccer + arcade survival game."

Above is a fictional conversation about a real game that Casey Flach, Charlie Prouse, and myself (Michael Kofman) are developing in the span of two months. Two months for the design, research, tools development, engine architecture, testing and debugging. For most a schedule like this would sound ludicrous but that is in fact what we're doing this month in our SGP course. To make things more interesting, we made the decision to create the game in full 3D, using vertex shaders to simulate cell shading, dynamic particle effects, a robust AI system that I'll talk about in detail at a later time, steering behavior, a dynamic HUD, and so many other features. We are currently at the point of a playable demo, and in the coming weeks I'll have screenshots to wet your appetite. For now here is our dust jacket.

"Image above is a prototype"
Set in a puddle in 10 billion BC, you play as an amoeba attempting to furiously collect amino acids as you’re very existence depends on it. Using your several brain cells, you must out smart both the opposing amoeba, and other smaller life forms all competing for the amino acids. You must collect the amino acids and fill up your personal colored nest and keep them there as the smaller life forms attempt to steal them from you, or slow you down in the process. As an advanced form of amoeba, known also as an Amoeboid, you have the abilities to spout out goo blob bullets, create a powerful bubble shield to stop the bullets in their place, dart to forward to avoid danger, and even the ability to send out waves to create a ripple. By using these theses abilities, you must shot, push, and block your way to being the top dog in the puddle.

Monday, February 4

Month 2 - Day 1

It's the beginning of a new month, and that usually would mean new classes, and new instructors. This time it's different; same class, same assignment, and the same team. SGP Month 2 is said to be the most hectic time during the time spent at FullSail second only to final project upon graduation. Before I go any further into it, this past weekend was a blast. Granted we only get a measly three days to recover, time that is hardly ever used entirely for resting, we had organized another cookout. Combined with the month ahead, it consisted primarily of the month ahead. Me and Jim Leonis had brought meat that he had done a pretty good job preparing at the park. Meanwhile we organized a soccer game, that was fun but lasted maybe fifteen minutes before people ran out of breath. Well what can you do, when all the time spent is sitting on your arse looking at a flickering tube. Overall it was a lot of fun, and I intend to try and organize it again next month.
This weekend was also Magic night, myself, Taylor, Sigsby, and Mat all drafted the new Morningtide expansion, which got me interested in Magic again. I can't wait till I can sustain that hobby of mine.

The leisurely weekend ended Sunday as I dove back into programming, fleshing out more of the AI Engine but more particularly the functionality that will allow for a testable environment and SVN. Casey being occupied with Super Bowl XLII I stopped work short and went to bed for a 9 am class.

I woke up earlier than planned, about 6 am or so. I debated going back to sleep, but choose not to. Realizing that I still had lots of chores left unfinished I got up and went into the shower. After I came out, I decided not to wait precious energy on chores, packed my laptop and headed out. I figured I should try and squeeze a few more lines of code, before integration.

Me and Casey pretty much worked hand in hand the entire day, and completed a very impressive chunk of code. Finishing up the GameStates we are now left to patch up holes in the system.

All this would be fine and dandy until we realized that the .x files exported out of Maya 8.5 using cvxporter don't save vertex coloring, which is ultimately crucial for our vertex shader. And so the search begins, we confirm the problem, and I begin looking for alternate solutions. Obviously using an alternate 3D modeling tool is always an option, but it's not something we want to do for two reasons. First the unit scale would be totally off and we would need to adjust the dimensions of each model by hand. Second, their is a learning curve to using an unfamiliar 3D modeling tool.

So back to cvxporter, Chad Vernon decided to switch up his plugin to run through Python. Since I am totally unfamiliar with the language, and I know few people who are; I say, what the hell let's give it a try. I install Python24 for windows. Grab the ctypes that Chad mentions in his instructions (mind you I know how to follow them). Set up the Environment Path for PYTHONPATH, and it the cvxporter.py simply doesn't work. Wow, a fantastic time sink, but hey! Their is always tomorrow...

Sunday, February 3

Two Week Dash

After a month that can best be described as walking on ice with a sevnty pound weight, Stickbiscuit Studios ( Michael Kofman - Project Officer and Gameplay, Charlie Prouse - Interface Lead, and Casey Flach - Technolodgy Officer ) we nailed our game document, earning our first $150k SGP dollars out of a possible 1.5 million to be accumilated. Our second milestone towards the end of the month did not pan out so well, earning us only 160k our of a possible 300k for that milestone, the team walked away disappointed. While I tried to cheer up the team, and push the blame onto the overly unjust critism and grading scale, I realize that I failed as a project officer. In the comming two weeks until Alpha I intend to step up. As far as my work goes, and also actually play the role of a project officer and nag as much as needed to keep on schedule.

Time to go to sleep, tomorrow will be a long day.