Wednesday, 28 August 2019

Sprint Roundup - 28.08.19 - I AM Controlio

Welcome OFF GRID fans, we are back with your regular dev update. Lots to tell this time around. Plenty of nice new features in both the game and the modding tools, new content, and some pretty crucial fixes, as well as a special edition modding stream we collaborated on with our First Access modding community in the Discord!

Want to hear more? Read on...

Giving you "the feels"

Character controls, and what some people like to term "the toy", are incredibly important, especially in a third person game where you see the character all the time and the camera revolves around that entity.

Walking in a Unity wonderland

A good "toy" in any third person game is two systems, character movement, and camera movement (in a first person game for instance this is just one system) and sometimes these two systems can conflict, especially when trying to get animation driven movement to follow camera direction. Anyone who has played early versions of OFF GRID will know that we left the movement in a "passable" state for a long time while we focused on AI and data mechanics, well, in recent months, the character controls have finally been getting some love. We got our friend Mike Robinson (of Rekim/ Pool Panic fame) in to hone in on this stuff and he overhauled the two systems for us to get them feeling good!

To get the the bottom of things he stripped out all the input curves and other curves except the controller dead zone, simplified the stick to world position code right down to just use the local eular y from the player and camera instead of the inverse transform stuff we had before. A portion of the direction now gets added to the player's rotation directly outside of the animation system. The amount added is based on the pose mode. More for walking, less for running, even less for crawl. He stripped out the checks for about-turns, set off directions etc, which were previously causing over-compensation and are no longer needed because the turn now nice and quick.

We have now set it up so the head look at returns to straight on when the direction is over a threshold to avoid the weird snapping rubber banding from before. Less comedy gazing through your legs now we're afraid! With all that in place we were still getting a little jittering from the camera and player fighting. We moved the player logic from Update to FixedUpdate which smothed it out (although we had to move the inputs back to update otherwise the buttons would only work on physics updates!).

The camera we haven't finished tweaking values for yet. It may still be a little snappy in places, but you should feel some improvement.

And so... we'd love your feedback and thoughts on it! If you are a #FirstAccess backer please pull the latest update on the testing stream and let us know what you think, is it an improvement? Is it worse? Is there anything that still sticks out as needing particular attention in the character and camera controls? Jump in the Discord ( and let us know!!

Adding Character 

We have been adding to characters a bit over the last sprints, and here is no exception, we set up some systems for designers / modders adding accessories to heads, and for devices adding props to hands.

It's important to have flexible systems that will help to give the game more visual variety quickly and easily, for both developers and modders, so we added new dynamic visual elements to help to achieve that. Now it's possible to have multiple head props attached to any character (yes including the drone!). These props can be hair, hats, glasses and earpieces, anything that will work to be fitted to the head bone. So it's possible to make many combinations.

The props are set in the mission script with their prefab names in the specific character section, and they will be shown attached to the character when the game starts, there is no limit to the quantity of props used, but usually it's recommended to only use one type of head prop at a time. A usage example and the list of available props can be seen on the following wiki page.

Drones need love too.
To add to this, some new visual elements were also added in the device and character animation systems, so that when NPCs are interacting with a device, the device can attach an item or prop to these interaction animations and the hand being used in a much more dynamic fashion than before. An example would be, if an NPC interacts with a soda machine to drink a can of soda, then the soda can will appear in the hand of the NPC when it picks it up and when it's drinking it, but if the NPC goes to a water machine then a bottle of water will appear instead. The interesting bit is that the device itself is deciding this, meaning devices can be set up to hand some odd things over to characters in different situations or states.

Again, if you are a FIRST ACCESS backer interested in modding, please check out these systems and let us know how you area finding them. Are they intuitive? Have you reached any limitations? We are keen to hear!

New levels on the way

We have had some specific focus on level design and content creation recently, which is always hard to talk about without giving away some spoilers.

After all the changes we've done to our prefabs, and all the other systems in game, the old harbour level some of you might have played (or at least seen in our past blog posts) has gradually fallen into more and more of a neglected state, like some forgotten-about rusty, old, industrial... harbour. We need a harbour for the game, so this sprint was the time to start getting it back into shape. Considering how much work was needed, we decided to scrap a lot of the prototype geometry and just rebuild it from scratch. Which should be good news for anybody who might have played the old level, since now you'll end up with a completely fresh level to play instead... :D

About to take the stand

We have also been developing a courthouse level, anyone who has caught the Dev Stream recently may have caught glimpses of this in progress. We have taken a stroll around it while other hacker comrades have been on the stream, as the level itself is based on real courtrooms we visited while showing support to our friend Lauri Love during the court case against his extradition.

Means of Production

There has been a heck of a lot of organising to do since the last devblog, both internally and externally with the modding community.

We have done some scheduling and product management improvements. There has been a lot of small internal changes and reorganization of our epics and backlog as a couple of new team members start sinking their teeth into the project. More on this on another blog post to follow!

The Milliways Mod stream was always on somewhere at camp...

Meanwhile we had some gearing up in preparation for the live stream of the Milliways Mod. We made plans to help a couple of modders from our community recreate part of CCCamp 2019 inside OFF GRID. The whole thing went fantastically, and we had a bunch of people watching from camp on a screen at the Milliways dome. We even had people voting on the scale and height of different structures in the mod, and sending reference photos of camp as the mod was being built to help add detail.

You can read up on the process and the plan on our wiki page about it. You can check out the streams and watch the modding process here, and if you are tempted you can pull the repo and make a contribution or base your own mod off of it (more info on the wiki page linked above)!

In the latest game and LevelKit build : 

So, what can you expect to see in the next build of the game and modding tools?

If you are a #FirstAccess backer you might expect to see some of the below next time you boot up. But most importantly we really would like you to check out the controls tweaks and post thoughts in the Discord.

Additionally are you one of the lucky people that got to experience a weird stutter in the camera in the last 2 months? Turns out it was Garbage Collection (a C# method of memory management) and so if your machine was effected by this we would love to hear if you are still experiencing it, or if our optimisations have fixed it for you.

Other than that, here the usual release notes to summarise:
Controls and UX
  • Updated character movement scripts to make for much tighter and more direct feel.
  • Camera control code also tweaked to deal with some of the fighting between the two schemes.

    • Devices giving objects to characters - some devices now can add an item in the interaction character animation.
    • OFF GRID's social media messaging system, Flutter, got some attention as we took a few days to focus on writing for it.  There is more variety in the procedurally generated "tweets" from NPCs now.

      Modding and Lua API additions 
        • Head props - Now it is possible to add multiple head props to any character (yes including the drone!), this increases the variety you can give to any character and it helps to create more customisable missions.
        • Player Path tool - The player path tool can help in the planning out and creation of a level by giving the ability to create a visual aid showing the possible paths that the player can take. It has a couple of handy features, such as the creation of multiple paths in the same level or text in the path points too.

          Bugs fixed 
            • Performance improvement - The game's performance was improved in this sprint, as we had had some bug reports of a stutter on a few different machines. Theres still plenty of work to do this area, but the game presents a more fluid gameplay experience with less noticeable framerate spikes.

            That's it for now, we'll be back soon with some more dev news 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!

            No comments: