0

Winter Development

posted 06 Jan 2012

Over my 3 weeks Winter holiday from University I’ve managed to get a fair amount of development done for my game, MazeOtaur. It’s still quite a way off from being published or even in a playable state, but it’s getting to a playable point and I should be able to put it up for testing in the next month or so.

A few of the things I’ve been working on are rooms, braided mazes and torches. These are some of the important defining characterists of my game, to make it somewhat unique.

Rooms weren’t too much trouble to implement. I simply generated a few sqaures on the map, then let the maze algorithm connect them together. I made this hard for myself because I wanted a limited number of entrances to a room. Eventually I gave up on this, but my braided maze code saved the day for getting this to work.

Braided Maze with Rooms

Braided mazes are mazes which have no dead-ends. This means there are plenty of loops throughout the maze, which makes the stealth aspect of my game more interesting, as before there was only one path. My braid implementation isn’t perfect, there are still a few dead-ends, but it does look and play much better as there are multiple paths. My braided maze algorithm works by simply giving a weight to every, that states how many corridor tiles are adjacent to it. Using this and Primm’s algorithm I can check the weight of each tile, and if it’s small enough I can connect to it and possibly make a loop.

That method was the simplest to implement but other methods like finding dead ends and just knocking out a wall would also work, and would give you a fully braided maze, unlike my partially braided maze.

The last thing I’ve implemented over the past few weeks is torches. These have been the main element I wanted to play with since I came up with the idea for the game. I basically wanted the player to only see parts of the maze, making the maze much more difficult and more interesting. As without torches the game simply becomes Pac Man without the Cherries.

Initially I thought lighting would be a difficult thing to implement, but the approach I took was very simple and worked quite well. I simply gave every cell a lightLevel value of 0, and when there were torches, I would simply increment that level. To get a nice spread of light I used a limited depth first search to find all the cells adjacent to the first, torch node. This worked quite well as you can see from the main picture on this post.

Breadcrumbs are a small feature I added to try and make the maze easier. A friend suggested this, but he also suggested making the Minotaurs eat the breadcrumbs as they walked along their patrols. Which is an interesting idea, but would be horrible. Perhaps if I have a hard mode I can introduce this. Breadcrumbs took 10 minutes to implement so I’m not going to talk about them.

You’ll probably notice from the images that not all my features are in all the pictures. This is because I’m trying to learn how to use git properly, by branching all my implemented features, then merging them into a development branch. After some bug fixes in development, I can then merge into master.

This idea was working well, until I started putting bug fixes in random branches, rather than making a seperate branch with the fix then merging it to all my development branches. This was fairly annoying as one of my bug fixes was to ensure the display actually displayed things, as sometimes it set it’s height to 0, which was very annoying.

Another thing I was playing with was Sonar which is a static code analyser. It’s been very useful, but was horrible to set up.

Next time I’ll probably talk about Sonar or my git setup, but I’m sure my git setup is horrible and could do with improving.

0

Weird Vampire Dream

posted 23 Dec 2011

I don’t have dreams very often but the one I had last night was just bizarre. I was turned into a vampire for some reason, but it was in a sort of futuristic setting, as I had to go and join the local Vampire cult. All the new vampire candidates were sitting at the front of a large press-conference type thing, but we never had a chance for speeches as suddenly the elder vampire had something important to say.

Now normally, the young vampires would be taken to the backroom and told the news. But in my dream all the young vampires went to a games room to play arcade games. As a new vampire I had no idea what they were doing, turns out vampires have to play videogames to replenish some poison sack on their arm. I have no idea where on Earth this idea came from, it’s just stupid.

I was playing a sort of Time Crisis style game, where my dream made the game very buggy and didn’t let me shoot half the time. The gun I was using had about 9 buttons all over it and just seemed far to complex.

So after this gaming session the elder called all the vampires together and said that we were going to war. I don’t remember the start of the dream so I’m not sure who the vampires are at war with. I’m not even sure I knew at all.

So all the young vampires vacate the room to prepare, but I stay back as I am a fresh vampire. The elder vampire asks for my name and I panic as I need a new ‘cool’ vampire name. After a few taunts from the elder and a vampire saying I was only one day old; I came out with the name “Thrall”. The giant of a vampire laughed at me and so I punched him in the face, which wouldn’t be my reaction in the real world, but this is crazy vampire dream world, so whatever.

