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!

Modding and Debugging

This last sprint Harry’s been hard at work further crafting our modding API for the game, we’re now getting a good idea of what elements of the game we want to expose to modders.

With our new systems in place we should be able to easily extend our existing APIs and create new ones. Harry has also been investigating and making a start on ways to create solid API documentation for modders.

One example of a system that’s now data driven is the in game applications on the players AR glasses, modders will hopefully be able to create custom apps for their missions that can react to player input to create interesting experiences

We’re super excited about what modders will be able to achieve with the APIs we’ll be providing!

New user interface (again)

We’ve gone through a few user interface systems over the time we’ve spent developing Off Grid, and now we’ve decided it’s time to switch once again. Hopefully the last time…

Until this we used CoherentUI, which was based on running a WebKit browser window on top of the game, allowing us to create our user interfaces using web technologies like HTML, CSS and JavaScript. This definitely had it’s benefits, HTML is an excellent tool for content layouts, and CSS made UI graphics development extremely quick and smooth. On the downside having to deal with asynchronous communication between the game and the UI, and converting all Unity side objects into something JavaScript could understand made things sometimes a bit complicated. We felt that it was a pretty good trade-off anyway, since it also allowed us to expose all of the UI code so that anyone with a bit of web tech understanding could have easily created their own user interfaces and themes.

After spending the past months working on our Lua-based modding API it now looks like it would be a lot simpler for modders if all modding was based on Lua, and you wouldn’t have to deal with all the web languages as well. Also Unity itself now has quite a decent UI system of it’s own (unlike what was around when we first decided to use CoherentUI), which would allow us to do some clever things that might be quite a bit more complicated to pull off using the web tech CoherentUI is based on. So we’d loose easy UI themes, but we felt a more powerful and easy system for building actual game content would be worth more to the players, especially since it means we can provide them with easy tools for creating UI content that fits with the rest of the game… (And who knows, maybe we’ll come up with a nice solution for UI theming as well, even though that’s obviously not the highest priority right now!)

So, we are switching to Unity’s native UI. A task that seems to be a bit more complicated than what we’d first expected, turns out we developed quite a lot of different things for the UI over the last two years and converting some of them hasn’t been exactly trivial. But we are getting there, and it’s already looking like it’s going to be worth the effort, tighter integration between the game and the UI systems has allowed us to simplify our code, and using a more native setup means we get better support for more game-like features, like navigating the UI with a gamepad and smooth integration with ReWired, the tech we use for controller support and re-bindable control mappings, and controller ID etc needed for port to console if they happen.

And the Debug menu mentioned above? Well, with all our Lua APIs around we thought that our debugging console (available as an in-game app of course) could do a bit more than just display logs. So we added an interactive Lua console… That should make testing your mods and missions and other things quite a bit easier, a definite benefit both for us and for modders & level creators!

No screenshots yet, but we promise a few in the next blog post when everything is up and running!

Long long reads

A substantial amount of this sprint was dedicated to going over distribution agreements and other such hearty legalese reading! But it has a fun end-point in sight, it means that we are able to start integrating the SDK’s for the various platforms we are releasing on, which will in turn mean messing about with fun things like XboxLiveID achievements (for the Windows store and potential future console ports) and modding platforms like Steam Workshop.

Accounting innovation!

And it is as dry as it sounds! We moved accounting software to make the whole back-end of running a studio a little less time-consuming in the long run. Previously we were using HMRC’s own tools, which if you are starting your own studio with more than two employees, we can recommend forking out a little extra for a paid software!

Electromagnetic Fields

Rich was at EMF camp, a hacker camp in the UK, to give a talk about Off Grid. The talk went well (after a couple of technical hitches!) and covered using hacking and circumvention tech as game mechanics, as well as the crazy world that the Internet of Things is becoming (with some inspiration from @internetofshit) and why it is bad news for you and great news for Off Grid (from a game design perspective)!

If you are interested, you can watch the talk here, there is a bit of a bumpy start so maybe skip the first minute or so :)

EMF is bi-annual and is definitely worth going to next time if you are interested in anything hacker, maker, or tinkerer cultural.

The camp is fully networked, and ranges from metal forging workshops to 20 foot LED installations of Guitar Hero to robot cocktail waiters and everything in between. The camp pub this year was called the ‘Robot Arms’ and there was an epic retro arcade! Here are a few pics that sum up the festivities.

Rich had the good fortune to be welcomed into the Milliways and LizardHQ camps for rummery and shenanigans, so a big shout out goes to friends old and new for setting up such an amazing space at the camp! Pathfinder proved a new theory of mine that hacking ability and cocktail expertise may correlate closely and McFly kept the beer flowing all weekend.

Credit to
Emma O'Sullivan


for some spectacular images.

Go-Jira! Cumin in Sanskrit…

We moved production and issue tracking over to Jira which has been really good so far, and made for some interesting new project tracking and division.

Fun facts time: Jira is of course the original name for Godzilla, or Gojira, but interestingly is also the Sanskrit name for the spice cumin!

Everything is far more fine grained in the Jira production workflow, which has taken a little getting used to within our particular implementation of an agile methodology. Jira is far more punishing if you aren’t disciplined about task breakdown and completion, which can only be a good thing, but in a small team sometimes you have to be reactive to new tasks. This way Jira tells us off if we are too reactive by showing our workload in a burn-down report. On the upside, we are getting used to this and it will now allow us to track issues and bugs on both the dev and user ends as we get further into full production, which is of-course incredibly important, especially if you are planning on running an alpha!

We have closed this sprint up with some interesting things to complete in the next one, so look forward to telling you all more soon!

Catch you soon,

Pontus, Rich, and Harry

No comments: