• Register

Explore the lost world of KAIRO. An strange bleak world filled with vast strange monuments. As you explore the depths within you must solve puzzles to bring ancient machinery back to life and give KAIRO a purpose once again. KAIRO is a first person atmospheric exploration and puzzle solving game.

Post news Report RSS The Kairo Process

I've found Kairo a difficult game to blog about because I've been entrenched in a series of unexpected setbacks and problems. I recently realised that as developers we should be sharing more of the troubles we run into so I'm going to do that over the coming weeks. To get started I wanted to just talk through the development process for Kairo under ideal circumstances. This should give some context to the ways in which it often goes wrong.

Posted by on

I've been working on Kairo for over 6 months now and I've found it a difficult game to blog about. I chose the game design because I wanted something that I liked, but also something I wouldn't find too difficult to develop on my own. So what this means is that I'm not doing lots of exciting and innovative things, most of my development time seems to be overcoming annoying unexpected problems. Exactly the kind of thing I've always thought people wouldn't want to read about.

However talking to Michael Todd at GDC I realised that people avoid talking about their failures and indie gaming is presented like it's a constant stream of successes. So I think it's time I get into the nitty gritty of the problems I've been tackling. I'll cover some of these road blocks in the coming weeks but I wanted to give them some context. So I thought it's time for the obligatory "my development process" blog post. Once you understand how I make the game, the unexpected difficulties I've encountered will make a lot more sense.

Paper First

The design of Kairo is mostly about lots of interesting unique rooms. So each room starts on paper. In my initial prototyping I tried making rooms straight away on the computer but they kept coming out like very game-like boxy rooms. So I took a step back to get out of that game design mindset. I consult a bunch of references including abstract paintings and whatever I can find online, however my main reference is architectural books. From there I make a very basic sketch in my notepad. I don't need a lot of detail, that can come in the modelling processs. I just need a basic structure and outline to work with.


Modelling

Rather unsully I model the entire game in Google Sketchup. It's the easiest modelling program I've ever worked with by a large margin. I know it's often used for game protoyping but I don't think it's very widely used for final game assets. This makes sense as it's not great for everything, but for the sharp minimalist design aestheic I'm going for it's perfect. It also means basic room layouts are done in minutes and full room models are done in mere hours.

So anyway I take the sketch and try to recreate in Sketchup as best I can. Usually once I've got the basic shape on screen ideas start flowing as to how to enhance the design and give it some life beyond the simple outline. I typically don't texture in Sketchup even though I could, I just assign colours to each different surface type. Generally rooms in Kairo only use around 3-4 different materials so it's not complicated.


Engine

From Sketchup the models go straight into Unity. I throw in the basic Unity "First Person Controller" along with a few of my global scripts and image effects and the room is instantly playable. There's a level of iteration with Sketchup as I make sure everything is the right size and the room can be navigated as expected but that doesn't take long.

To get the visual style of the room right I first throw in some point lights to give the room some life. Then I adjust he basic colours from Sketchup and change them to textures I want within Unity and scale them appropriately. Then I choose a tint colour for the lights that make the room "feel right" and the most basic non-interactive version of the room is done.

Scripting

Now I need to hook in the actual gameplay. Rooms in Kairo are either puzzle rooms or mood rooms. The mood rooms are just there for exploration aspect of the game and act as a bridge between puzzle rooms. For these mood rooms all I need to hook in is the door scripts and they're done. For the puzzle rooms there's obviously a fair bit more work.

Most of my puzzle are coded using invisible cubes working as triggers which are in co-operation with Unity's animation system to make the room change as neccesary. In all honesty I try to do as little coding as possible and generally Unity is flexible enough to do allow me to do most of this without relying on code.


Lightmaping

The very final phase for a room is lightmapping. Once the room looks and feels right and the scripting is all in place all I need to do is the final layer of polish. Unity 3 includes a great lightmapping tool that allows me to take some very flat looking rooms and give them a huge extra dose of atmosphere.


Conclusion

So that's it. In thoery these simple steps allow me to make rooms for Kairo really quickly and easily. In fact this all went so well in my prototyping phase I was convinced I could have the game finished in six months. However of course that was rather optimisitc. Next time we'll start to see why.

Post comment Comments
Cybio
Cybio - - 1,010 comments

Great news :)

Reply Good karma Bad karma+2 votes
wolfbrother9393
wolfbrother9393 - - 98 comments

I'm glad to finally hear some more news on this project.

"Mood rooms" is definitely something the industry needs more of, even if you're convinced that you're not doing "lots of exciting and innovative things".

I'm excited about it.

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: