Tuesday, February 27, 2007

Zap! Pow! Biff!


A few things have happened since last time:
  • I now have the different firing modes in place. Each of Tad's (Tad, his name is Tad for now) weapons have 3 firing modes: tap for a quick shot, hold and release for a "shotgun" and hold for a while for a berserk blast. The fire gem has all 3 working now.
  • Added support for a bigger variety of effects. Mean, mean friends were saying it just wasn't pretty enough.
  • Built a cave environment.
  • Made froggies.

The vid above shows the attack modes. I'll post another soon with the new pretties.

I think I've reached the limits of the built in content pipeline plugins and it's time to branch out. As soon as I hit another wall, I'm off to write my own importers and processors.

I've grown to like mesh animation. It's crude, but appealing to me. Normally you'd rough out an animation by defining key poses along the timeline, then iteratively pass over the whole thing again and again adding overlapping motions and follow through to get a natural looking motion. Animating on a budget generally means animating pose to pose, and leaving it at that, and rightly enough that suits the mesh animation look better. I simply model the poses I require (using skinning in Max, if it's a complex mesh like Tad), then string them along a timeline in Stutter, duplicating appropriate hold frames.

With my own content processors, I could pack all those mesh frames into the minimum amount of data necessary, and the overhead should be pretty reasonable. Especially as I'm going low poly anyway. Certainly the runtime processing cost is laughably small compared to a skeletal animation.

Live scripting language is absolutely the bomb. Almost all of the logic bar collision is written in Stutter now, and the joy of being able to write player control while actually in the game is intoxicating. It would be quite a bit more work to get a professionally robust version going, but I think I'm going to start recommending it anywhere I work. It's just so worth it. I just need to see if there's some easy way to hook up live asset reloading (in this XNA version) as well. As it is, adding/changing assets still requires me to drop out and rebuild in VS.

In case anyone is wondering why bother with the XNA and C# when I'm off traipsing through my own language... how on earth do you think I got it all up and running so quickly? I'm still well inside month one, and I have the whole kit and kaboodle chugging along. In fact, I had a model on screen, being manipulated by Stutter inside the first few days. This is a product of C# and .Net's excellent reflection abilities coupled with the accessible nature of the XNA libs in GSE. All I've done is written a layer of abstraction above these that lets me speak directly to game concepts.

GLH out.

PS Music for the vid is by Cornelius (god please please please someone make him write music for games), the track's name is "2010".

5 comments:

Anonymous said...

Another great post by the Gamey Little Hacker!

I got a request if that ain't to forward. Since I'm a newbie and interested in how to use scripts in games, I would be real happy if you could post a dev session vid/tutorial. :)

Another related topic, could you recommend a book on scripting in games that is good for a beginner.

Gamey Little Hacker said...

Thanks Karl.

I'm not really setup for doing vidcaps of anything but the d3d surface (with Fraps). I could investigate how to get something running, but selfishly I'd rather work on the game.

Besides, as I've mentioned before, this is all hideous and nothing I'd want to expose a young impressionable mind to. I couldn't live with the consequences!

I'm afraid I never really got into programming books. I've read the gems series, thumbed through the Patterns book and made my way through the Effective C++ books, but that's pretty much it. I was a film school major, not a CS student. I keep meaning to get to some studying though, so if you come across anything interesting in your search, come back and tell me.

Karl Fredberg said...

No worries. I'll guess I'll have to wait until the release of the game.

Another thing that interests me is terrain following. How do you solve your collisions with the ground?

P.s. I'm also from a film background, I got a bachelor in film production. D.s.

Gamey Little Hacker said...

Another filmy! Joy! Welcome, brother.

For a brief look at the collision strategy in the game, I direct you to my new post. Enjoy!

Peter Nils Johnson said...

I really like the look of the game you are developing and am enjoying reading your posts on it.

I've been looking into game programming for a while now and not really been able to get into it in languages like C++. I'm a C# developer by trade and focused mainly on the business applications side but looking to change that soon!

I read in your posts that you're using a scripting tool called Stutter, is this something you have developed? Could you post more info on it? and how you interface with xna

Regards,
Pete