Saturday, May 5, 2012

The Beginning of the end (Data Driven Omega Race X)

So far today has been a smashing success.

And I mean that with the utmost sarcasm.  The task before me (Make this game multiplayer) is significantly more daunting than I first imagined.  This morning despite sickness and an overall unwillingness to do anything, anywhere, ever (it's been one of those days) I managed to at least convert the game to it's "data-driven" state.  I'm not QUITE all the way there, however, seeing as how I've only gotten player input to be "data-driven."

Up next is managing lasers, bombs and walls to all become data driven as well.  It's not so much difficult as it is tricky.  Knowing what to put where is half the battle.  Coding everything to interact cleanly is the other half.  And that's when you have to start sending things across the interewebs.  It's going to be a very long quarter, especially if I don't get any better and kick this sickness and funk.

I didn't do a whole lot in terms of making the game data-driven.  Created some specialized structs and classes and an generic input queue handler, and then hijack the player's "GetPlayer1/2Input()" functions to direct all of their input to the queue instead of the players themselves.

Now I will do the same for "fireLaser()" and "layMine" and finally in there somewhere I'll hijack the collision systems after I learn how those work so that everything in the game (minus main menu stuff, I'll worry about the lobby later) is funneled first through the queue.  There's a lot of work ahead of me yet.

I must say, I've been complaining about plug-n-play coding at DePaul for some time now, but now that I finally get a taste of some real coding challenge, I'm almost feel too lost to start.  Not much in the way of guidelines or instructions, just "go 'fer it"

Hey, at least this time around I'll be actually learning something.

-Kevin

No comments:

Post a Comment