Search
Twitter Feed
Navigation

Entries in Games (5)

Monday
May302011

Maze Rover Prototype

After working on a number of titles for various clients, I've decided to launch into releasing my own game. The current working title is Maze Rover, and I've just set up a page here to show how the prototype is developing and get some feedback on the gameplay.

There is more info about what I'm trying to achieve on the other page, but I thought I'd talk a little here about what new and cool things I've learnt in the process.

Super fast serialization/deserialization

 

Maze rover is, as the title suggests, a maze game. Each level is a different maze. Alongside my Unity project, I've also had to make a level editor in order to draw the mazes. For this, I used pure C#, WPF, nothing to do with Unity. 

Here is a screenshot of the, incredibly ugly, level edit in action.

 I created a C# library, that both the level editor and the game would use, that contained my maze classes. Square, Bonus, Dimensions etc. The next question is how to get the info out of the editor and into the game.

What I'm talking about here is serialization/deserialization. I've already done a post on my final solution, protobuf-net, but it's interesting to document what extra technology I had to learn to get this to work properly.

The max size of my levels at the moment is 48 x 32 squares, or 1536 square. The way I've set it up, there is a maze container with a 2 dimensional array containing all the squares. My initial use of XML serialization wasn't very promising, with it taking hundreds of ms to deserialize in the game. With protobuf I think I'm averaging 10-15ms. Great improvement.

Dynamic Mesh Creation

 

After reading in the maze for a particular level, the next step is to create the maze. I initially started with creating pre-fabs of each type of 'square' and instantiating them one after another. But, as I suspected and is pretty obvious, this is not very performance friendly. Even if they are just simple squares, having 1000+ objects in a scene is just scary.

So, meshes. I didn't know much are creating meshes before I started this. But I looked at a few examples and realised that with a bit of maths, they are not too hard to create.

Here is a screenshot of the maze mesh.

Pretty simple, but dramatically more efficient that previously. Although I create the meshes using squares, they only contain the faces I need and each face is UV mapped as appropriate. In the pic above that is not shadows making the sides seem darker than the tops, it's just a darker texture. In fact, I'm not using any lights at all at the moment.

UIToolkit

 

For an in-game HUD solution I was initially going to use GUISpriteUI, which was created some time ago by Prime31, but when I went to check on progress he had released a whole new solution, UIToolkit.

Users of GUISpriteUI will understand how much better the new system is. No more mucking around with UvRects and ruining everything when your atlas is changed. UIToolkit uses TexturePackerGUI to do the work for you and, most importantly, now supports fonts.

So, long story short, 1 draw call now does all my HUD. In the pic below there are 13 HUD elements (not counting the FPS counter) that are all done in the one call. FYI - Crappy graphics are placeholder, don't freak out ;-)

If you've previously used GUISpriteUI and got frustrated by certain aspect, I highly recommend checking out UIToolkit. Things are so much easier and bug fixes and improvements are being added regularly. It's (kinda) open source, with Prime31 giving out GIT access to certain posters on Unity forums.

Stay Tuned

 

I will hopefully get some good feedback from releasing this prototype and it will all go in to making the game even better. Once I get the theme nailed down, I'll be looking around for artists to create the assets I need.

Hopefully we're looking at a release in the next few months.

 

 

Wednesday
Mar092011

Spartan Athletics

Whoa, no posts for a while, but that's because I've been busy working.

Last year I teamed up with Adelaide web/games developers Soda Cube to develop an iPhone game, Spartan Athletics.

Spartan Athletics is set in ancient Sparta and features ten track and field events that players can participate in.

Those are screenshot's off the iTunes page showing the Javelin and Highjump events.

I was the sole coder for this project. It was a lot of fun to develop. For anyone interested, it was all coded in C# in Visual Studio Express 2010 using Unity Pro. I used the Prime31 'GameKit Bluetooth/WiFi and VoiceChat Plugin' for the bluetooth multiplayer stuff and their/his? GUISpriteUI library to cut down on draw calls in the HUD.

iTunes store link is here. I've just completed a big update too. In the new version will be the full ten events (original version was released with just six) plus bluetooth multiplayer so you can play against your mates. There will also be a bunch of tweaking and tuning to get the gameplay just right. Stay tuned.

Wednesday
Apr072010

