Saturday 24 December 2016

Sprint Update - 24.12.16 - Ubuntu Xmas

Our gift to you this year is stable builds across all platforms! The big news is we have been making sure our Linux builds are up to scratch as Rich is off to 33C3 and some of the hardware he might be borrowing to demo on will undoubtedly be running various flavours of Linux for us to put the build through its paces on.

Linuxmas is here

Last Saturday we tweeted out a few screens from the latest Linux build running and we were lucky enough to get this write-up from Gaming On Linux.

We’ll be putting the build through testing on as many distros as we can ahead of release, for a game with the sorts of themes encountered in ‘Off Grid’, and as all three devs are Linux users, making sure we cater to those of you who like to play on Linux is extremely important to us.

Friday 2 December 2016

Sprint Update - 02.12.16 - Workshop til you drop

Hello hello!
This sprint has been all about the behind-the-scenes:  stuff you would never know about while playing the game.  Just as well you are reading this blog then, eh!  We got a whole lot of release planning done and have our road map to alpha defined with greater granularity, at least for an agile project that is! ;P  We have done some early spring cleaning by upgrading our version control servers (in fact, entirely renewing them) and in project terms, we have mainly been working on our platform abstraction, Steam Workshop integration, and cleaning up some of our old props that were using materials inefficiently.

Now as an overview, that may all sound a little dull, but we promise there are some gems in here - especially if you are a fellow game developer running a similarly sized project.

Friday 4 November 2016

Sprint Update - 4.11.16 - Mozzy Mozzy Mozzy, Oi, Oi, Oi.

We have been uber busy and have loads to tell you about, so lets get started!

Most of our work since we last spoke has been towards a build for Mozfest. In fact, this is actually a double sprint update: we ran a sprint for getting the build together and then another for final tweaks and all the promo and prep work that goes in to demoing and running a session at a festival, especially one like Mozfest!

Friday 30 September 2016

Sprint Update 30.09.2016 - BIOS-ecurity hazard

Hello, hello!
This sprint we’ve been hard at work extending some of our core systems and playing with hacking NetDevices. There has been some great progress on how the interactions with internet enabled devices around the level will produce gameplay and we have developed a couple fo new features that we are excited to show you! Read on!

Friday 9 September 2016

Sprint Update 09.09.16 UI so serious? :)

It’s been a funny old sprint this one really, obviously going on ‘holiday’ didn’t get in the way of us continuing to crack on with development and so although we were spread over some 6000 miles the 3 of us managed to put in some fairly exciting changes even while away visiting family on various continents.

Friday 26 August 2016

Sprint Update - 26.08.16 - Lua to the moon!

Hello folks!

Apologies for the delay, we all went on holiday at the end of the sprint and there was some confusion as to who had written up their part of the blog post!


So sorry if you have been achingly awaiting a dev update, it is finally here, and you’ll have another one in short succession at the end of the current sprint to make up for it!

Tuesday 12 July 2016

Sprint Update - 12.07.16 - What has 6 legs and green shoots? Us!


Hoorah! We have been selected by Creative England to join their Greenshoots program in partnership with Microsoft, which comes with a solid amount of funding and will help us ensure we get to our aim of getting the alpha in your hands sometime next year!

This means we can continue working full time, plan towards some kind of release date, and have enough funds to guarantee we’ll actually be able to get the game out in it’s alpha state and that people will be able to get it around next spring/summer (assuming you are brave enough to grab early access copy)!!

Friday 20 May 2016

Sprint Update - 20.05.16 - this monkey’s gone to heaven

“If art is 5, then the performance is 6, and if frame-rate is 6, then code is 7, this monkey’s gone to heaven”

We are pretty sure there are Pixies lyrics about writing a python script to automate colouring a monkey’s face with 200 separate materials for a render test anyway… I’ll check later.

Friday 15 April 2016

Sprint Update - 15.04.16 - Showing off and being secretive

Top secret dev stuff

A lot of this month has been spent working on things we are under NDA over so can’t mention too fully yet.. but the time will come… and there is plenty of other interesting happenings to talk about.

