Showing posts with label level design. Show all posts
Showing posts with label level design. Show all posts

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:

Thursday, 30 May 2019

Sprint Roundup - 30.05.19 - 'Fluttery' will get you everywhere

It's that time again: here is your regular sprint round up of development! Read on to find out what we have been up to...

"UI the long face?"

As promised as one of the stretch goals in our Kickstarter campaign, we've now added our in-game short message social media app, which we've decided to call "Flutter."

Some 'fleeting' in action
Similar to our existing SMS system, it sends procedurally-generated messages using the profiles of non-player characters in the levels. In addition, it sends messages from the rest of the people in the the game world. PLUS we've made it Lua-scriptable (even more so than the SMS system is), and added support for sending custom messages, both from our own game systems and from Lua scripts. So, the messages the player sees can actually provide some useful feedback about something you've just done in the mission, or reflect on some previous choice you've done during the game. They may also help explain what may be going on in some NPC's AI mind at the moment...

Thursday, 14 March 2019

Sprint Roundup - 14.03.19 - Doors of Perception


It's that time again! Here is your regular sprint round up of development! Read on to find out what we have been up to in the last few weeks and if you are one of our backers on the FIRST ACCESS level, what you can expect to see in the latest build update!



Content (Level Design and Art)

  • Created new Character LUTs amd some character variations (as seen above!).
  • Cleaned up on the geometry of the IRL hacker and activist characters.
  • Setup new system for door prefabs
    • Wow this was a big one, but one we have had our sights on a while - the doors and door frames all now conform to sane dimensions and make use of the new nested prefab system in Unity meaning doors and their variations are infinitely easier to create.
  • Lots of work on an early level and tutorialisation of rooting your phone and glasses, and the hacking tools you have to install and learn at the beginning of the game.
  • Some more scripting of interactions with a more neutral NPC than the fairly intolerant guards you meet in other levels.


Gameplay and Mechanics

  • New mechanics for data view trace time & app use and costs. Hopefully this will sort out some of the pitfalls of the old trace time system and instead turns that into a proper game mechanic. Plus the changes give us a way to upgrade player abilities throughout the game while keeping things balanced. We'll test this a bit in action and will then tell you more details. 
    • This also came with some visual prototyping  with Josh Ge's ASCII art and animation editor REXpaint (as you may recognise from his game Cogmind) to try and get an ASCII art / homebrew software feel, we are still playing with this, but it's a nice start:
Prototyping visuals with Josh Ge's REXpaint
  • Added support for using physical inventory items (and the Lua API for scripting what the items do).
    • This helps evolve the game's  "adventure game" like elements
    • This allows for finding and using items which can be scripted now to do pretty much anything. We have yet to add a "combine items" button, but watch this space. Mini crafting system here we come! :0
Speaking of 'adventure game like elements' - Rich talked a little bit about this on the retro gaming podcast last year. One of the host's, Ben, described the game like this:

"Its kind of like an adventure game that is then set within this 3d stealth game - which gives you more fail states than 'well I'm too stupid to figure out this puzzle'.

You can listen here around the 1hour 30min mark.

Modding and Lua API additions

  • The above point to do with physical item inventory comes under Lua API too of course.
  • New scene hierarchy in the Template scene in generated when you create a new mod LevelKit to give a guide to help keep your mod scenes tidy and

Other

  • Fixed NPC prefabs to have the correct navmesh area tags so that NPCs would use stairs again!
  • Lots and lots of small stuff about doors. How their logic is set up, how the player and NPC's unlock them, and making sure they open away from the character instead of hitting you in face etc...
Testing doors!


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, 31 January 2019

Sprint Round Up - 30.01.19 - The FIRST Sprint of 2019


Hello hello, here is your regular sprint round up of development through January!  Read on to find out what we have been up to, and if you are one of our backers on the FIRST ACCESS level, what you can expect to see in the latest build update!

Content (Level Design and Art)

  • Work on workplace level design and early game tutorialisation, mission scripting and character conversations
  • Wrote some new AI states, goals and actions for a nuetral NPC character (using our new moddable, data driven AI behaviours) 
  • Worked on existing geometry in the Workplace level to get it closer to a completed level
  • Paper sketches of new level designs
  • Started grey-boxing on new levels 
Greyboxing a new level

Gameplay and Mechanics

  •  Design work for data view & app use cost changes

Controls and UX

  • Added a crouching first person camera:  the look from point is no longer parented to the rig, which improves camera targeting
  • Reworking of character controller and camera to give finer control
    • Now players have better control of jogging and sprinting both on controller and keyboard and mouse using Space/ B to jog, and repeatedy tap to get a sprint burst 
    • Crawling animations and controls have been fixed to work properly and feel nicer
    • There is a crawl sprint too!
  • Turn animations and transitions in blend trees have been sumplified for better control overall but smoothing and polish is needed still for smaller movements (some finer turning / control has been lost and is to be fixed in next update)
  • Started converting various UI elements to better font rendering and animation systems
  • Support for displaying controls as icons in middle of text in the UI
  • Rebuilt the AppWheel UI to better handle adding and removing apps
Converting the UI to Text Mesh Pro

AI

  • AI function to prefer or avoid particular devices.  Example:  the coffee offer message, sent to a guard, will reduce the cost of the UseCoffee Action, meaning that Guards prefer that Action and will go out of their way to use it rather than alternatives.
  • Added an optional personality requirement to have actions that are only runnable if an Agent has a particular interest (or not!)
  • Added stats to the Agent definition
  • Added generic actions to the Agent definition
  • Added responses (to other Agent's actions), adjusting Agent stats
  • Added reactions (stimuli in the world can thereby adjust Agent stats, based on personality)
  • Added an audio attribute to actions in agent definitions, to be played when they are performed

Modding tools and Lua API additions

  • Added support for loading apps from your current mission (as opposed to the global Apps folder, or app mod)
  • full screen modal window, 
  • Updated gizmo icons in LevelKit
  • Correct scale & rotation for bounding box when editing mission triggers etc.

Bugs fixed

  • Fixed a shader problem introduced after updating Unity

Other

AND:  WE MADE THE BRIT LIST!
http://www.kotaku.co.uk/2019/01/11/games-of-2019-british-games 


Thanks for reading, look forward to seeing you next time!


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, 16 August 2017

Off Grid Sprint Update 16.8.2017 - Imma chargin ma lazer





Heyho! It’s been a long Sprint this one due to various galavanting and laser based activities, so apologies for the adjustment to our usual blogging schedule. The upside is - we have packed an incredible amount in to tell you about!!

Develop 




This sprint started with us heading down to Develop conference in Brighton as Harry was giving a talk on ‘Making a hacking game hackable’. The talk went incredibly well and generated lots of indepth questions from the audience.
We had the opportunity to meet up with all kinds of incredible folk and show them the game, including the ever lovely Dan Marshall who was extremely excited by the game and had these lovely things to say about us :D




That one is definitely going in olive wreathed award quotes!
Harry also found time to appear on Keir Miron (of Darkest Dungeon fame)’s podcast 'The Question Bus’ and was interviewed in a corridor at the conference! You can listen to it here.

SHA2017




We have been pushing a bunch of features forward in the game, especially within the modding toolset, and getting it ready for SHA2017, a hacker camp in the Netherlands that we were invited to.  Rich and Harry spoke and ran workshops focusing on how hackers and modders can use our modding to tools to create interesting hacks that reflect real life vulnerabilities.
The talk and workshops went really well - we learned a heck of a lot and we got a fair few people in using the tools.  You can watch the talk here and we’ll be putting up a full blog post on the whole experience in the coming weeks.

Steelcon

In the run up to this, Rich headed up to Steelcon again to gather inspiration (the SHA talk references how one of the first hacking mods we made in Off Grid was based on a Steelcon talk about hacking the Nissan Leaf electric car by Scott Helme last year). There was loads of interesting brain juice this year, including our friend Darren Martyn’s hilarious talk on Hacking ACS Servers for World Domination and this unnerving talk by Ken Munro from Pen Test Partners about the awful vulnerabilities they had found in IoT sex toys…

Mod hacking workshop with Spoonzy




On top of having gotten a good start on testing the modding tools with Dominic during his work experience last month, we took this a step further and got our mate Spoonzy to come in and apply some hacking knowledge to crafting some hackable devices with the modding tools. Spoonzy spent the day with us and came up with some pretty epic ideas for hacks - we made a start on a couple of them and he prompted a few fixes that we got to work on ahead of our workshops at SHA.

New Networking




This included Harry working on switching the networked tools that allow modders to build their own level changes directly into the game over to our own networking code (much faster iteration time!). This took a little wrangling, but as well as speeding up the workflow, it has put in a couple of checks that prevent potential loss of work. The old way used Unity’s built in TCP/IP networking code and made use of the editor’s play button in the modding project - if you have ever done any Unity development you will know that if you leave that on by mistake when working on objects or values in the scene then you will lose your work when you stop play mode on the editor - the new networking code avoids this pitfall entirely. 

Tools!

We wrote an export tool that can now generate clean versions of LevelKit for us to submit to our steam tools section for the game. Meaning that any half-baked dev content is stripped out and our modders have a nice clean project they can work within.

Spawning




We also found that folk wanted to know what direction characters would face when spawned and so now allow users to visualise players and guards spawn rotation with an arrow marker on the mission object.

Templates




We wanted modders to be able to just jump straight into mission and
hackable object scripting if they wanted to, rather than having to do
any geometry or environment work and so made a template scene so modders
can jump into a working mission with hackable devices already in it,
ready to be edited, scripted and added to. It is just a basic couple of
rooms with a few props and a basic laptop to hack into as an example but
it is a good start. The laptop in it even had the SHA wiki on as the front page :P

All your data belong to us

All networked devices now have a data inventory - this is the first step in making characters dynamically populate the devices in the world with their personal data. This way, when you hack a device you are able to get specific information on the NPCs around you who have interacted with that device, building up a piture of their behaviours and routes, and what data or other devices you might be able to manipulate them with.

No Rest for the Wicked

And one for the books… we fixed guards giving up patrolling after roughly 5 patrol points. We found that they had not been given a place to rest and recoup their motivation so they were essentially lazy guards striking due to lack of coffee!

Progress and Affect

Modders can now update the game progress via lua, which means conversations, objectives, or other triggers and interections in your level can affect another mission. For example, finding a hidden space in a level or making specific conversational choices in a set of CryptoChat messages can be used to unlock new levels and side missions within the wider game. Essentially branching narratives and their effects can be set off by any lua triggers in a level.
We also added an Error checking pass on conversation system (making them now more robust). It’ll now be easier to avoid lua compile errors and get your conversation scripts in the game and conversing properly.

Wiki

 




The other thing we have done is some fairly comprehensive work on getting the Off Grid Wiki to a stage where it is useful to players and modders. We now have a bunch of articles which describe how you can go about making mods for the game. We’ll update you soon once the structure of those articles is coming together!

Character customization

We are aiming to make all characters more customizeable for modders, and want to set up the colors in a way that would require as little as possible special skills or programs to change them for an existing character, while still using a single mesh & single material on each character in game.



Normal textures would do the job, but editing the colors on them afterwards isn’t really for everyone. Vertex colors are easier, but editing has to be done with a 3D modelling tool and creating different color version of a character requires creating a different model (or messing with the vertex color data on the fly through code). Our solution was using a simple texture as color look-up table, so once the characters are set up correctly (by us) all one needs to do to change them is open the texture file in any image editor (even MS Paint would work great for this) and paint the tiles with new colors.
Since we don’t need any detailed textures or anything, we can just assign the UV’s of the models to those colored tiles. And in theory we only need one pixel per color so the textures can be really small. Although to make things easier to work with and avoid any issues with color bleeding when the images are compressed, we settled for a 64x64 texture (the resolution doesn’t actually matter) with 8x8 grid of colored tiles. That’s 64 colors per model (with 8x8 pixels each), which should be more than enough for our art style…




In addition to the color table, we also added support for an additional texture that works the same way, but is used to set the glossiness of the material, and to switch between metallic & non-metallic material.
…and both these textures are of course fully optional, all the characters have default textures built-in to the game so if the modders leave one or both textures out, we’ll just use the defaults instead.

2nd Floor of the Apostle level

If anyone reading this has had a chance to play Off Grid, and made it through our newspaper office level, you might remember the 2nd floor of the building being pretty barren, to put it nicely. Properly decorating that part of the level and adding some actual gameplay has always been our plan, but there’s just always been more important things to do.
Well, this sprint we finally decided it’s time to add some content there. No spoilers, but let’s just say that you can’t just run through that floor any more, and trying to sneak past the guards would be pretty difficult as well. Instead you need to figure out a way to get the guards out of your way. There’s a few possible solutions, like you’d expect in a stealth game, and we thinks there’s room for some more as well.




Other changes & fixes

  • Added a bunch of new sound events for different parts of the UI

  • Text-only lines in the ncurses-like remote connection window are now correctly displayed using the foreground text color (as defined in the device’s Lua script)

  • File viewer UI can now be closed with the “back” button (B button on gamepad, backspace on keyboard), and also closes automatically when the pause menu is closed.

Biz Rumblings

There has been a bunch of production and business development going
on in parallel to all this, loads of interesting folk spoken to about
opportunities for the game, but as always, you’ll have to wait to hear
more about that!

New *MOAR* blog posts

We have decided to shift the format here on the
devblog slightly, we are planning on continuuing with these monthly
sprint updates but maybe trying to make them a little more concise while also expanding on one or two of the items in each
blog post in between each sprint update, so watch this space! We are
going to start with Harry writing up a follow on from his Develop talk,
the kinds of things he touched on, and his impressions of the conference
as a whole, so look out for that!

Speak to you even sooner!
Rich, Pontus, Harry, and Sarah.

Wednesday, 3 May 2017

Off Grid Sprint Update 03.05.2017 - #Winning

Our favorite part of April?  Bagging the Game of Show Award at Bonus Stage!  It was pretty sweet to take part in the coolest new indie games showcase to start - but to take home a prize?!  Awesome. 
We even got a trophy!




That was a great start to the month, but so, so much more has happened since then.  We’ve worked hard on improving the stealth element of gameplay, added to our level kit architecture, worked hard on the save system, and have gotten busy making more levels.  Read on through for all the nitty gritty and make sure you get to the end - there’s even more good news!  :)

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.