I’ve decided that it’ll be impossible for me to get RoTo (XNA) finished in time for DBP. I originally intended to try and get it finished halfway through this month, then start working on the implementation of my dissertation project; however, since it’s not going to happen I might as well mark the beginning of the month by starting Genetic Tower Defense.

The project involves evaluating the use of genetic programming in generating human-competitive AI. Genetic Programming is the practice of applying the principles of evolution to a computer program in order to improve it; starting with a number of population members (individual programs), you “breed” them with mutation and crossover in order to produce new children; this is an iterative process that, in theory, should eventually lead to having a superior program. It’s obviously more complex than this in practice, but this gives the general idea – my project is all about using a “genetic AI” to play tower defense, then comparing the scores it gets against human scores collected from a sample group.

[Read the rest of this entry]

, , , , ,

Work on RoTo XNA is going very well; I’m making steady progress, though I still have my doubts as to whether it’s possible (or even worth it) to get it done in time to submit to dream-build-play. However, I’m happy with the work I’m doing, and my plan to continue development of the Oxide engine alongside RoTo is working well too. Recently I’ve been working on getting some of the basic object types in, and doing major work on the level editor. RoTo uses object lists for its levels to save on having lots and lots of physics bodies for all the different tile shapes, so the object editor is the most important part of the level editor for developing RoTo. Since the level editor is the same one as Rocketman’s, I’m building the object editing capabilities on top, and as such I’ve got a fairly complete tile and object editing solution now. It’s still lacking some features but it’s definitely up to the stage where it’s usable and you can create levels with it.

I’ve got a video of it in action on Vimeo (and YouTube):

Next up on my todo list is the addition of the fundamental objects; checkpoints, red zones, exits and keys, among others. I’m goign to knock out as many of these as I can in the next few days, then start focusing on making some gameplay and finishing up the level editor (with features such as setting up level properties like music and ranking requirements). That should keep me occupied for the next little while, at least. I’ll post updates as they come; I’m keen to post more videos to try and generate some interest for the project.

, , , , ,

So I’m ready to post about my DBP project; I’m porting RoTo to XNA. It’s early days yet, and I’m having some difficulties with loading times (turns out the XNA has a huge problem with lots of content files on the Xbox 360 which can cause loading times to increase exponentially…), but so far things are going reasonably well. I’ve just been working on implementing basic world rotation and the basic player object tonight, after nearly finishing implementing physics as well as doing lots of work on the Oxide part of the game. Things are going smoothly but I’m having my doubts as to whether it’s possible to finish this game in the 3 weeks I have before I need to enter it for DBP. Ah well, having the deadline certainly won’t hurt development of the game, and if I don’t manage to make the deadline I can always just release on community games after. Here’s some screenshots for now;

roto1_small

I’ve tried to keep the graphical style as clean as possible for now. I’m again not too sure how I’m going to do it, because I wasn’t 100% satisfied with the graphical style of the PC version…

roto2_small

And here’s the rotated test level.

As I said, it’s early days so there’s not a lot to see, but hopefully within the next month I will make a lot of progress with it. Since I’m essentially using a lot of the methods used in the original PC version coding-wise development time shouldn’t be anywhere near as long as it would be if I was starting from scratch.

Stay tuned.

, , , , ,

oxide1_small

Here’s a screenshot of some vertices for collision shapes I’ve generated for my new project… I’ll leave you guessing for now.

, , ,

So after some discussions about whether finishing the “Rocketman” XNA project was feasible given the deadline for Dream-Build-Play looming, it was decided that we’ll put the game on hold for now. I’ve got something special planned to take its place as my entry for Dream-Build-Play, if I can get it done in time. For now I’ll give you the nitty-gritty on the basis for this project; the Oxide for XNA. Oxide is basically a game engine built on top of the XNA framework to make future Shadowsoft Games (and my own personal projects) a little easier by providing the basis – object systems, audio, input, particles etc. I’ve been meaning to do something like this for a while, but I’ve never gotten around to it.

So how is this going to help me finish my DBP entry in time? It’s not, but I can kill 3 birds with one stone – Oxide is a built on top of the basic “Rocketman” engine, and is nearly entirely backwards compatible. It also provides the basis for my new project, and this will allow me to develop Oxide as a separate sub-entity to the new project… if you’re still following, this means that I can add features to Oxide as I need them with the new project, then when the project is finished I can export the updated Oxide and build “Rocketman” with it, further developing Oxide’s core with new features and bugfixes.

So far I’ve fully split all of the Rocketman-specific stuff out of my new “Oxide” project, created my new SVN repository and began cleaning up code and implementing some needed features. One of the new features I’m particularly interested in is getting in there is physics. The most interesting candidate for a physics engine I’ve seen is Farseer Physics, it’s biggest strengths being that it’s completely free to use, completely open source with a very permissive license (so I can modify it and use it as I like) and 2D-specific. Oxide is going to be a 2D game engine, so this fits nicely. Hopefully it won’t be a pain to use and performance will be adequate; if not though, there are a few alternatives.

Sorry if updates here start getting a bit slow over the summer as I’ve got a lot to do. DBP’s deadline is August 6th, so making an entire game in a month almost from the ground up is going to soak up my time like a sponge in water; not to mention that I have to get working on my dissertation soon…

, , ,