Hardcore Parkour Game - Test run 

Hardcore Parkour is a little test game that I've been working on for a while. It's kind of almost at a playable level so I thought I'd put a version up here.

Obviously nothing has been done in the way of Level Design and Textures and Sound and many other important things, so don't judge it on that. I'm just testing out the gameplay potential of this kind of game.

The setting of the game is that you're a little alien dude who needs to get the highest score or else his home planet will be destroyed to make way for a hyperspace expressway, or something like that. Basically you just want to make the highest score.

Scoring is done via either

  • Collecting the little glowing cubes
  • Doing tricks

Here are the controls. Basically using a classic FPS keyboard setup.

  • W, S, A, D for forward, back, look left, look right
  • Arrow keys for spinning while in the air
  • Space bar for jump.

 

Now there are a few bugs in this version, and obviously it needs a whole bunch more work to get it to a playable game, but I though it would be interesting to show how I'm progressing.

(There does seem to be a OnGui performance bug that I think is related to string manipulation and the resultant garbage collection. That makes it jump every now and then. I'll try to get onto that soon. I haven't even looked at optimisation yet so I'm sure there are loads of performance improvements to be found.)

Also, this is using my newly hacked together 'load on demand' javascript. I think I'll make a new post about that.

No images? Hello 1993

Thursday
Mar042010

What's on my iPhone

Before I get onto someone else's iPhone, I thought I'd write about what's on mine. 

Apps are boring, so let's just get to the games. These aren't the only games I have obviously, but they're the only ones with a bit of legs to keep me coming back. 

First up...

Canabalt

Run, run, run before the world collapses on you. Nice little timewaster. You can play it free on the website if you want to try it out. Sorry about the crappy screenshot, it's hard to play and take pics. 

 

Lock 'n' Roll

Sort of like a cross between yahtzee and Tetris... maybe? It's a addictive dice puzzle game that is perfect for waiting for the bus. You can play this one on the Canned Bananas site linked. There is a paid version, but the free one with in-game ads is fine for me. 

 

Tap Defense

One of the best Tower Defence games for the iPhone I reckon. Plus it's free. They apparently make their money by in-game advertising, but it's fairly subtle and doesn't get in your way. This one of the first apps I got and the one I've spent the most time on. Awesome stuff. 

 

Train Conductor

This game makes sitting around in your jocks playing trains actually fun. As with all successful iPhone games the controls here are very simple. Just drag the trains to the required track. Of course it gets insanely difficult after a while. Made by some Aussie guys too. 

PS: Their twitter just said they are planning to bring out more tracks soon as a free update. 

  

Wordwarp

Great little word game where you need to find all the words you can make out of the six letters they give you. Spent a lot of time on this one. Notice the screenshot though... I finally got all the words out. That's 4 game weeks I'm never getting back. 

  

Oz Quiz

Awesome 3D graphics, immersive gameplay and paradigm shifting storytelling are all phrases that do not apply to this game (sorry Brenton ;-), but it's made by a friend of mine so it makes the cut.  It's an Australian Quiz game with surprisingly hard questions. 

 

 There you have it. What's on yours?

 

Wednesday
Feb102010

Serious Sam

As much as I hated Steam when it came out I must say I've warmed to it now. Probably because I realised it it's a great way to get access to awesome indy and smaller dev company titles. 

I might post a top five of the little games I've bought over the last year but for now I'm forgetting about the little, little games and going for an old favourite available now. 

Serious Sam baby! Serious Sam - The First Encounter HD by Croteam is a remake of the original, polished up for our time-machine like graphics cards nowadays. 

It's a little rough at times, and obviously looks quite dated when compared to what's available now, but it is well worth the US$20 for an awesome bit of old school shoot-em-up action.

When Serious Sam came out in 2001 (fittingly enough Croteam's website looks like it was made in 2001) it didn't have the best graphics around, or the most realistic monsters or the most texture-shaded-bumpmapped-gigapixels, but what it did have was awesome gameplay in spades. 

It's a simple formula. Huge arenas, fun weapons and easy to kill enemies... by the thousand. I'm playing on Hard and not all the way through it yet and I have 3600 kills. ha!  

If you have fond memories of the old days of FPSing then I highly recommend this one. 

Those bloody frogs though!