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.

Getting the Ball Rolling

Things have been pretty hectic for a while but now that they’ve finally started to settle down, I’ll be able to really get stuff going here.  Some disparate things that I’ve been up to which will almost definitely pop up in the future:

– I’ve nailed down the concept/outline of my first Flash project, which is meant to be a small and unambitious game just to get my feet wet in Flex production.  As a result my timeline is pretty short as well; I hope to get all the programming and writing finished by June 1.

– I’d really like to start getting into the world of open-source programming, and so my first step in that is schooling myself in version control.  Basically, I’m reading Pro Git.

– I’ve been polishing and fine tuning a previous project of mine, called ‘Mandate’, to the point where I feel comfortable putting it online for all to see and try out.  No particular timeline for this outside of ‘very soon’.

Hello World

Why hello there, person currently reading my blog!  This, if you had not yet noticed, is the first post out of hopefully many others to come.

Let’s talk about what these hypothetical future posts will contain for a second.  My main interests include programming, game design, the study of history, and to a much much more limited extent, art.  So, you can expect a lot of posts to be about what I’m currently learning and trying out in programming.  You can also expect some to be about what game pet project I’m working on, at which times this will mirror an indie dev blog.  Some posts may just be me remarking on history that I’m reading, or wondering aloud about the study of history in a meta sense.  And some may be me posting illustrations and trying to make progress in that area; eventually I’d like to migrate to digital art, but at the moment I’m content with sketching basic anatomy.  Baby steps, and all that.  And most importantly, somewhere in all of this I might actually do or say interesting things.

So, if any of that sounds up your alley, stick around!

I’m not yet sure what the schedule will be as far as updates go; for now I’m just going to post everything whenever I want and we’ll see what sticks.  Alright, let’s do this thing.