Saturday, 10 October 2015

Off Grid Development Update 5.10.2015 - Eyes in the skies


It’s been one more month in Off Grid development, so what have we done this time? Well, the EGX expo in Birmingham, for example, where we spent a few days displaying the game and doing a bit of live prototyping & development at the same time!

Harbour level

While the prototype level we already have is nice, it’s pretty much impossible to try to jam all the different mechanics we want to have in the game into one and the same level and still expect it to be playable and make some sense. So we thought that building another one would be good idea… And building one where anybody can come and watch us do it would be even better. So we picked another mission from our story, one different enough from the newspaper office mission, and started working on it. Of course we don’t want to spoil any of the story yet, but the location is a cargo/container harbour which gave us more open spaces to work with. Thus far just a whitebox level for testing new features and designing how the level will play, but you’ll definitely see some pics from it later on…


Talking about open spaces, having an open level allowed us to start work on a new enemy type that wouldn’t have worked that well in the tighter spaces of our office level. Drones. Something that can be more directly controlled and affected by data than any human characters would be, and also pretty much a required feature in a game dealing with an oppressive surveillance state.

While they are easier on animation than human characters are, drones required quite different approach from human characters in many places so adding them wasn’t as easy as just dropping our existing AI & animation components on a new model. First of all, they are flying, which makes navigation different from humans. And they aren’t going to move around by running a walking animation loop either…

So, we built new variant of our NPC AI, more fit to control drones, and created a new navigation/movement/animation component to go with it. Lucky for us it’s still close enough to existing characters in many ways, so in the end the drones will use exactly the same AI planning, actions and components apart from the movement and navigation.

Funnily enough, things did turn a bit more Sci-Fi when we realised that the AI we have does require any AI controlled characters to have a personality (which actually just deals with all the background information, motivation tracking and things like that). The drone wouldn’t move until we created a personality for it!

For now the drones will just follow their patrol routes, and after spotting the player try their best to track him and make enough noise to alert an nearby guards to deal with him. Of course we can easily do a lot more with them in the long run. Arming them with tasers would be easy enough, and not as far fetched as you might think, but our plans include lots more interesting options. For starters, being electronic devices connected to networks, they could easily connect to our in-game data tracking system and start following the player based on the data trail rather than using audio & visual information. And their reliance on data opens many more interesting gameplay options as well.

While they are happily flying around for now, our next steps with them are building a navigation setup more suitable for flying things, as Unity’s own Navmesh doesn’t really deal with that kind of things too well. And we are also planning on changing their patrol routes and other instructions to be more directly data-based than the human character’s patrol system is, to make them hackable by the player using our data tools.

New data tools

To compliment the new drones, we added a few more tools to the player’s arsenal. While they aren’t anything too complicated, they definitely are powerful for many purposes.

The first one is the app that allows the player to destroy data points from the world. Available in the apps menu, it simply allows the player to highlight a nearby data point to completely erase it from the game. Handy for removing any data trail you have left behind in order to stop others from tracking you, or for changing a drone’s patrol route by removing some locations from it, for example.

The second one is not found in the app menu but in the player’s file library instead. It gives the player the option to create a copy of any data in the library and place it in the game world. Maybe you’d prefer to misdirect anyone (or anything) trying to track your data for a while instead of just removing your data? Or what about making it look like someone else was there instead of you? Or why not copy some of the drone’s patrol route instructions and send them to somewhere completely out of your way, preferably somewhere where they get completely stuck? Or why not just make them fly in a small circle around one of the human guards just to distract him a bit?

other small changes

Turns out you can’t go up the stairs if you don’t even bother raising your feet to meet the next step, apparently this is what moves a person upwards on the stairs. Which was the exact reason behind the problems we’ve had with our new character movement setup that combines physics, animation and navigation together for animation-based movement that at the same time reacts to physics correctly. We’ll just need to get some walking animation loops for going up the stairs to get that working correctly, but until then we’ve reverted back to the old movement script. Which is a bit confused about this whole “physics” thing but at least navigates it’s way through the levels without issues.

Also, instructions. Not a bad thing to have in your game. So we went through our prototype and added lots of helpful messages to help the player to figure out how the different controls, apps and other things work. It’s not perfect, but considering most of these things will be handled in a separate tutorial level once we get it done, it’s a decent improvement over having to explain everything to new players testing the prototype! And it was surprisingly useful to do this while at the EGX, where we could see what things players had difficulties with and which things they missed in our existing instructions, and then straight away add those in the game, make and deploy a new build, and see how it changed how people played the game moments later. Now that is rapid iteration!

The rest was more small changes, we added some more 3D models into the project and decorated some locations in the office level a bit more, fixed a small issue with some of the guards not moving their arms while walking, and then of course plenty of work on the overall story and our plans for new features and missions. Come back for our next sprint’s dev blog update and you’ll hear more!

No comments: