MazeOtaur

posted 28 Sep 2011

Last week I started building my first game. Well, I’ve attempted to make games before, but generally they just fail and I gave up after a few hours. This project is something I’d like to play, and should hopefully be finished within one month.

The concept is a simple rogue-like dungeon crawler. You’re in a maze and your objective is to get out of the maze. By the end I’d like to have Minotaurs, light radii to control how much of the maze you can see at any time, and a breadcrumb system for finding your way around.

After one whole week of writing something every day, I’ve managed to generate a labyrinth and move the player through it. The movement at the moment is a bit shakey, but that’s mainly due to the game speed being a little too fast for the keyboard input. I’m still working on a fix for that.

Right now I’d like to move on and try to get some AI going for the minotaurs. I have a rough idea of how I’m going to do this. Going to go for a simple patrolling AI, until the player is “seen” by the minotaur. How I’m going to do line of sight has only just struck me as being an interesting thing to look into in a maze.

The maze generation itself was fairly easy, I used Prim’s algorithm for generating the actual maze, and stored it in a multi-dimensional array. I built a cell class, that is either passable or non-passable, I add a random cell to start, then I add all the adjacent cells to that one, then pick one of those walls, and set it to passable and add it’s walls, and so on.

The maze is very random, but I’m going to do some tweaking in the next week to try and add some loops and rooms to the maze, as at the moment there are no loops and there is only one solution to the maze. Trying to get around a patrolling AI with only one route obviously has a few design flaws, so I’ll really need to try and get that sorted if I want the game to be fair and playable.

I chose to make the game in Java as it’s fairly easy to implement on multiple platforms, and Swing seemed like an easy enough basic graphics library to get started with.

02 October - Okay, this is just me getting ready to upload the post, I am disappointed it took me this long, and I haven’t touched the game since I updated this. Perhaps this will be a bad omen. I think I have started re-writing the input methods, but it’s currently incredibly buggy and nowhere near what I would want, will hopefully get it sorted out in the next few weeks, but my current addiction to Dwarf Fortress will probably hinder my time updating the game.

I apologise for any grammatical mistakes in the article, I did write it at 6am after a night out drinking.