What we did do…

Well, we finished up with the UK Games Fund and demoed progress so far at their event as part of London Games Festival last week. That went really well and it was great to meet some of the other devs that are part of the UKGF first round, many of which are making some very exciting things.
Shoutouts to our UKGF cohort co-conspirators, including Andrew Roper from Spilt Milk Studio, Billy Thomson and Martin Livingston from Ruffian Games, Andreas Firnigl from Nosebleed Interactive, Jon Olive from Mixed Immersion, Olly Bennett from Cardboard Sword. It’s going to be great to see where each of the titles from these devs are in 6 months time.

Thursday 10 March 2016

Sprint Update - 9.3.16 - Mocappin’ and asset snappin’

Well… there has been a huge amount put into the game this month. In fact, it has been intense, a lot of hours, and at times pretty tiring, as things have had to be organised to hit some quite specific deadlines, but the outcome has been an amazing explosion of creativity and progress on the game. So… what have we been doing?

Wednesday 3 February 2016

Off Grid Sprint Update 3.2.2016 - Beginning of a New Era

It’s been a while since our last development update, but there’s a good reason for that… (And it’s not just the holidays we spent recovering from last year and doing a bit of research and planning). Be warned, though, this is going to be a long post!

Christmas is a time for modding “research” (and sharing of course)

We have been aiming to open up Off Grid to modders in as many ways as is possible and manageable for a small team like ours, and so the sprint over the Christmas break seemed like a good time to do some “research” by messing about in some of our favourite moddable games made by small(ish) teams.

We had a gander at games like Kerbal Space Program, and Cities:Skylines, who develop using Unity and have opened up a huge amount of their C# API to modders, but also, more interestingly, KSP and other titles are using Unity itself as the level editor for players (due to it being free to download and use - why build your own?!). As far as data and code modding goes, we started small with a tool mod for Starbound (making the most powerful hammer in the known universe seemed like an important contribution to make ;P) and built up to looking at the quest, codec and dungeon modding structure to see what the good folks at Chucklefish have opened up with JSON and Lua for players to tell their own stories through missions and content.

Happily enough, it would seem the .xml data structures we are using already to store things like NPC personalities and the in game hackable DataPoints (text messages, emails etc.) will hopefully lend themselves quite nicely to a similar approach, and so next sprint we went into for January has been partially targeted at implementing a first pass at Lua scripting for character interactions with the aim of them being moddable… but I suppose we are getting ahead of ourselves…

UK Games Fund

We’d better start with the big news. We recently received a grant from the UK Games Fund to further develop our game prototype. This of course meant some of what we had planned for January needed to go on hold, and instead, we needed to sit down and think through the best ways to use that money. We decided we’ll use it to build some of the missing things that require the most help from outside of our small two-man company, setting things up for level editing & modding support, and dealing with our interactive story introduction and tutorial, which will require good amount of animation, motion capture, and of course sound…

Updating the tech

To get started with this plan we realised it’s time to get our tech up to the latest versions. We’ve been in limbo with the old Unity 4 this far, as we knew the upgrade would require roughly a week of rewriting and refactoring of code due to the way Unity does some things changing significantly. The upgrade also required us to update the sound engine we are using, Wwise. And to do that we needed to get our sound designer to come along and make sure everything is still working like it should.

So, now that’s done, we are running latest Wwise, compatible with Unity 5, and also with the support for building audio for Linux. On top of that we also got our sound banks changed to a better compressed format, shrinking the game builds from around 1.2GB down to less than 400MB. That’s going to make things a lot easier to send over the Internet…

With Wwise up to date we finally had a chance to look at Unity itself. Moving things from one major game engine version to next one isn’t the simplest of tasks, and there are limits to what Unity’s automatic migration tools can do. We ended creating a separate copy of the project and testing different approaches to figure out the exact route we’d need to take to get everything running. A few days fiddling, hours of carefully reading through Unity’s change lists and a couple of tries later, thousands of compile errors in our Unity console had narrowed down to few warnings and things were good to go on the main project.

