Project Subterranean update #2
4/06/2009Another week has passed, so I figure it’s about time to give you an update on our progress with Project Subterranean - the quest to create a free, open source adventure game in the style of Monkey Island.
Since last week, I’ve been busy with getting my driver’s license, so I haven’t really been able to contribute a whole lot. However, our lead programmer Kalle has been cranking out code like a programming machine - on crack!
Dialogues
We have made some minor improvements to the dialogues. For example, there used to be this issue where you couldn’t skip the last line of the current dialogue. That has now been fixed. Also, the ugly black bar where the dialogue options are display is now not shown. In order to compensate for the lack of readability, the options have been styled a little bit, but it just doesn’t look very nice. So I’m probably either going to see if I can change the styling and make it look good, or have the black bar only come up when choosing what to say.
Another great feature that we have now implemented is the ability to have talking animations for all objects, including the player. So now whenever your character is speaking - his or her lips are moving. Sweet.
Saving
So a few days ago, me and Kalle got a super basic save system going. Basically it just takes all the various triggers and other information that needs to be saved, and puts that in an XML-file in an orderly fashion. Now, you can only have a single save file, and there’s no way to load it yet, but at least it’s a start. We figure that since we’re just going to release a demo at first, the save feature isn’t super important - as the demo won’t be all that long.
Animation
Kalle the coding beast has been able to come up with a way to do non-looping animations. Before that, if we were going to animate something we would just name the pictures to loop between, set the frame rate and that would be it. So a while back Kalle figured out how to assign states to objects. This allowed us to for example have an NPC’s state be set to “talking” whenever it was talking, which in turn allowed us to define a certain animation to perform as long as the state was set. So once the NPC had stopped talking, we would set the state back to default - causing it to stop the animation. That works fine. But what if we want to make someone look surprised whenever the player does something? We could just have a “surprised” animation and use that whenever the NPC’s state was “surprised”, but that could look weird if the animation kept looping instead of just running once.
But, that’s at least partially fixed! I know he’s gotten a prototype working, but I’m not sure exactly how it all works yet. Hopefully it’ll be fixed soon enough.
Items and inventory
The inventory has been polished a little bit, so now it doesn’t automatically close until you move your pointer outside of the inventory box. Why this is useful is because we can now combine items to create new ones! Well, there’s really not a whole lot of fancy background magic going on. We’re just removing two objects and replacing it with another. The only thing that’s new is that you can use one object on another object that is inside your inventory.
Oh, and now if you try to use an object with an object it wasn’t designed to interact with, you’ll get a response along the lines of: “Hmm, no. That’s not going to work.“
Sample puzzle using states
Kalle has created a sample puzzle using states. It’s nothing fancy, and the code is really kind of terrible, but it works and it’s sort of a little demo to see what we can do with the engine at this point. A sample video of this can be seen below.
Character development
Kalle and Ludde (our artist) got together to do some sketches of characters, objects and stuff. Since we live on pretty much opposite sides of the country, I couldn’t join them. However, I was asked if I could maybe write down some character descriptions so that they could get something to work with. I can have a pretty vivid imagination at times, so I already had some character ideas in my head. Sadly it takes quite a lot of time to write them all down, so I only really got started on this one character who’s a systems administrator at the office by day, and a hardcore level 70 Paladin of Death by night.
The sketches that the boys drew up are now available through the online world wide interwebz. They have yet to be added to the Wiki, but they can be obtained from our download page at github.
Issue tracker
Instead of keeping all the issues and bugs written down in the Wiki, we’ve decided to make use of github’s issue tracker instead. It just looks neater, and it’s a little bit easier to manage that way. If you want to take a look at the stuff we have yet to do, go check out our issue tracker.
As always, if you are interested in the project and want to know more about it, you can either go to our github page to read the Wiki, grab the source code and all that stuff. Or you can chat with the developers directly through the magic of IRC. Our channel is called #subterranean and can be found at freenode. If you don’t quite know what IRC is or how to use it, you can just use freenode’s Java applet - just fill in a username of your choice and go!


It's very quiet in here... Leave a comment, pretty please?