The burly vampire doesn’t like being struck so pretend to hit me back. For some reason I fall to my knees and say to myself: “The idea of the punch is more powerful than the punch itself”. What?

After I recovered my imaginary beating I was led by the burly vampire out into this huge futuristic hallway, that reminds me of the Vampire stronghold in Blade 2, where the burly vampire leads me to a laptop to show me a game of pong.

Across the table from the computer are two vampires with wads of money telling me the burly thrall is playing 2000 games of pong at once in his mind, and his challenge to me for sullying his honour is a game of pong.

Now, my memory from here is gone, I remember there being some dispute and then the burly vampire just starts to fight me, then I woke up to my alarm. I don’t really remember what happened to the pong game, it just stopped happening.

Well, that’s my weird vampire dream. It’s much more interesting than my usual dreams where I simply have a conversation with a friend.

0

December Time

posted 05 Dec 2011

For the past few weeks I’ve been concentrating mainly on my University coursework, and a little (lot) of Skyrim. Thankfully all my coursework is now finished and out the way, but I still have a few exams coming up in the next 2 weeks so probably won’t be able to do any coding until after that.

I still have plenty of ideas for MazeOtaur and for a few other projects. Because I still don’t have any kind of proper job, I’ll hopefully be able to get started and maybe even finish a few of these projects as I still haven’t officially ever finished a project.

The only thing I’ve ever really finished is my own custom lightbox for my gallery, but in looking at my gallery I’ve found the layout of the gallery to be quite horrible and in need of a fix.

Over my 3 week holiday I’ll try and get this website finished as I’ve never gotten round to making the other sections of the site or finishing off the mobile version I had been playing with. Concerning the mobile version, hopefully a few lines of CSS should get it sorted out, as the base theme for it does work. My main concern however will be MazeOtaur. Hopefully I can get it to a workable and testable stage before I start my next semester at University.

Will hopfully have something worthwhile to say in a week or so.

0

Skyrim Blues

posted 13 Nov 2011

This weekend all I had been planning on doing was playing Skyrim. But alas, it has yet to arrive. Without it, I should really have finished all my Uni work to prepare for Skyrim arriving tomorrow. But I really don’t have that much drive at weekends.

The header image relates to another matter. Without Skyrim I’ve ended up just playing The Binding of Isaac all weekend. And have yet to get any further than the second last level. It’s a brutally hard game and it’s very unforgiving. You play as Isaac, a child who’s mother was told by God to murder, so he ran into his basement to find safety.

All you really do as a player is try and clear each room from monsters and defeat the bosses. I’ve not reached the final boss yet, but I assume it’s Isaac’s mother. What makes Binding of Isaac so replayable is everything is randomly generated. Each individual room is randomly generated as are the monsters and items within it. Even the hundreds of different items you collect are randomised which makes the game feel quite different each time.

Between two plays I had one where I had about 10 heart containers, but could never find any hearts to fill my bar back up. Next play I found dozens of hearts, but never found any heart containers to need them.

The game looks great, and disgusting. Because it’s a basement and the monsters are just frightening things a child would think of, they are pretty horrible monsters. The creature I hate the most are zombie like, but their heads extend off their body, which is rather frightening.

I think I burned a good 7 or 8 hours on the game and I’m still finding plenty of new creatures and items to fight and collect. It’s really a great game, and I don’t think it’s that expensive at all. I personally picked it up in the Humble Indie Bundle but I think that will be finishing soon.

Right, let’s talk about the main image. As you can see, it’s YouTube; this has been my main media player for the past few weeks because I don’t own much music and Spotify’s limiting 10 hours a week put me off using it. Grooveshark, I don’t like because it’s crowd sourced. The song titles can be inaccurate and there are plenty of times where albums have the same songs 3 or 4 times.

Because of this, I decided that I’d go for YouTube. It’s fairly reliable, all the music I like is there somewhere or another and it has playlists. My only main issue with the Cosmic Panda interface in YouTube is that you can’t shuffle songs, but I prefer this interface over the default, so I just shuffle the songs randomly every week or so.

I’ll admit that it’s not ideal, but it works for now. I should really just swallow my pride and subscribe to Spotify, but I don’t like being tied to subscription based services. And I prefer the freedom of streaming, as I grow tired of songs quite quickly and barely ever play any songs in my personal collection.

That’s pretty much everything I’ve done this week, might write a post later in the week about my Arch Linux setup, but I doubt that would interest anyone.

