Tuesday, 8 October 2024

OFF GRID DEV BLOG - "Hacking IRL"

Hello folks! We’ve been so busy pushing forward with OFF GRID that it’s been hard to find the right moment for an update—but here we are, and a lot has happened in the last four months! We teased a bit in the interim, but now we’re ready to dive into the details.

First up, we had an amazing time at EMF Camp, the UK’s largest outdoor hacker gathering, where we ran workshops, caught up with friends who cameo in the game (mc.fly, pathfinder, Lauri Love, Darren, et al.), and connected with the wider community. We’ll have a full retrospective post coming soon, but in the meantime, there’s even bigger news…

We're extremely proud to announce we’ve secured funding from Ufi to develop a companion experience to OFF GRID that takes players deeper into the world of infosec (in parallel to how OFF GRID takes players deeper into the world of hacker culture). Interested? Then read on!

Team Updates

We have some team updates, our three lovely volunteers, Elias, Mellissa, and Diogo, had their work experience with us come to a close, they made some fantastic contributions to OFF GRID and the studio and its other projects at large. We have also had our producer Raquel move on to new adventures at Brazilian outsourcing giant Kokku. While we’ll miss them, part of being a small, independent studio is helping talented people grow and take the next step in their careers. We’re incredibly proud of all they’ve accomplished!

As is the way with chi and the movement of energy (yeah man!), we have been incredibly lucky to have new energy come in and fill this void. We’ve welcomed Edvin as a junior environment artist, and long time friend Jay Springett has also joined the team. Bringing with him some deep expertise in worldbuilding and cross-media storytelling. Jay is probably best known for his involvement in Solarpunk’s early origins, he’s also been a contributor to reports for BBC R&D and the Canada Media Fund. He’s been able to jump in and inject his operations expertise into production management and beyond for OFF GRID: Red Team, this new extension of the core OFF GRID game.

Without further ado, here is what we have been up to on the core game in recent months

Core Systems

App System overhaul, part 2

Some of you might remember that we did a redesign and rebuild of large parts of the game's app system last year (if you missed that, then read more from the blog post: OFF GRID: Off Grid Dev Blog - "Still Alive and Hacking"). After that there were plenty of more pressing issues that needed dealing with first, but we finally got to doing the second part of that overhaul, dealing with how apps work in first-person mode.

As nice as the radial UI we had for selecting apps in the first person mode looked like, it didn't really fit well with how the apps now work. First of all, it required the player to first select a target, as it would then automatically show apps appropriate to that target type. However we've moved the control over which targets the player can see at a given time to the currently selected app, so that created a bit of a chicken-and-egg problem here. Next, having to manage two separate lists of apps, assigning them to the radial UI and the normal app dock separately, was unnecessarily complicated. Even more so on the Lua scripting side.

So it was time to clean up the design, and with the way the apps now work, we realised there was actually no reason to have that separate UI any more. We could just as well enable the one and the same app dock in first person mode as well. That means no longer having two different ways how apps work, and how they are used by the player. No need to assign them to two places separately. No more need to define if they can be assigned to dock or the radial UI and setting default states for both, resulting in simpler and cleaner Lua code for modders to deal with as well. Sounds like a win.

Well, as with everything else in game dev, every solution creates some new problems of its own...

