From the Bunker

Fullsail consists of two basic regions: Glass Town and the Bunkers. Glass Town is the front offices of Fullsail and is a rather pretty and modern art museum kind of place. Good for buisness, etc. The Bunkers are a two strip malls that have been converted (well almost converted) into class rooms and lobbies. The second strip mall is the one still being converted. I am currently writing from a unfinished lobby wedged between a grocery store and a pizza place. Its 5:43 am.

The war effort is going well. I am learning a lot about myself and what I like to do. Currently, I am finding much fun in building code tools for my team. Little chunks of code that make their life easier. My team has been responding well to my little gadgets and I am wondering if this kind of development is what I should seek out in the game industry.

Laura is my rock. She has show an incredible unbreakable amount of patience with my horrid hours. She knows this is what I want to do. When I come home, she lets me cuddle next to her like a little kid and remind me about who I am reallying doing this all for. Who am I kidding..I want a career so I can be a good dad and husband. Games are great...but I want to make a living.

My thoughts are getting more random. I should probably stop posting. I'd go to bed but I refuse to leave Nick alone in the bunker. I'll kill some time with Diablo 2. Remind myself about what I got started in this mess in the first place.

Buter-ball-ninja

Being 24 and not having worked a real proffesional job before, I have few experiences where I can actually say that I worked super hard. This is one of those times.

As part of SGP (Structure of Game Production), our team had to generate two documents in about six days. The first one was a Code Architecture Doc that covered our entire system and the next was a detailed Game Doc that covered the rules for the game. My team (and when I refer to them as "my" team its only to make it easier to read this) did a stellar job. We worked ourselves to the bone and refused to take the "easy route" in all our work. The result was scoring a perfect on our first milestone. While this isn't truly an amazing achievement it did give the group a greatly needed burst of support.

We immediately began work on the next phase which is to develop three different tools and get them intergrated into a working build by the 30th. This is a daunting task and we have already got a schedule made that has us pulling 52 hour week. This is just enough time to get some sleep.
Today was the first official production day (the other maddening week being pre-production). I gave a little lesson on constructing and using DLLs in the simplest fashion in c++. We decided to go down this route to seperate the backbone systems as much as possible and allow for us to keep intergration from being a huge copying and pasting session with tons of .h and .cpp files flying around. We spent a good 3-4 hours with each of us writing our own dll that represented a mock-up of the code arch we had created earlier. Then we shoved them together into one intergration and it worked incredibly well. We decided to follow this process.

I have to say I am the luckiest guy in the world. My team is incredible. Dan and Nick are wilingly to put up with my need to push forward and try new things. They are incredibly supportive and realize how the next month and half are not going to be a picnic but a true excercise in giving it all you got. Being students, I could not have asked for anything better. We are not trying to be the best team in class, we are simply trying to be the best that we can.

Ambitions are high and tommorow is going to be another big day. I am responsible for setting up the Serialization system. Good thing I practiced.

The board and me

I love whiteboards. I am obsessed with them. They really are my pensieve. I eye the boards in my classroom and I can't wait to get my hands on them when I try to work out problems.

On that note, I wanted to post about my Structure of Game Production group. We are known as Butterball Ninja (or as I like to say "Team Butterball Ninja" Try saying it three times fast). My fellow members are Dan Krotov and Nick Ness. Both are extremely hard-working and willing to put up with my "lets not go with whats easy" approach. We've had some arguments so far about different system designs, but they have ended up being constructive. Once again the white board has come to the rescue since it helps me transfer my thoughts out to show people what the hell I am thinking!

With that in mind..I am going to start searching around for a bigger white board with a wooden trim....that'll be niiiice.

Death Ship

Remember that scene in that episode where the Captain demands for the crew to repeat the survey of the world over and over again? Sometimes Fullsail can feel like that. With classes going so fast and essentially being brutal as all hell on your synapses and when you finally feel the rush of finishing one, you have to get the ship ready to land on the damn planet all over again.

Eh. I complain but I enjoy this. Don't get me wrong, I do not want to keep this up (being a student) for much longer but I do ultimately feel a rush from all the hard work.

So yet again, classes are going to start tommorow (or I should say a few hours from now). The two new courses will be Rules of the Game (ROG) and Structure of Game Production (SGP). From what I've seen, ROG will be more of a design class that focuses on mechanics while SGP will be our first true experience developing a game with a team. SGP has me fairly nervous but I do take some solace in that fact that my class seems to be made of honest hardworkers. There are a few bad apples and I can only hope to avoid them. I do want to make sure to take some time and analyze everything I learned from the old project. I think the most important was focusing on a data driven design from the get-go and making it a bottom-line rule that any data that does not need to be hardcoded shouldn't be. While I was in Wisconsin with Laura, I took some time to take a few notes on my project and that was the biggest note. The extra work put in early on to keep a data driven game can pay off in spades. I think if my team will permit, I'll try to put in my little structure that reads arguments in a generic fashion. I used to read in various lines from a script without having to change how the object read the line.

I spent some time today working on the ol' Sucker Punch pre-interview problem. I keep this one circulating in the back of my mind and when I feel I've learned some new techniques I come back to it and try it again. After doing my research in Memory Management over break, I found some nice new ways to approach it by applying essentially the same technique as the memory pool. I haven't been able to get all the requirments (I am essentially 240 bytes short of the avg needed).

Well fortunatly tommorow is ROG so it'll be a nice way of getting back into classes. Also as a huge perk, classes are M-F 9-5 for the whole month. SGP is two months but I think it will maintain the same schedule even though ROG will be over after a month. Yeah! Back to normalcy!

Anyhoos...time to get to bed and then get up and land the ship...again.

Still Pumping

Been getting lots of good stuff done while in Wisconsin. In between gorging myself on delicious home-cooked meals, I've been doing a lot of research into Memory Management and come up with some useful stuff. First off is a heap tracker for recoring all dynamic allocations which is simple but comes in handy. The second is my favorite and is a Memory Pool manager. This thing is pretty swanky and I am fairly proud of it (but I want to note that the design came from Noel Llopis's C++ for Game Programmers). It allows you to allocate one big block of memory and break it into several slices which are then given out and returned to the block. This allows for fast allocation and releasing with no fragmentation. While I probably shouldn't be too concerened with this in my current program since its not super advanced, it was really nice to learn so much about what goes behind new and delete. I setup a pool for allocating messages in my game. So far the new zombie game demo allocates about 64k for messages at the start and lets it be for the remainder of the game. I haven't really noticed a perfomance increase but it is very reassuring to know where your memory is and how much is being used during runtime.

Been getting some good comments on the zombie game demo from Raj and Ryan Ellis. Once again, you can get the demo at :
http://www.naveennattam.com/nnattam/files/Zombpocalypse_0.0.zip



Lemony Crappit

I was about to shut down my school laptop and pack it up when I accidently spilled a less then a handful amount of water on the touchpad. Within less than a new-york minute, the laptop shut off and is now a state of defunct non-usage. Crappit. Fortunately I learned a while back that I have to not become computer specific on my work. If my enviroment can't be replicated, then there is some problems with how I have it setup.

I unpacked my old shoddy laptop from before school and got VS 2005 up and running on it. I cleared out a bunch of old junk and attempted to get the computer into a better condition. While it stinks to have been set back, It is nice that even in the face of a crash, I am able to keep working. The shoddy-top will be usable on the trip and I still plan to do my memory management research in-between world-class meals at the Maleckis (Laura's Grandparents).

I hate how fragile our work enviroments can be. This little disaster has taught me that you have to be prepared to switch comps and keep at it.