The main hurdle was dealing with any plugins we had around, sadly Unity doesn’t have much for package management or version control for them yet, so lots of the upgrades were a question of searching for any plugin files, deleting it from the project and importing it back again, moving things around by hand, and generally just guessing and trying until they were all running again.

There were also plenty of new changes from Unity’s side, inverse kinematics needed to be handled in different way so our character controller scripts needed a bit of reorganising. There were a good few simple fixes, things like level loading, and how transparency is handled in shaders, had changed and just needed us tickling a few lines here and there. However what created a bit more difficulty was that the way fog is handled is quite different now, and the shader effect we used for our data view relied on reading Unity’s fog settings to fade the data view out over distance. With a bit more research we now have new version of that shader, this time just calculating the distance from camera to which ever vertex it’s drawing on screen. Seems to look even better than what we had before so that was definitely worth having to rethink the effect and shader mechanics.

…and of course the light and lightmaps changed, as did navigation and occlusion culling and everything else. So all of those systems had to be re-tweaked and baked again to get things moving and looking like they should.

So after all that, things are now more or less up and running with the new engine version, and we are finally able to benefit from all the new features and improvements in Unity 5. There are a few issues that still need ironing out, the small differences in physics require adjusting things here and there, and we’ll probably want to redo our lights and take a better look at our camera settings at some point. But we’ll get those sorted out over time, and new Unity features like multi-scene editing are already making our life easier. And of course things will only get better when we have time to update our rendering setup and other camera effects to get all the benefits of Unity 5’s new lights and visuals.

(And with the sound engine up to date we can now finally make the Linux builds *WITH SOUND* that we’ve been promising all this time. That alone makes the upgrade worth it…)

Lua everywhere

Our old mission system relied on a bunch of custom C# code all around various objects and components in the level - a quick and dirty prototype hack essentially. Not the best setup even from our point of view, but completely impossible for doing any level editing support. The plan was to restructure all that into a single script, but to make things even better we decided to build it with the future modders and level creators in mind.
We always had the plan of using Lua scripts in data to allow triggering custom behaviours and reactions when the files are sent to different characters and devices. So if there’s going to be Lua support in the project, why not build the level & mission scripts around it as well? After all it’s an easy-to-read way of defining any data and at the same time a very flexible language for scripting even complicated mission progressions.

We’ve used another Lua integration package before, but for Off Grid we ended up picking up the very nice MoonSharp. Setting things up was a breeze, and we now have the first version of Lua-based mission scripting working. The long-term plan is to also allow defining most of the character spawn locations, items and data used in levels etc. in the same file, so that’s what we’ll try to get running this next month.

Oh, and while doing that, we also got the Lua support for any network devices in the game done. So DataPoints now have the option of pointing to a Lua file as well, and when any NetDevice receives the file it can run the Lua script to trigger different things. That has already ended up being part of the new way missions are running, but we’ll definitely find more interesting ways of using the feature (TROJAN anyone?!). And obviously connecting that with the AI to trigger character behaviours is on the plans as well, although we’ll have to see if it gets done in the next sprint as part of the level editing/modding work or if we’ll have to work on it a bit later.

Setting up a story

Hopefully the test base for the Lua and modding features will be (at least partially) building the interactive intro with the modding tools. Those of you who have played the early incarnations of the demo will remember the little storyboard/animatic at the beginning. Well, here it is in the flesh, sitting in Unity and waiting to be brought to life!

We spent a some of this last sprint setting up the Apartment scene, cleaning up models and lighting it. there is still a long way to go, but it’s great to see this new scene starting to take shape, we can’t wait to throw some code on all the objects in here!

…and then some small stuff:

Encrypting data files will now automatically generate proper encrypted-looking content, with all the PGP version tags and such in place. This means we don’t have to type all that random stuff by hand any more, and of course it’s also required for any dynamically-created data, like the procedural text messages we are sending to our NPCs…

That’s it for this time, we’ll be back in a month’s time, hopefully with some more news about how our level editing & modding tools and intro/tutorial scene are coming along!