Coming down the home stretch with WAID

I’m finally close to wrapping up this game!  In the time since my last update on ‘Why Am I Dead’, I’ve mostly been working on creating art assets, polishing movement, adding objects that you can interact with (eg doors, beds), expanding dialogue mechanics (ie triggers that progress the game), and creating new maps.  The result is that aside from polishing concerns such as having a pre-loader and muting/unmuting music, I can now say that I am 100% done with the core mechanics of the game.  I am also about 90% done with all of the graphics/mapping of the game.

Now I can get to work on what I have been shamefully neglecting all this time: the game’s actual script.  Given that the entire game revolves around character dialogue, perhaps I’m not as close to finished as it would at first seem.  But it’s still a big step forward from my last update to say the least.

Below is another video of some of the gameplay, with dialogue I wrote just for demo purposes.  This’ll probably be the last demo video I put up before the game itself launches.

What I’m going to be doing next falls into three categories:

– Obfuscating the swf file and putting it online for Beta testers

– Obviously, writing the script and testing it out in-game

– Creating a basic pre-loader, finding music/sound effects and programming sound control in

Progress at last on WAID

So I’ve finally been able to sit down and work on Why Am I Dead, and I’ve gotten it to the point where I can say that I’ve pretty much finished programming it, and can now focus on writing the script and making the art.  There’s a bit of functionality left to code, but it’s very small and very straightforward.  Below is a quick demo of the core game mechanics using place-holder graphics:

I’ve made as much of the game mechanics as I can to be very generic, so actually filling in the content will be wonderfully straightforward.  For instance when I write the script or change the maps, I won’t have to modify any .as files at all, and I’ll be able to edit the content very quickly and see immediate results.  For map editing, I’m using the wonderful free program Tiled to generate the map, and then my game just reads through the resulting file and creates the map.  For script writing, I’m just typing directly in a text editor what I want the dialogues to consist of (plus a few keywords here and there), and the game parses through that and creates the dialogue in OOP form.

So the next part should be pretty fun!

WAID Progress, and Mandate is Online!

Okay, so first, I’ve missed the rather arbitrary deadline I set for myself on Why Am I Dead.  The reason could be summed up pretty well in this XKCD comic:

XKCD's The General Problem
I spend so much time saving time

Earlier, I just wanted to have something — anything — done in Actionscript.  For that, a week was plenty of time.  But now that I’ve gotten something (anything) done in Actionscript, the programmer in me wants to make everything general, elegant, and reusable; and that takes more time.  For instance, the non-procedural content in Why Am I Dead is 90% dialogue trees; so I thought why not program things so I can simply write all of the dialogue into text files and parse them into Actionscript objects to handle my dialogues?  If I get it right that would mean I could create, for the most part, an entirely different game without touching the code.  I could hand it off to a non-programmer and have them write their own stuff.

Alright, so it might be a bit overzealous of me to try and use data-driven programming on something this abstract, but I want to try it anyway.  A 100% modeling of the data is impossible; I won’t be able to account for everything.  But actually, I’m almost done as it is.  And that’s a major step in completing this game.

But I’ve been doing other things as well.  Part of the delay with WAID is that I’ve also been trying to piece my website together, and tie up a few loose ends on a past project.  That past project is “Mandate”, a senior integrative project that I finished last month.

A screenshot of my last project, Mandate
The seven major factions of the Warring States Period

To sum it up really quickly, Mandate is a historical simulation that takes place in ancient China.  It’s a multi-agent system, meaning that there are lots of AI-driven characters running around independent of any central rules, making decisions that impact the simulation’s strategy.  In addition, it makes use of fuzzy logic to try and emulate the internal politics of the factions at that time.

You can find it available to download here.  Be warned, though, this is not an exercise in commercial game design or UI design; it is first and foremost an academic project.  So its visuals are quite rough and its interface may not be clear to those who are not already familiar with it.

And that’s what I’ve been up to recently!  Now that I’ve tied all of that stuff up, I can concentrate a bit more on Flash.

Why Am I Dead

Here’s an overdue update on the little Flash game I’ve been working on recently.  On the story/concept side of things, the title is “Why Am I Dead”.  I won’t talk too much about the story, because that would defeat the whole point of playing the game, but the premise is that you’re dead, and you need to figure out how and why this happened.  You do this by going around and taking control of other characters in the area and using their unique characteristics to get important information out of people.  Anyone can be possessed and moved around, so the puzzle is figuring out what dialogue between which two characters will get you closer to the truth.

I wanted to come up with something that would be interesting but wouldn’t require very complex game mechanics.  Even so, the programming has gone slower so far than I would’ve liked, mostly because I’m pretty rusty with AS3 and I’ve gotten used to the .NET family of programming languages and all that comes with them.  So far I’ve got basic collision detection and navigation going, but the other mechanics are still being worked on.

I wish I could say I’ll just put everything else aside so I can finish this exactly on schedule, but that’s not realistic or practical.  But I’ll probably just go over a day or two.  After that I’ll try to get the swf file of the engine up, and then I can begin creating game assets to be used.