Terraria – Lava Dome

I’ve been having some fun with the new Terraria update. Leo and I built a Lava Dome. It’s a wall filled with lava surrounding our entire base. The entrances are filled with active blocks so we can flip a switch during an invasion and the doors will fill with lava. It’s admittedly completely impractical… but pretty awesome anyway 🙂

You can also see our art gallery.

lavadome v1.0

The automatic lava generator is pretty easy to make too. Just make a large chamber and put a inlet pump at the bottom and an outlet pump at the top. Wire them up with a 1 second timer and let it go. It won’t generate lava automatically but what will work is to put blocks separated by a single space all next to each other then take a bucket and dump a single load on top of each divider. Those will continue to split and if you leave and come back later your chamber will be full. You can then wire up a different outlet pump to pump all the lava wherever you want.

This game is ridiculously fun and engrossing. The new update is worth checking out even if you have played Terraria before.

Geometry Wars Galaxies

If you’ve been wondering why I’ve been somewhat MIA lately it’s completely due to Geometry Wars: Galaxies.

If you own a Nintendo Wii, do yourself a favor and go out and buy this game right away. It’s amazing. It’s exactly like the Xbox Live Arcade game of the same title (minus the galaxies) except with LOTS of diversity. There is a new “drone” feature where you get to pick a type of drone to take with you into battle and the more you use it the more your drone will go up in power. Some of the later levels are frankly impossible without the help of your drone. Besides just being incredibly fast paced and visually stunning the game is full of all sorts of clever little devices used to surprise you and change things up.

The only thing I would complain about this game was simply that it’s on the Wii. I mean I like the Wii and all but the controller you have to use is just too small for my hands for such a fast paced game. I’ll probably have to see if I can beat my old score on xbox live after all this practice.

Watch this video if you haven’t played geometry wars before:

Geometry Wars–4 Million

Rockband and Homebrew

I just recieved my Rock Band gift from Magenic for being apart of the Magenic Technology Council, today. I think it’s time to keg my beer and have a Rock Band and Homebrew party finally!

If you’ve got nothing better to do and you live in the twin cities area send me an email and I’ll let you know how to get to my place!

By the way the beer is a ESB, so if you are of the American macro brew persuasian you might want to bring your own. I will probably try to pick up a case of something lighter but you never know.

Drop In

 

Last night I attended the monthly Twin Cities XNA User Group meeting. Instead of having a single presenter we have six members of the group stand up and talk about some projects they’ve been working on for 15 minutes or so. I have a feeling that everyone could have just gone on and on about what they were doing but, alas, there was no time.
I gave a presentation of the XNA game I have been working on called Drop In. Drop In is a pretty simple game with 3 screens. Also all of the artwork was created with Paint.NET and the music as created by Zach Adams along with some of the sound effects being created using a free tool called sfxr by DrPetter. So you can say that Drop In was created entirely with free tools!
Main Menu
 
Credits
 
Main Game
 
Code
The source code is broken up into an engine and Drop In specific projects. Currently it will only run on a PC but with some minimal hacking you could probably get it to work with an Xbox. I think the main problem is loading up XML files for settings off of the disk which I’m not sure if it will work.
One of the most interesting parts of the game is the AI used for one player mode. I created a reusable MinMax evaluator in the game engine library. I looked at a great applet created by Yosen Lin at Berkley as a reference for improving my implementation of the MinMax algorithm with Alpha Beta Pruning. It actually seems to work pretty well too. There are some deficiencies with how I evaluate states I think and also there is a problem where the computer will evaluate all states and determine that every move it makes will result in a loss and therefore it ends up making an effectively random choice. It doesn’t account for human error and should still probably try to pick the “best” of the losing moves.
Anyway, I have posted the code in its full form so you can play Drop In and also as prebuilt binaries if you don’t care about the code. You’ll need the XNA runtime to play it or the XNA Game Studio 2.0 to build it. I have also posted just my game engine in case anyone else is interested in creating a 2D game or just taking a look at the MinMax algorithm I have created in C#.
Next Steps
Next month’s user group meeting might focus on AI if so then I can talk more about the MinMax algorithm I implemented for anyone interested. I might actually be looking to improve this AI a little by then too, I’m thinking of including some sort of mechanism for machine learning for example. I am also toying with some ideas for changing the goal of the game and adding in some features for complexity. For example perhaps the goal shouldn’t be to just get 5 in a row but instead to get as many in a row as you can when the board fills up. I’m also toying with ideas of special pucks that do more than just drop, such as pucks that push other pucks down and pucks that blow up and pucks that change the colors of other pucks. Etc.
I also want to make the AI evaluate the state continuously, not just on the computers turn and include the possibility of network play… which should be pretty easily actually since I have abstracted the players pretty well.
If anyone out there has any motivation to create a 3D Puck model for me I’d be pretty happy about that! I’m looking to take this game engine (and Drop In) to the next dimension and to do that I will need some good models.