4 posts tagged “theta wars”
It's been an interesting couple of days.
My latest term at Neumont just finished, and what a disaster it was. Lets just say I'll be happy to focus on the next term, and forget a good deal of what happened in this one. I did get a 105/100 on my last game dev assignment, which was awesome. Which reminds me.
Theta Wars is pseudo completed. Check out the video:
The video quality of the streaming YouTube is kinda crappy, but it gets the gist across. The game itself runs at 60fps; the video you're watching was captured at 30, hence the choppyness. It's quite silky smooth in person, though :). I know it's not the most impressive thing in the world but hey, Matt and I did it in under two days! Game engine and everything!
I'll be tweaking things here and there, and working on additional functionality. I just finished work on a cool little algorithm that makes the player collide with the wall properly (yea, at the time the video was taken, the player could freely leave the box). Basically you just store the player's position in the previous frame and, if a collision with the wall is detected, move the player to the previous frame :). Simple and effective.
Anyway, about the road trip. My sister's boyfriend, Scott, and his sister, Terra, will be here in an hour or so to pick me up. They left at about 6pm PST; it's about a 10-12 hour drive, give or take. Aside from the usual clothes and shower stuff, I'll be taking my laptop, my desktop, and my Xbox 360. The desktop will mostly be for PDX Lan, the largest LAN party on the west coast. It shall be awesome.
The rules of a short term road trip like this are simple: Stay awake, and keep the driver entertained. The punishment for failing to do so is death by road burn. In other words (since I've been up for about 16 hours at this point), I'm going to be drinking a lot of Monster energy drinks. May the Lord (if there is one) have mercy on my stomach lining.
Expect pictures of said road trip, and maybe posts along the way (when I can jack wireless at random gas stations).
This is the final week of the term. My friend Jimmy should be here Saturday/Sunday to pick me up for a road trip to Oregon, where I'll be staying for two weeks or so. I've got a job set up for the break there, and I kinda miss the family.
Though, I will likely have to venture out and jack someone's wireless in order to feed my internet needs, since my dad wouldn't have a connection at his house to save his soul.
Neumont's not the only school that I have a plethora of tests in this week. I've been invited by my dojo to take the Orange belt test this Saturday. I've got two private lessons set up to prep/drill some practice for it. I haven't had time to devote to the 'ol Shaolin Kempo for the past week or so (read: I barely slept thanks to Neumont), so it'll be good to get back into the groove of learning how to break limbs :).
The ominous title also refers to the current state of Theta Wars. Matt and I are hard at work on getting the damn thing done, and should be okay with making the deadline. You know, it's amazing how even fellow programmers fail to see how cool something you create is...until you show them something shiny. I could go on all day about the wonders of XNA, but few will care until shown a pretty image. It seems that sex sells, even in the world of vertices.
You know, it never fails: every project you ever work on will, at some point, hit a roadblock. Doesn't matter what you're doing.
Today's productivity killer is an InvalidDataException, curtesy of XACT. I am implementing a simple Sound engine for Theta Wars. To use XACT, you must use the Microsoft Cross-Platform Audio Creation Tool to build a couple of specialized archives. It's cool because it takes all of your sound resources and sticks them all into a couple centralized files. A WaveBank file, which contains the actual media, a SoundBank file, which contains instructions on how to use said media, and an XGS file, which is a header file to bind the files into a proper solution.
Implementing XACT in XNA is very simple:
public static void Initialize()
{
FileStream audioParameters =
new FileStream(
ThetaGame.GameSettings.MediaPath + @"\Sounds\thetawars.xgs",
FileMode.Open,
FileAccess.Read);engine = new AudioEngine(audioParameters);
wavebank = new WaveBank(engine, ThetaGame.GameSettings.MediaPath + @"\Sounds\thetawars.xwb");
soundbank = new SoundBank(engine, ThetaGame.GameSettings.MediaPath + @"\Sounds\thetawars.xsb");
audioParameters.Close();
}
My problem is that when loading the XGS file, (in the audioParameters init above), I am presented with an InvalidDataException, which accuses me of the following:
What what what?? I'm using the tool you gave me, dammit. XACT 2.0, Windows Version 9.13.644.0. Unfortunately for me, the documentation on XACT is very sparse (they don't even have sample C# code on MSDN, it's all C++), and the XACT forum doesn't seem to be especially busy at the moment. And who am I going to ask about XACT, anyway? Nobody I know has ever touched the damn thing."XACT could not load the data provided. Make sure you are using the correct version of the XACT tool."
If for some reason you, oh great reader, happen to have the XACT tool installed, you may see what you can do with my XACT project here.
UPDATE 1: Okay, I think I figured it out. Turns out that the XACT tool got an ever so slight update in the August release of the DirectX SDK, which XNA uses. Mildly different versions of the same tool results in interesting issues, like this one. I shall report if the update fixes my problem or not!
UPDATE 2: Yep, that was the trick. I also ran into an InvalidCueException, which turned out to be a noob mistake on my part (I forgot to add a "cue reference" to the sound file; in XACT, a sound file is referenced in the SoundBank, and then exposed to the outside world via a "cue.").
Cool name, huh? Theta Wars is the tentative name for the game dev project that Matt and I are working on. We've been mapping out our requirements and high/low level for a few days now. However, since this thing is due Tuesday by midnight, we're going to be up all night doing actual code.
The game will essentially be a tribute to the amazing Geometry Wars, which anyone with an Xbox 360 has undoubtably played. Due to development time, it will of course be a simplified form of it, but that's not the point. Expect to find a playable release here when it's done :).
...And this time, it won't crash like my last game.