Wednesday, 20 May 2020

Sprint Roundup: Spring Character Cleaning!

May we welcome you to the latest OFF GRID devblog!  As always, there are continuous improvements being made, and we hope you enjoy hearing about it all. 

Improving User Experience

The last two sprints have seen improvements in the user experience for players, but even more so for modders.  That also means it helps us in making content - as we use the same tools ourselves.

Most noticeably for everyone, the look and feel of the data view has been improved.  This makes it easier for players to find and access the data they want in the levels, making the whole experience of targeting data feel better.  For anyone with access to our LevelKit and modding API, we have been rewriting lots of our API to simplify the scripts, make sure different functions use consistent syntax, and can be used everywhere.  This reduces the amount of information modders need to write, and automates more of the level setup steps on engine side to reduce the amount of things content creators need to handle.

Character Updating

Another major task has been coordinating work by a few of us on characters, their accessories, LUT colours, and how the prefabs are organised for all of this.  We finally removed the last remnants of prototype characters that have been in the game since day dot too.  It has been liberating to do some spring cleaning!  This has also meant that the full remit of characters in all colours, shapes and sizes are now implemented across the game, AND they can be tweaked and modded to your heart's content!  Next up is fleshing out the rest of their personalities and conversations!

New characters have entered the building!
Character customisation - accessories, hair, and colours can be changed.

NPC Direction

NPC direction has been improved when performing certain actions, like interacting with a device or walking through various points.  As the navigation mesh system isn't made to have an agent to face a certain orientation or to be in an exact position at the end of its path, it's needed to tweak the object direction and position with code, and at the same time control the animation manually to make everything seems as fluid as possible.    The facing orientation is really important in patrolling because it's a game design pillar for stealth games to control where the player can navigate through a level.  It's also important when the player is interacting with devices - for the animations to seem correct, the NPC needs to be in a certain position facing a specific direction.

We also added a gizmo to help us visualise in the level each direction the NPC should face at certain points such as interacting with interest points, as you can see in the screenshot below:

Arrow indicates the direction this non-playable character should face.
This helps us and modders to line up the characters correctly when setting up the patrol routes and interactions.

Improving and cleaning the NPC creation system

This is really Phase One of a bigger feature and task that we are going to talk more about in the next blog post, but for now we are going to focus on the NPC part of it.  We are developing a more flexible NPC system to have various types of NPCs with different action, behaviours, or items.  It's really important to have diverse levels, and also to give good tools for the community to create dynamic mods.  In terms of developing the game, this is also really helpful to us because it's a good opportunity to improve and clean some code.  This has already resulted in improving the AI search actions and debugging the code in a faster way.

What will you see in the next build? 

Expect a new build for all of you FIRST ACCESS folk next month - we'll give you a heads up as soon as it's done.  Here are some of the changes you can expect to see:

Characters
  • All protoype characters removed and new characters implemented across the game
  • Characters available in all colours, shapes and sizes now in game - ready to be tweaked and modded as you please
  • Improved creation of NPCs:
    • Ability to create different types of NPCs with various actions and behaviours in a flexible way
    • Some components are added in runtime, using the information in Lua scripts
    • Simplification, merging, and removal of some NPC scripts

Gameplay and Mechanics
  • Support for scheduling things to happen based on date / time (in addition to the existing "do after X seconds" option)

Controls and UX
  • Fixed issues with data view visible range and actual targeting range not matching
  • Improved visibility of data & data trails
  • Fixed data view range not always resetting to minimum correctly
  • Fixed data view shader using negative transparency with missing/bad UV's on meshes

AI 
  • New system to control the NPC direction at certain actions:
    • It improves the movement before the NPC interact with a device
    • Gives more control in the guard's patrol
    • Gizmo added to visualise the desired direction 
    • Cleaner organisation and seperation of NPC functionality, which should make debugging various parts of the codebase easier

Modding and Lua API additions 
  • Lots of Lua scripting API cleanup, with more consistent and less verbose syntax for things
  • Requirements for level creator / modder to set up certain things have been removed and are now handled automatically instead

Other tasks and upcoming events

  • Rich did a presenation on modding and mod communities for Tentacle Zone :  
  •  
     
  • We submitted to Steam Games Festival - fingers crossed!
  • Moving and tidying of all Semaeopus and OFF GRID organizational documentation to a new system

Tonight (Wednesday the 20th), we will be demoing OFF GRID and our Milliways mod during the World Game Night:  Made in London Edition event put on by Playcrafting.  If you're free, join in - this session is all about UK games and their makers!   Check it out:  https://www.eventbrite.com/e/world-game-night-made-in-london-tickets-102541967786 


Thanks for reading!


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!  Thank you!