Thursday, 20 September 2018

Thursdays = Dev Stream Days!


That's right, Thursdays are Dev Stream Days! We'll be chatting all things Off Grid, show you in-game play, hacking, modding, and more...

Here's what you need to know:


Every Thursday

What time:

5pm BST / 12pm EDT / 9am PDT


Ask questions via twitch, or in our Discord's #hack-the-planet channel! Join the discord here:

ICYMI: We've done a couple dev streams already! One featured hacker Darren Martyn, Pwnsauce of LulzSec fame, and in another, Rich intro'd the game and went through some basic lua device scripting.

Videos are also posted to our YouTube channel after the fact - hop on over there and have a gander:

Hope you can tune in!

The Off Grid Team 

If you haven’t already - be sure to wishlist Off Grid on Steam - each wishlist makes a big difference to us, and we really appreciate your support!

Monday, 3 September 2018

Discord = OPEN! Dev chat TODAY 9pm BST / 4pm EDT

Good news!

We've been having fun today with a little soft launch of the Semaeopus discord server!

We invited our newsletter subscribers in for a little *exclusive* dev AMA session earlier - and now we're ready to welcome the rest of you out there in the big, wide world.

Join us in Discord!

Get your questions ready...

The devs will be online again at 9pm BST / 4pm EDT / 1pm PDT today to welcome you and answer any qestions you have!

Look forward to chatting with you soon!

If you haven’t already - be sure to wishlist Off Grid on Steam - each wishlist makes a big difference to us, and we really appreciate your support!

Wednesday, 22 August 2018

Sprint Round Up - 22.08.18 - Refreshed and Ready

When you spend so much of your time behind a screen and a keyboard, a true break from it is an absolute requirement every once in a while!  Just as Pontus hit the woods in Finland last month, this month Sarah and Rich met up with family and spent a week camping in the Rockies. 

Highlights included multiple excited loud-whisperings of 'MOOSE!' while wildly gesturing at a black mass in the trees, only to get closer and discover a cow!  Luckily, plenty of real moose were also spotted throughout the week. 

At the end of it, Rich had an afternoon in Boulder and got a chance to meet up with some local devs, too.

Then it was back to work, of course! 

And so it's time for another sprint update!  Here's what's been checked off the list this sprint:

Level Design

  • Utilised ProBuilder to clean up old geometry and fix z-fighting issues
  • Improved upon player route through existing levels

App System

  • Rebuilt the App System - apps are now actually fully driven by the Lua scripts
  • Expanded the Lua API to add more features specifically useful for apps (but of course available for other systems as well)


  • Data-driven work on AI, which included:
    • Making InterestPoints general
    • Creating Agent profiles to use and/or fix these points


  • New artist on board!  Yesss!
  • New character models completed that will be part of a surprise reveal in the future!  
  • New character concepts for LUT variations of moddable characters

Bug Fixing

  • Fixed multiple bugs and inconsistent behaviours with apps a bunch of essential biz dev and planning tasks.


Now we're focusing on the busy sprint ahead as we gear up for some big upcoming deadlines.  A couple of us are headed to EMF at the end of August for a weekend of making, breaking, hacking, crafting, ingeniuty and fun.  If you're planning to be there too, get in touch with Rich on twitter and ask to play the demo!

Thanks for following along!

The Off Grid Team

If you haven’t already - be sure to wishlist Off Grid on Steam - each wishlist makes a big difference to us, and we really appreciate your support!

Thursday, 26 July 2018

Sprint Round Up - 26.07.18 - Hot Devices

This sprint someone (Pontus!) spent a good chunk of it hanging out by a lakeside cabin in Finland.

The rest of us weren't envious AT ALL, of course, while we plugged away at our tasks while melting in the unusually hot English climes!  Here's what we accomplished:

Monday, 18 June 2018

Sprint Round Up - 18.06.18 - Cheat to complete!

This sprint included a major milestone… playing the game from start to finish! :D

That may be stretching the truth a bit, and included a bit of cheat… but here’s the detail on that, along with the rest of our work this sprint:

Wednesday, 13 June 2018

Sorting out motivational issues

Hello! It’s Pontus here this time.

You’ve already read about us recently making a trip to USA for GDC and PAX, and about the push for new content and polish we did before that. As things go, that kind of quick development tends to mean lots of new stuff is added at the last minute, and sometimes maybe not tested in every possible situation. Or there’s a good chance there are some odd bugs and things that only appear after a while, or in very specific conditions. Things that in the long term would get noticed, added to our bug list, and eventually fixed… but in a 4-week rush, things sometimes go less than perfectly and some features might end up being a bit buggy.

In multiple ways, sometimes.

Most of my sprint was spent on fixing biggest issues we found in our PAX build, and most of that didn’t end being much to talk about. But one of the bugs ended being a bit more interesting to figure out, and while I’d usually prefer talking about design, I though some insight on this side of game development could still have some value. So, this is going to be more or less accurate story of our guards not behaving as intended, as I saw the issue through bug reports on our Jira board, and watching people play the game & testing things myself afterwards trying to figure out what exactly was going wrong. And also a nice example of how the most obvious explanation often isn’t quite true!

Friday, 25 May 2018

Saving (and Loading!)

Hi all - Steve here.  I’m a programmer working on Off Grid - and I’ve had the pleasure of working on save systems recently.  :)

Ha!  This is really one of the short straws of game development.  When I was at Sony, it was almost a rite of passage; these were the days that not only did you have to save and load, but you were responsible for ensuring things didn’t die when the memory card (remember those?) was pulled out mid-operation.

Prior to this month, we had the beginnings of a save system in place, but were aware that certain things didn’t seem to be working quite as they should - so I took a look.

What I discovered was that we kept a save in memory as well as writing it to disk.  This is a good thing - loading a checkpoint is faster.  But a side effect was that there were two code paths to reinstating a save - to load it from disk, or to just reference the save data as game data.  The danger with this is that the in-memory data can reference ‘live’ game data, which means the save on disk diverges with this during gameplay.  Lots of copying data later, the bits that weren’t working quite correctly now seem much happier.

The other work I’ve done was on a system level.  Saving and loading requires making a list of all the files available. Previously, we loaded all of these into memory - but as we cannot know how big they’re going to be, this will eventually cause us all sorts of problems. I’ve instead created a header at the top of each save file, containing the information we need to present to the player. Load the first 1000 bytes or so of each file, grab the header, close the file.

Saving and loading done then? Certainly not!  We will still have new data that needs to be added to our save structure, and I bet there are still some bugs in there.  But I’m confident that we are on firmer ground than we were a month ago.

Til next time!


Thursday, 17 May 2018

Sprint Round Up - 17.05.18 - A different approach

Hello loyal devlog readers!

We’be been blogging about for awhile now, and think it’s time we change up the the way we’re approaching it.  There’s SO much going into each development sprint that we want to make it easier to understand what we’ve been doing.

From here on out, at the end of each sprint, we’ll be putting together a roundup of the development achievements each sprint, and then breaking the detail out into individual posts every week or two.  It means you’ll get more regular updates from us, and they should be a bit more bitesized and cover a specific theme or area across the last month of development.

Keep an eye out for Steve’s next post on save systems - coming soon!

Now for the sprint round up:

Monday, 30 April 2018

Devblog 30.04.18 - STEAMing Ahead!

As you can probably tell from our other posts on PAX East and GDC, there has been a fair amount of jet setting done for conferences and shows that broke up our regular development rhythm, but that doesn’t mean there hasn’t been a lot of dev work in the interim!

Now you NPC me, now you don’t

We’ve been working up new characters, ready to populate new levels and keep on with the content push. Below is another harbour worker that Josh has been working on the rig for.

And of course, thanks to our new character colour setup making use of the colour look up tables we have setup for creating easy variations, means that this character isn’t just a harbour worker, he can have many jobs!

PAXEast 2018!

As part of our month of travels, Pontus, Rich, and Steve all made it out to PAXEast to show off the game.  It’s a really friendly and inviting show and we’d definitely recoomend it.  We were lucky enough to get to show the game as part of a little collective of friends all put together by Kinifi Games, called Figs & Co, run by husband and wife dev team Hollie and Chris Figueroa, those two are a total powerhouse, and we are so proud to call them friends!!

A nice thing about PAX is the airport is a 10 minute ride from the conference centre and the free airport shuttle drops you pretty much at the doorstep of the Boston Convention and Exhibition Centre (BCEC).

Hello Boston!
The setup!

Grownup Developers Conference?

We’ve had a busy month with travel to the US for events!

Rich and Sarah attended GDC for the first time, or atleast attempted to, and well, it was ok…

The event itself is huge, and there were a lot of friends and colleagues to catch up with, but to be honest, the fringe events were better than the core event itself based on this experience, specifically how non-inclusive it was for Sarah, a working mom, and core member of the Semaeopus team. But before we get to that…

Friday, 16 March 2018

Marching on to the US of A!

Hello!  We’ve got a whole lot of fun stuff coming up and it’s been a busy few weeks moving the game forward and prepping for all of these exciting things to come.

We’re headed to the US very soon - we’ll be attending GDC in San Francisco all of next week.  It’s the first time any of us from Semaeopus have made the trip over for GDC and we’re looking forward to it.  There’s going to be a few opportunities to get your hands on the latest build during GDC week:

  • If you’ve got tickets to the SOLD OUT(!) GDC Experience Mixer on Wednesday 21st you’re in luck!   We’ll be there ready and waiting for you to play.
  • We’ve got a few ‘pitch up and play’ events in our schedule, too - follow @OffGridTheGame + @RichMetson on twitter for updates on when and where.
After GDC, we’re headed to PAX East
in Boston from April 5-8th
and Off Grid will be showcased as part of Figs & Co

We can’t wait!  If you’re attending, stop by, say hi, and play the game! Rich, Pontus and Steve will all be there ALL FOUR DAYS with our lastest demo at the ready. 
Now, on to all the juicy details on what we’ve been up to and what you might just see while playing the new demo…

Wednesday, 21 February 2018

Dev Blog - 21.02.18 - Upping our Profilers

It’s devblog time! 

Much of February has passed since the last sprint, and in that time, hearts and precious metals were shared across hipchat, though none were valentines from one dev to another, nor sadly, were they photos of our hard-earned Winter Olympic golds.  They were all lowpoly art, handcrafted by our stellar intern Josh, as he helped us prep marketing materials and create props for the game.  He’s been hard at work and done an awesome job for us. Thanks to our multi-cultural dev team, however, we did learn that Valentine’s Day in Finland is celebrated as ‘Friends Day’ - this is a notion we like.  And if you’re wondering, there’s fans of Team GB, Finland, and USA cheering across our virtual office spaces!  :)

Here’s what we’ve been up to:

Tuesday, 23 January 2018

Dev Blog Post 23.01.2017 - Drones and pwns

S’been a while, eh!

We decided to extend this sprint in the way we often do over christmas so that the team has a bit of time to experiment and perhaps take on a few tasks that require a good bit of thinking time. It’s paid off as usual, and so we have some great developments in the game to share with you with this blogpost. Read on for all the juicy details!

We are all directors now

We were very secretive some time ago (nearly 2 years back actually!) about how we were in a small set of selected developers given access to an alpha version if some new tools in Unity. Well…

Originally the tools were called ‘Director’, and with a lot of experimentation and some fairly comprehensive bug reporting they eventually became Unity Timeline, which Unity devs have now been enjoying since last summer!  We are now at the point where what we learnt from experimenting with the original Director tools can be put to good use. If you have played the Off Grid demo anywhere, then you will have seen the still frame animatic for the intro level which sets up the story of the game. We had a mocap session to get all this action captured and now that the Timeline tools have matured (and, more importantly, are stable) we are busy pulling this all together. The opening sequence of the game is going to change dramatically over the next couple of builds - how exciting!

To Octree or not to Octree

Steve had one pretty chunky task to do over the past month or so, and it’s been getting the drones to be substantially more drone-y.

So far we have worked on the basis that drones are just characters that happen to be hovering, but this means we lose the opportunity to move vertically and get to places that characters can’t, or via routes that they are unable to take. So the task at hand was to remedy this. Navigation meshes are two-dimensional, so we needed to take a new path - navigation volumes!

Using the magic of octrees, we subdivided each level down to the smallest size that contains no collidables, or down to a single unit cube, whichever is bigger. Then, each cube is tested to see which cubes it is adjacent to, to create a graph representing all the nodes. After that it’s simple - run A-Star on the network, and it’ll find a route through.

This will be available to LevelKit, so drones are accessible to all! There’s a few tweaks and kinks to work out, but overall it was a really satisfying feature to work on and should really change the way the game plays. You can run, but you can’t hide! Well you can hide. It’s a stealth game, after all.

