Asylum – Developer Diary Day 19

This weekend was another research based one. There are a few areas that I need to work out before continue the main level build.

1. User definable keys – now you’d have thought that a game engine such as Unity 3d would already have an easy to use key binding system and in fact it does, but it’s pretty crappy. The user has to configure the keys outside of the game and the game cannot display the keys that have been set up. So, if a user sets the Action key as E rather than the games default of F the game cannot display ‘Press E to activate’ because the game doesn’t know what the key was or is. To get around this the input manager for Unity needs to be replaced with a more flexible one and this will also mean adjusting the code for the FPS camera to use the new key routines. Obviously this is going to take time but it will be very beneficial.

2. Inventory – I still haven’t entirely decided on what type of inventory to use for the game, I don’t think I’ll need an RPG style system with character objects and bags, etc. I am leaning towards a basic sort of system whereby object icons are displayed at the top right of the users screen, this should be OK as I don’t envisage the user having more than a dozen items at any one time. With this the overlay can be hidden and shown when needed rather than showing the icons all the time.

As a part of the inventory system I wanted to have the game as free from interfaces as possible, so I have been doing so practice with the cell door. In the previous builds the door would open as soon as the player got near it. This wasn’t something that I wanted. So, I’ve now changed it so the user has to press an action key when they are within range of the door. This also means the user should be notified that the door is usable. So, in ‘The Last of Us’ fashion I crafted a simple icon (F in a circle) that appears on the door handle when the door is usable by the player. In fact this is what made me realise the Input Manager in Unity is poor, as I wanted to make sure that the letter in the circle was changeable in case the user had redefined the keys. Well, the game can’t read the key assigned, so that’s when I started researching the alternatives.

So, the next few weeks will probably be dedicated to pure code while I sort out the input manager.