Friday, October 31, 2008

Hardhats and Pencils

So it’s been a bit since I last updated, and a lot has been going on. Let’s start on the artist front.
We are in round three of artists for this project. I would say that I’m beginning to think that artists are, as a rule, an uncommunicative and taciturn group. However, my new artists seem to be breaking that rule a bit. Dan, a real professional at this, has been much more responsive than any of his predecessors. We have also brought on Troy to work with Dan as our artistic team and I’m in the process of bringing him up to speed on the project.

So with our art team pretty safely squared away (I hope), I can move on to programming. And that, my friends, is going very well. I have about 60% of the game engine done, and I’m hoping to be at about 90% by the middle of December. What this means is that once I get the game engine in place, the rest of the game development is going to be spent actually building the game, scripted events, and tweaking game play and performance.

My latest programming success was building the main framework of the scripted events engine. Now, this is a 2D game, so it’s not nearly as complex (I’m guessing) as a 3D scripting engine. As well, audio is not yet come into play (that will be the last 10% of the engine to be tackled). However, as of last night, I had a working scripted event where a character moves around the screen, and does a few other things.

The next step is a scripted event builder tool. This means that I put together a whole new program that allows me to display assets from the game, move them around the screen, and assign them dialog, actions, and animations as they go. This itself will be a big undertaking, but it will speed up scripted event development later on immensely.

So, down here in the basement, it’s all architecting and drawing, hardhats and pencils. I hope the rest of the XNA world is making as much progress, and I’m excited to see what’s going up on XBL from our community.

Wednesday, October 15, 2008

A web of References

So, things are progressing along on the programming side of the new ATSS game. However, things are still slow going on the art side. Our team is working and moving along, but these are still the introductory weeks and everything is all about concepts and style at the moment. When the art team really kicks into gear I’m sure things will be moving along smoothly.

As for myself, I’m building a web of references. In a game like the one I’m building, every object in the game needs to be able to interact with several game systems that have to have a persistent state. If we were programming in VB, I might do this with global variables. But, since we are doing this in C# (which XNA is set up in), I have to do it by reference passing.

For those who aren’t programmers, the whole idea can be boiled down pretty simply. Say you have a word document that you want to distribute to your friends. You have a couple of options. You can put the document on a central computer and let everyone access it by placing a link on their desktop to that document (kind of like any page on the internet, it’s stored on someone else’s computer, and you just have a link to it), or you can send them a copy through e-mail.

Now in the second situation, if you send them a copy, they can make any changes they want to it and your original document doesn’t change. They have a completely independent copy. But what if you want them to see all of your changes? Or, what if you want to also see the changes they make to it? Well then the first situation is what you really want. In that set up, you only have one document stored on a computer, and everyone opens, reads, and edits the same document.

This is the difference between what we call “passing by value” and “passing by reference.” Passing by value means that you send a copy of one object to another object. This is fine for really small objects, and things that you don’t care about changing. But if you have a very large object, and you care about how it changes, and you want to keep track of its changes, you need to pass by reference.

And this is what I’m doing right now, creating a web of references throughout the main game engine. I’m not sure if this is how “real” game programmers do things, but it’s how I know to do it. When I get to a point where I’m serializing the data out (or “saving” it) from one test to the next, then I will have to set up a system for renewing these references every time the game loads. This is one of those things that will happen when the loading message comes up. My hope is to mask that message with images and story elements.

So, development is continuing, and piece by piece programming breakthroughs are popping up over the weeks. So for those who are getting excited for a game they know nothing about…stay there.

Thursday, October 2, 2008

Crowded again!!!

Well well well…the basement is starting to get crowded again.

Development has begun again after a brief pause, reevaluation, and redesign of the game. What this means is that I’ve basically thrown most of the development from the past two months out the window (most, not all) and re-scoped the project.

For now, let’s keep calling it ATSS…but that’s not what it is. Among the Silent Stars is dead, most likely never to be reborn. However, one never knows.

In its place a new game emerges, leveraging quite a bit of existing code and intellectual background. This new game is also a much smaller game; much less ambitious from a technical and artistic point of view. This means that there will be less on the development side and much less on the art side.

Speaking of art, two new desks have popped up here in the dank sub-basement of our illustrious studios. They are equipped with lightboxes and everything, which is nice since the smoke from the torches I had keeping this place lit was probably causing me the early stages of black-lung, not to mention a very creepy Silent Hill kind of vibe.

So yes, that’s right, I have brought two new artists onto the team. This means that we are in fact a real team now. Updates will come soon enough on their roles and such in the game.

So, that’s about all for now. The new game is in its very beginning stages, and as it is a different kind of game than ATSS, I’m doing a bunch of redesign code-wise, which is exciting.

Stay tuned as we head down this new path.