Next will be to get them to move in a more dronelike manner, and perhaps optimise the navigation a little. But that may have to wait until after Steve’s put his cameraman hat back on for the upcoming sprint!

So much modding going on!

Josh has been hard at work testing the modding tools and refining his mods. In particular he expanded the museum of hacking he has been making.

The museum mod, which he initially designed to be just an interior, has expanded to allow for any future hackable devices to be added to it, no matter their size!

Josh then turned his attention to improving and developing the transport station map. The map has changed quite a bit since whiteboxing and still has a way to go. For a first attempt at a full level mod it is fairly ambitious due to it being a fairly large map with multiple ways to complete the same task.

The station has grown quite a bit to allow for more room for the guards and the player to navigate. This will also hopefully allow for a more interesting interior and gameplay possibilities.

Originally the apartments around the level were going to be just blocks that looked like apartments, but now some of them interiors to allow the player to find hidden data files or to find some higher ground to plan how they will tackle the mission.

The trainyard is still very much in progress, but has also changed quite considerably. The main additions to the train yard include a new walkway that allows the player to navigate to all 3 platforms. A warehouse has also been added which will include some puzzle elements for the player to complete. This is replacing the old puzzle element which involved moving the train carriages up and down the tracks as it was a bit clunky and confusing.


In the last sprint, Pontus redesigned the character profiles and our data files & SMS generation to handle metadata about the character personalities embedded in data files. That’s working pretty well, and we already built a quick app for testing this. So it’s time to take things a step further, which is why Pontus has spent this sprint working on the game design for how we’ll actually handle metadata collection and character profiling as a player experience. And how that will then tie in with adding a password cracking feature when the player connects to a remote (or local…) device using our SSH app.

The basic idea is that as the player collects different data files, the included metadata is automatically used to build a catalogue of character profiles, over time adding knowledge about new characters, and their personal information, their likes and dislikes, and pretty much whatever background info we (or modders) choose to add.

All the collected information will be available for the player to view at any time as a new tab in the pause menu, so it’s directly useful, for example, to try and guess what kind of approach might work best for distracting a specific guard away from your path. In addition to that, the amount of knowledge you have collected about a character is also then used to determine if you’ll be able to access devices belonging to that character. After considering calculating the access as a proportion of known metadata VS all existing data about a character, and realising that this would cause a few odd situations, we settled for a fixed limit for access, and allowing this to be set in each device’s Lua script so if the same character owns multiple devices, some can have easier, and some more difficult, passwords. We’ll likely also add an option for a device to require some specific piece of information instead of some count of any knowledge, but this should be used as a special case option in missions as it requires the mission creator to make sure that exact data is available to the player at the right time.

A fairly interesting side effect of this design is that it is kind of realistic, in the sense that it’s going to be easier to collect enough information about characters who have more metadata defined in their profiles. So, the more you share about yourself online and in social media, the easier it is for someone to learn enough about you to start guessing your passwords and to use the knowledge for identity theft and so on. And at the same time characters who have shared less about themselves (or, the mission creator has been more lazy ;)) will be more difficult to learn about, as you are more likely to just run into the same few bits of knowledge rather than learning something new.

Another interesting feature here is that your library of character knowledge will be persistent, so anything you learn about a character in one mission will be carried over to future ones. While this requires us to do a bit of a better job on the UI side to keep things manageable for the player, it also serves to create a longer game play loop, where social engineering can happen over a longer time span than just within a single mission.

Finally, we’re probably going to add few different apps for gaining access to devices, in the sense that the one based on knowledge about characters (so, basically just guessing badly chosen passwords through social engineering) is just going to be one of the tools available for the player. We’d also like to include other tools that target specific vulnerabilities on devices, and perhaps a late-game one that just uses a direct access to government-collected data.

Big News

With all that dev news it’s worth pointing out that we have some other big, juicy news coming soon. We are sooooooo close to being able to announce it that the anticipation almost hurts!

You can find the newsletter signup page here!

If you aren’t already on our newsletter, please sign up!  If you are and you have any friends who you think might be interested, then please share and help us reach even more people anticipating the game!

Ta ta for now,

Rich, Pontus, Steve, Sarah and Josh.