Showing posts with label bugs. Show all posts
Showing posts with label bugs. Show all posts

Thursday, 20 June 2019

Sprint Roundup - 20.06.19 - Information Underload

We are back with another Sprint roundup! Loads of progress to tell you about and a lot of great stuff to poke and test out in the newest build if you are a First Access backer, so let's get to it!

Working on Information Underload

Now, bearing in mind the game is still pre-alpha - one of the most frequent pieces of feedback we get from first time players is a sense of information overload, and that it takes about 20 minutes of play time to really break though and "get" the game, but once there they love the depth.

Information overload

This is unsurprising seeing as the demo level that we show people drops you in the mid-game in order to give enough of a tech demo and playground, and has very little tutorialisation in it, other that some dense walls of text to set the scene for those interested.

Many people who bear with it really get a kick out of the moment when the game "clicks" for them, it can be quite rewarding to feel the pieces slot into place as you work out how Off Grid mechanics can be used and combined to your advantage, but it's not optimal that it takes so much perseverance to get there, and this is something we have always hoped a good opening to the game would help solve.

In steps our first pass at tutorialisation!

Friday, 21 December 2018

Sprint Round Up - 21.12.18 - The LAST Sprint of 2018


Twas the last sprint before Christmas, when all through slack
there were messages pinging, of snow in Finland
tasks have been completed on Jira with care
with hopes of increased wishlists for the new year


...we're not poets and we know it, but all in good cheer!   Pontus has decamped to his native Finland and the snow is plentiful!  There's a few us of here in merry ol England that are snow jealous.

Finland = Winter Wonderland

In this sprint, there were lots of tweaks and updates as we prepped the roll out of the FIRST ACCESS programme for our Kickstarter backers, as well as plenty of essential documentation and tasks. So without further ado, here's the last Sprint Update of 2018:

App System


•  Apps can define cost per action, and any continuously-running actions can apply cost over time.
•  Updated App scripting wiki page to match with the recent App system changes and to better explain all the features

AI

• Added generic actions to AI definitions (to perform tasks, change state, without the need of an InterestPoint)
•  Added stats to AI definitions (to track various attributes in a data driven fashion)
•  AI documentation

LevelKit

•  Built the "Semaeopus Testing Facility" level in LevelKit as an example for modders, and as easy place to test new modded content and features
•  Changed the LevelKit Tool to have a dropdown menu of different Districts for the mission so people don't need to check the options from wiki and type it in
•  Did a complete review of all the props and models in LevelKit:

  •  Made sure Models are not importing new Materials
  •  Gave a box collider to things big enough to need one
  • Created a Prefab of everything  
  • Added everything to Collections, cleaned up and re-sorted Collections
Organising materials in LevelKit

FIRST ACCESS

• Sent FIRST ACCESS keys to relevant backers
• Fresh build of OFF GRID with LevelKit tools for FIRST ACCESS users
• Created public Trello board for modders and FIRST ACCESS players to request features and report bugs

The best NDA return e-mail we received!  :D

Character Controls

• design and planning for improving character control

Bug Fixing

•  Fixed game crash in Map screen.

Other

•  Final itch.io build, and then added back all features & content that was disabled for it.
•  Explored documentation generation
• Loads of improvement and additions to the documentation on the wiki
• planning and research on offering a slacker backer option for people to be able to get into FIRST ACCESS post-Kickstarter (more news coming soon!)
•  A team holiday party at Beef & Brew that left us all bursting!  No worries, we took the leftovers home.  Waste not, want not, folks!

A note on FIRST ACCESS: 
 If  you are eligible for FIRST ACCESS, you will have
 a) backed OFF GRID at the PENTESTER level or above on Kickstarter and
 b) already received an e-mail with instructions on how to join!

If you find that e-mail and you have time to dig into things over the holiday season, please do!  Sign and return your NDA, and we'll endeavor to send over your Steam key in return as soon as we can. 


...and that's that!   We're still going through the holidays, but taking it a little easier than usual to enjoy the time with families and friends.

Thanks everyone.  We wish you all the happiest of holidays!

The OFF GRID Team 

p.s.  There's a HOLIDAY GIVEAWAY planned!  We've chatted about it in our discord - and it's soon to be announced.  Sign up to the newsletter to get the details first!



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!

Tuesday, 11 December 2018

Improving AI Performance

Hi all, Steve here!  Here's a look into what I've been working on recently: 

There's been some monstrous performance spikes in our AI, and I've spent time over the last month working to mitigate this issue.  Two significant changes have been made to improve this:

1 - the addition of a pool of Dictionaries to store states, and
2 - making each state item immutable

This vastly reduces object creation, which is slow, and reduces the number of objects in existence, which helps reduce memory fragmentation (another Bad Thing) - which, being C#, is harder to control than in C++.


Dictionary Pool

So what's a Dictionary Pool, you may ask! Well, at its simplest (which this is), it's a big list of pre-made Dictionaries, each with a flag on to indicate if it's being used.

When we want a Dictionary, we grab one from the pool, put it in a list of 'in-use' Dictionaries, and mark it as being used. When the object using it is destroyed, we mark it as free, and put it back in the pool for someone else to use. The key here is to be very strict on who is using your object! It's critical that nobody is using it when it's marked as free, or the whole concept breaks down.

Immutability

And immutable states?  Immutability is another weird software-engineer-y word. In english, it means something that never changes. But that's perhaps misleading when it comes to thinking about objects in Unity - what use is an object you cannot alter?

The answer is that while you can't change the object, you can create a new one to reflect this change. This means you have precisely one instance of any particular combination of object.  For us, this means that instead of creating hundreds of thousands (no exaggeration) of states, all duplicates of one another, we create... about seventy. The overhead of querying a Dictionary for the instance of the state we want is much, much less than creating a tiny object, then destroying it, repeatedly.



These two changes weren't trivial, as such, but were fairly self contained, and only produced a handful of super frustrating bugs that I had to then work against for a week or two.

Back within 60fps, but still a lot of garbage to deal with!

But the good news is that performance improved drastically!  We are now back to 60fps within the editor on my machine, mostly. Which was a relief because I feared for a moment or two that I'd accidentally extended the AI system in such a way that it would never be useful in a finished game, which would have been embarrassing.

-Steve

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, 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!

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.

Friday, 2 December 2016

Sprint Update - 02.12.16 - Workshop til you drop

Hello hello!
This sprint has been all about the behind-the-scenes:  stuff you would never know about while playing the game.  Just as well you are reading this blog then, eh!  We got a whole lot of release planning done and have our road map to alpha defined with greater granularity, at least for an agile project that is! ;P  We have done some early spring cleaning by upgrading our version control servers (in fact, entirely renewing them) and in project terms, we have mainly been working on our platform abstraction, Steam Workshop integration, and cleaning up some of our old props that were using materials inefficiently.

Now as an overview, that may all sound a little dull, but we promise there are some gems in here - especially if you are a fellow game developer running a similarly sized project.



Friday, 4 November 2016

Sprint Update - 4.11.16 - Mozzy Mozzy Mozzy, Oi, Oi, Oi.

We have been uber busy and have loads to tell you about, so lets get started!



Most of our work since we last spoke has been towards a build for Mozfest. In fact, this is actually a double sprint update: we ran a sprint for getting the build together and then another for final tweaks and all the promo and prep work that goes in to demoing and running a session at a festival, especially one like Mozfest!

Friday, 26 August 2016

Sprint Update - 26.08.16 - Lua to the moon!

Hello folks!

Apologies for the delay, we all went on holiday at the end of the sprint and there was some confusion as to who had written up their part of the blog post!

:P

So sorry if you have been achingly awaiting a dev update, it is finally here, and you’ll have another one in short succession at the end of the current sprint to make up for it!

Wednesday, 11 November 2015

Off Grid Development Update 11.11.2015 - Networking



One more sprint mainly focused on background systems, but this time at least it’s something pretty integral for the game we want to build, and something we’ve been needing for a long time.

Wednesday, 25 March 2015

Sprint Update 23.03.2015 - Last of the Winter Bugs



We weren’t only dealing with software bugs, we were dealing with ones that cause runtime errors in the human body. Rich got a fever that put him down for a large part of this Sprint and so most of what we got completed was down to Pontus’ herculean efforts.

Friday, 9 January 2015

Sprint Update 09.01.2015



Happy New Year! We extended our last sprint to run into January so that we could tidy up a few tasks at our leisure over the break and so that means it’s time for our latest Sprint Update!

Monday, 8 December 2014

not a bad day...



Today’s progress: Improved framerate by 10-15 FPS, reduced build size from 2.2GB to 1.1GB, fixed video playback problems we’ve been having and added keyboard controls to the game.  Didn’t get much work done on the data mechanics that were on today’s schedule but still not a bad day…