0

Coursework

posted 01 Nov 2011

I’d like to say that I’ve not been doing any game or website development in the past week because I’ve been really busy with Uni coursework, but that would be a lie. Yes I’ve spent 2 days in the past week doing coursework, but that’s really no excuse for me not doing more of it, or even doing some side-projects.

Last week I got a new graphics card so I’ve been re-playing a lot of my games with improved graphics. The jump is pretty much from Medium detail to High and Ultra detail, so I’m very happy. Photo editing might be a little easier now as well, but I didn’t really buy that card for that, although it’s how I convinced myself to get it.

My game hasn’t moved anywhere at all. I have been spending a lot of time in my maths lectures detailing what needs to be done, but I’ve not gotten round to programming my physical notes yet. I’ll maybe find some spare time to get it done, although I have 5 pieces of coursework due in the next couple of weeks, so I should probably prioritise on those.

Kongregate is also something I fritter my time away on. Lots of really nice games, and you can get achievements for the games to make it all that more addictive.

I saw The Rocky Horror Picture Show in cinema last night and really enjoyed it, was pretty much everything everyone said it was going to be. I also saw Tintin and Real Steel. Tintin was pretty good; funny throughout and worked really well. I’m still not a fan of movies that are fully Motion Captured, but I can see past it.

Real Steel was what I wanted: lovely cgi fighting robots and not much of a plot. Overall it was a fun movie, nothing fantastic but it was a bit better than I was expecting the Rock ‘Em Socl ‘Em Robots movie to be.

Well, that’s really all I’ve done in the past week.

0

DwarfFortress

posted 09 Oct 2011

(For fullsize click: Here)

I was hoping to have something interesting to say about my game this week but sadly I’ve grown completely addicted to Dwarf Fortress.

If you don’t know what Dwarf Fortress is, I’ll try to explain it. Although it’s technically a game, the level of detail makes it more like a Dwarf Simulator. My favourite level of detail is the combat. Dwarves can lose finger, have organs bruised and ruptured and can even (rarely) have their eyelids torn off by the many horrible beasts in Dwarf Fortress.

The main explanation I see of Dwarf Fortress is the sheer depth. In the screenshot, all the menus on the right have multiple sub menus and some have hundreds upon hundreds of configurable options and decisions. The game is micromanagement at it’s best. No telling a group what to do, you have to instruct individual dwarves what tasks you need done. This gets a little bit crazy when you have more than 50 dwarves, so I’d recommend the Dwarf Therapist tool, it just makes sorting out your Dwarves preferred jobs much, much easier.

The fact that a game needs a tool to actually configure the damn thing just shows the complexity involved. I really love this game as I’m a huge RTS and management type game fan. Rollercoaster Tycoon 2 and Sim City 4 are probably two of my favourite games ever. Simply managing a city/theme park/etc is immensely enjoyable to me.

Once you get over the complexity of Dwarf Fortress and get your first fortress running, there aren’t too many tasks to keep yourself overly occupied. (Always, always cehck you have booze and food). But every few in-game months, some kind of creature or goblin ambush will come along and threaten your fort, so you need to build defences and hope that your military can defeat the giany eyeless magpie that spits ice at you (Yes, I had to fight one of these, a poor Dwarf was strangled by it).

A lot of people though don’t like playing Dwarf Fortress but like listening to stories about it. I don’t have anything very interesting to say about my current playthough, but might keep a better diary of my next playthrough as I grow tired of my current fortress.

I should be bored of Dwarf Fortress by the end of this week, so will hopefully get some more game development done, or even start another little project I have in mind.

And remember, Losing is Fun

0

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.

0

Hello World

posted 09 Sep 2011

Well, this is my new website. It’s taken just over a month to get everything up and running and I am quite happy with the results. There are a few pages that might need a few tweaks here and there, but I’ve fulfilled my goals of getting the site finished before I start back at University.

Instead of using a big clunky CMS like Drupal or Wordpress I thought I’d try something lighter. Found a lovely databaseless solution called Jekyll. It’s everything I wanted, you make all the files and Jekyll just processes the templates and spits out a static website.

Now, Jekyll is nowhere near perfect, and it was a pain to get a few things, like the gallery to work properly, but I’m much hapier using it than I was with Drupal.

I’ll write another post in a few days about the other tools I used like Sass and might comment on the terribly PHP backend I made for processing the images.

Until then, farewell.