The problem we now had was that most of the gameplay is designed around the 3rd-person perspective, giving the player a lot more view around their surroundings, and especially on any guards that might be approaching them from behind. Our goal for the 1st person view was always to allow the player more time to think, to search for useful data, and to take a more tactical approach compared to the direct and fast interactions the apps have (especially after this redesign) in 3rd-person mode. To help with that, after the player had selected a target in 1st person mode we paused the game time to let the player consider their next move safely. Now that we no longer select the target first we had to choose between two options. We could pause the game the moment you enter 1st person mode (but that could be way too powerful of a tool, being able to freely search and hack anything in game with all the NPCs paused. Or we could not pause the game, and lose that bit of safe time for the player to think we wanted to have in 1st person. Neither option sounded great.

Got time?

If we can't stop the time, and we can't keep the game running normally, then that only leaves one option; doing something in between. Which is exactly what we did. We slow the time.

Now entering the 1st person mode changes the game to slow time mode, giving you more time to look around, select targets, and interact with them. But still not unlimited time, all the AI characters in the game are still moving around and going on about their business, so you can't just switch to 1st person mode in the middle of an open area and hack away. If there are guards around, eventually they will spot you and catch you.

This solved all the problems, at least on the game design side. Changing a game that was built to either be running, or paused, to handle an extra slow time state took a bit of work and refactoring various systems.

The hidden tech behind it all

The last part of the app system changes was less to do with gameplay, and more to do with Lua scripting and other things going on in the background. Removing the radial UI already cleaned things up a bit, but we still wanted to simplify the code needed to define what apps the player should have in each mission. And we also had some unsolved situations regarding apps in modded levels, or in special cases like tutorials where one might want to override what apps the player would normally have and instead set them to specific ones.

So we also ended moving defining app's starting states in the app Lua script into the mission scripts, and then added some helpful Lua API calls for setting the apps for the mission more easily, rather than having to call a state change per each app (which wouldn't even have worked when dealing with modded apps/levels, as nobody could possibly know which apps the player has in their game.

As part of implementing that we needed to figure out the logic for how the player's apps are saved between missions. We needed to make sure apps given to player in one mission and the way the player has assigned them to their dock carry over to the next mission correctly, but also handling cases where the player ends up playing a mission that defines different apps/configuration, and then returning back to player's configuration again on the following mission. And of course making sure it doesn't all break if some previously used app isn't available any more (either because it was a custom app defined in one mission only, or because it was from a mod the player has uninstalled).

This is all working now (apart from a bit of more work needed on our save system side), and while it all got a bit complicated on our end, the good thing is it all pretty much "just works" from the player's and even from the modder's perspective.

Layout and Props and Art?

We’ve been hard at work on scripting and interactive objects, which, as you can imagine, brings its own set of challenges—like figuring out how to deal with the ‘haunted’ office drawers in IntSecur’s poltergeist-infested office.

We’ve been fleshing out our production wiki to document everything, ensuring smooth sailing as we continue building out the game. On top of that, we’ve started refactoring the character customization system, making it more intuitive for building levels. We’ll dive into more details in an upcoming blog post, but for now, check out the new LUT layout in action on the Jen model.

We’ve also added sliders to adjust body shape for greater variety in character design!

 

Lastly, Stef has been working on our level building updates has this to share:


Studio Announcements

Ufi Supported sidequest

We’re pleased to announce that, with funding and support from Ufi, we’re taking OFF GRID in exciting new directions. We’re developing a vocational training companion experience that will sit alongside the core game. Think of it as an ARG (augmented reality game), where we use experiences and media outside the game to guide players deeper into the world of information security, pentesting, and hacker culture. Specifically, we’re focusing on the ‘attacker mindset’—the skills gap that often goes overlooked in conventional cybersecurity training.

Ufi has pioneered the use of technology to advance vocational skills, coining the term “VocTech” to catalyse the movement. We love how this project blurs the line between fiction and reality, helping players jump down the rabbit hole and explore infosec techniques in a hands-on, immersive way.

OG:RT

OFF GRID: Red Team (OG:RT) is an experimental subgame of OFF GRID, where we’re testing innovative mechanics with ARG elements. The goal is to mirror real-world cybersecurity challenges in a narrative-driven experience, helping players develop an ‘attacker mindset.’

Though OG:RT is currently a standalone project, it’s feeding directly into the development of the core game. Some features we’ve been planning are already in use, and the project has opened new funding avenues that are allowing us to accelerate Off Grid’s development. This initiative has also enabled us to bring new talent, like Jay and Edvin, into the team to help push things forward.

Get Involved

We’re looking for people interested in following the development of OFF GRID: Red Team and gaining early access to our alpha builds. Some participants may be selected to play the game and provide feedback via follow-up questionnaires, helping us shape the project as it evolves.

If you’d like to get involved, sign up here

Even if testing isn’t for you, you can still join our mailing list as part of the form, to stay up to date on all the latest developments.

We’ll be back soon with more details on our time at EMF Camp!

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, 29 May 2024

OFF GRID Dev Blog - "Fresh Blood"

The sun is shining, our team has expanded and Off Grid development is in full steam ahead. It's a good time for some updates from us, don't you think?  

This is a long one so here is a summary of what you'll find below:
  • Pontus - On Core Systems
  • Melissa - On Layout and Props
  • Diogo - On Gameplay Scripting
  • Stef - On New Level
  • Studio Announcements - EMF Festival!

Wait did you say more team members?

For the first half of this year we were joined fulltime by Melissa on Art and Diogo on Level Design. With their help we have been polishing and adding content to the main campaign in Off Grid, but more on that later.
We have also been assisted by Pedro, who was with us early in the year working on scripting and tools, Elias, who has recently joined the team and is getting stuck into the Modding side of Off Grid and Raquel, our producer that is keeping us all on track! 

Pontus - On Core Systems

Since the previous blog post, we've done a lot of background tech changes, including switching to a new version control system and remodelling our build pipeline to match, especially in the context of how our main project works with the Levelkit project we provide for modders. While not necessarily an obvious change from the user perspective, this will help us making sure we can always make Levelkit builds that match an exact Off Grid version and that are guaranteed to work nicely together.

We've also already tested this setup with some internal test builds, which means a long list of various small bugs, fixed here and there, and all kinds of game features tweaked slightly. Most of them not really big enough to write about here.

One of the more directly interesting ones from player's perspective is a new Tasklist app (making good use of our ongoing overhaul of the app system). As the old joke goes, "there's an app for that", and now there is one to help you keep track of your current objectives without having to go to the pause menu for that.

Melissa - On Layout and Props

We decided to improve the Apartment level by making new beds, furniture and personal items (clothing, shoes, notebooks, wall art, posters). We wanted the place to feel more like home and add dimension to the characters, especially the bedrooms, after all you can tell a lot about somebody by looking at their rooms!

Joe’s room is simpler and more practical, while Jen’s room is messier with a mix of girly/tech stuff.

  

Joe and Jen's Rooms Work in Progress


We also updated the vending machine art and worked on some in-game branding for food items.


Vending Machine New Art
New Vending Machine and Snack Art
Coffee Machine New Art
New Coffee Machine

Diogo - On Gameplay Scripting

The last few months have been focused on improving the early levels of the game, and with that comes tutorialization to introduce the player to Off Grid’s core mechanics. A particular section to highlight is when we teach the player about being careful with the noise they make when running.

 
Sleeping Guard and in game UI
Avoid the Sleeping Guard!

To better tie this tutorial to the rest of the level and to the overall story, we used it as an opportunity to further showcase the characters’ personalities. We start by getting the player to unexpectedly come face to face with a guard (who luckily is sleeping on the job) before having them engage in a small conversation with the always sarcastic figure of Smedley, where they learn about this core part of the game through a humorous interaction.

Stef - On New Level

As well as all of the above, we have been working away at a new level location: the Harbour. 

So...the Harbours name is Harbour?
So...the Harbours name is Harbour?

Harbours are interesting locations, they are like a living thing, designed to keep goods constantly moving, constantly shifting, pulsing and transporting stuff around, much like a human body. We rely on them for so much, our harbours are precious, and in constantly increasing demand - after all how do you think your Temu orders are getting to you? As such, they are always looking towards technology for solutions...lovely, hackable, technology.



Here are some early screen captures of work in progress. We have some unique and interesting plans for the harbour, but we don't want to spoil the surprise too much!

Studio Announcements - EMF Festival!

The Off Grid team is once again joining the Milliways Village for some modding fun. We'll be using it as an opportunity to play test our modding tools and immerse our team in the world of digital security to help inspire our level design and story.

Until then we are working away supporting the CCCamp Mod to show off there. If you are also going to EMF come find us and say hi! We'll be in the Milliways Village.

The CCCamp Mod

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!

Friday, 15 December 2023

OFF GRID Dev Blog - "Happy Trails"

Howdy y’all, we are probably (definitely) well overdue a new devblog update! It’s been a busy time in the Semaeopus offices (I mean when is it not!? We are making a big video game after all...and funding it by making other people's videogames in parallel) but these last few months have been especially packed on the OFF GRID front. We’ve built new mechanics, polished art, been on international adventures and welcomed a host of new talent onto the team. Here’s some highlights:

Time For a Quick Vent

While we've always talked about trying to focus on realism, and are perfectly aware that air vents rarely are large enough for a person to fit in, what would a stealth game be without being able to crawl through some air vents?

Scene from Die Hard of John Mcclain crawling through a vent.

We've had this feature planned almost from the first versions of the game, but now that we are trying to get more of the game levels completed it was the time to make sure it all actually works, and that our designs for air vent dimensions etc are usable.

This has meant a fair bit of adjusting things as far as our character controller and camera behaviour goes while crawling. The movement was fine for hiding behind some cover in more open spaces, but the tight spaces and corners inside air vents are a whole different issue so a lot needed to change to make it easier to navigate your way through the vents. We've adjusted both the movement code (and controls), tweaked our animation setup, and locked the camera more tightly close to the player to avoid clipping through the air vent walls and to make sure the player has good visibility in front of the character while moving.

Work In Progress shot of Vents being placed in level.

...and talking about good visibility, it turns out air vents are really, really dark. And keeping things feeling suitably dark for hiding, while at the same time having enough light for the player to see what's going on, can be a bit of a challenge to balance. So we've set the camera to adjust more to different lighting conditions, just like your eyes would adapt in real life, and also cheated a tiny bit by adding some light around the player. This works reasonably well, and we'll certainly get things to look and feel even better in the long run. Same goes for the movement and control.

The main thing is that from now on you can finally do what every action film hero and stealth game main character has been doing for ages, crawl your way through the air vent networks in buildings to reach different areas conveniently out of the sight of the guards.

CCCamp 2023 and Modding in Off Grid

Stef headed over to Germany this year to get stuck in at The Chaos Communication Camp, which describes itself as ‘a five-day open-air event for hackers and associated life-forms’.


CCCamp in Unity - in side the Off Grid Mod

While there she did a talk about Off Grid’s development history and the modding options we have available in game. You can watch the talk here.


Stef waves to camera at her talk
 

Following the talk Stef held two workshops where she walked people through the modding and setup process of Off Grid, the Level Kit tools and how to get involved with a CCCamp specific mod built by Mcfly of the Milliways Village. 

 
The mod in action, with modder McFly's character wandering CCCamp
 

We are very excited to see this mod coming to life as people populate it with all the things they love about CCCamp. We can’t wait to see it grow as more CCCampers get involved and add themselves to the project. Details on the Mod and how you can get involved, are on our wiki.

Modding with unity…on the Steam Deck!

A highlight of the CCCamp was when two campers, who wanted to take part in the workshops but didn’t have their laptops with them, managed to get everything up and running on their Steam Decks instead. Yeah, including a full download of Unity! That’s dedication to modding.

 
A Steam Deck running Unity, Off Grid and the Off Grid Level Kit
 

Once again thanks for your continued support friends! Lots of things are speeding up now in OFF GRID development, and with Semaeopus as a whole, so be sure to keep your eyes peeled for new and more regular announcements.

 

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!

Friday, 14 April 2023

Off Grid Dev Blog - "Still Alive and Hacking"

How long has it been since we've posted something in our dev blog? 10 months?! Sounds like it's time to remedy that and give all of you an update about what's going on in the Off Grid development!


 Shall we get the excuses out of the way? It's not you, it's us. Jokes aside, we have been juggling other projects to keep the company wheels rolling and put bread on our tables. This meant that we needed to spread Off Grid development a little thin to focus on contract work. Ultimately that would have made for some boring and heavily redacted blog posts! (Gotta respect those NDAs!)

Our bad. We never planned to be this quiet for this long, and we know radio silence is not a good look for an indie game team. So, we are sorry about that!

The Good news is that not only are we still alive but Off Grid development has been picking up pace. We even expanded our team. So let's introduce our newest member:

Wednesday, 1 June 2022

OFF GRID devblog "Keep it Clean"!

Hello and welcome to the latest devblog.

As we are now firmly into tech and feature lock and finalising all systems to help speed up developing content, this last couple of sprints we decided to get to grips with the AI and get it cleaner and easier to write and use for gameplay. It made sense to do a pass to tie up loose ends and close the door on some of the AI designs or features that had been left open ended (thanks to the modular system they can always be further added to later!). But in digging around and doing code review, we came across a few other things that deserved some attention too...