tag:blogger.com,1999:blog-60200382402126811842024-02-21T11:43:25.341+00:00OFF GRIDOfficial dev blog for the indie stealth gamepschonhttp://www.blogger.com/profile/08580495231185295429noreply@blogger.comBlogger134125tag:blogger.com,1999:blog-6020038240212681184.post-87029930073321691682023-12-15T19:22:00.001+00:002023-12-15T19:23:14.000+00:00OFF GRID Dev Blog - "Happy Trails"<div><div style="text-align: left;"><p style="text-align: left;"><span style="font-size: small;">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:</span></p></div>
<h4></h4><h4 style="text-align: left;"><span style="font-size: large;">
Time For a Quick Vent</span></h4><h4 style="text-align: left;"><span style="font-size: large;"></span><span id="docs-internal-guid-3400ba17-7fff-ab4f-420a-9f1268678679" style="font-weight: normal;"><p style="line-height: 1.38; margin-bottom: 12pt; margin-top: 0pt; text-align: left;"><span face="Arial, sans-serif" style="font-size: small; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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?</span></p></span></h4><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP3GsVeRFrL9Qj2Pk3XFfCZb4IvS0JuGvl7Jcf3O65xRSUjLzi-8O39CROH3pSDfB7M7TgTwb2qmhTemm53_DePhOWCeNlGahlQ2tbV5Op7L-lqTn-yHsxrLyzrg2yDkObBtYhXdtYVSy6vrHAvbqr7J_V2P8XXHwmHcyYOIE9TY6Y3aYesVojHYMFcKCQ/s780/DieHardVents.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Scene from Die Hard of John Mcclain crawling through a vent." border="0" data-original-height="438" data-original-width="780" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP3GsVeRFrL9Qj2Pk3XFfCZb4IvS0JuGvl7Jcf3O65xRSUjLzi-8O39CROH3pSDfB7M7TgTwb2qmhTemm53_DePhOWCeNlGahlQ2tbV5Op7L-lqTn-yHsxrLyzrg2yDkObBtYhXdtYVSy6vrHAvbqr7J_V2P8XXHwmHcyYOIE9TY6Y3aYesVojHYMFcKCQ/w320-h180/DieHardVents.jpg" title="Film Vents" width="320" /></a></div><div><span id="docs-internal-guid-bab11e4b-7fff-76e9-d213-5632cee6cc93"><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"><span face="Arial, sans-serif" style="font-size: small; white-space-collapse: preserve;">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.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"><span face="Arial, sans-serif" style="font-size: small; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8DSjPUOqCztZk1WAPlQn_R8WDEtmdIPHNmo5F4v4trl3SM2O0o4oB2uTbUHHBwwcizqQ4dPMItbOf22hscmR01WmUeh5lmYZ6XI8qQu58xG56iiQHzVuDOMTEXAIKKDjFDaCev5iRj3VLMbr6RUCpy3QdbBOIapDGWqboIE3H2EYilL1eZ3Q9ts5b6ja9/s860/Vents_WIP_Screenshot.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Work In Progress shot of Vents being placed in level." border="0" data-original-height="498" data-original-width="860" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8DSjPUOqCztZk1WAPlQn_R8WDEtmdIPHNmo5F4v4trl3SM2O0o4oB2uTbUHHBwwcizqQ4dPMItbOf22hscmR01WmUeh5lmYZ6XI8qQu58xG56iiQHzVuDOMTEXAIKKDjFDaCev5iRj3VLMbr6RUCpy3QdbBOIapDGWqboIE3H2EYilL1eZ3Q9ts5b6ja9/w320-h185/Vents_WIP_Screenshot.png" title="Vents" width="320" /></a></div><p></p></span><div style="text-align: left;"><p><span id="docs-internal-guid-bab11e4b-7fff-76e9-d213-5632cee6cc93"></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"><span id="docs-internal-guid-bab11e4b-7fff-76e9-d213-5632cee6cc93"><span face="Arial, sans-serif" style="font-size: small; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">...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.</span></span></p><p></p></div><div style="text-align: left;"><p><span id="docs-internal-guid-bab11e4b-7fff-76e9-d213-5632cee6cc93"><span face="Arial, sans-serif" style="font-size: small; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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.</span></span></p></div></div>
</div><h4 style="text-align: left;"><span id="docs-internal-guid-c840a042-7fff-eb33-b458-a91d5e3dff7a" style="font-size: large; font-weight: normal;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;">CCCamp 2023 and Modding in Off Grid</span></span></h4><div style="text-align: left;"><p style="text-align: left;"><span id="docs-internal-guid-0d7494e7-7fff-5319-b02a-b1f1307f1577"><span face="Arial, sans-serif" style="font-size: small; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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’.</span><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span></span></p></div><div><span><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><br /></span></span></div><div><span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66VK3vk42NElaSFRB2SQgEO9qMBnThp0tBvnIm6MToebBSHk5GQdFWzdGXyWPKPDSaBcZlZ1BZ6tMvT02jXmV0MzP_9H0BF5bClISZmCsHMPT6p_qXYPXE5OVRCDukfSTxYc8SpB5mMXswYRSOIhXlDcOcCOjRwNtSc2pxZdyFrqNaA0z8FH49D1sZ-fc/s1156/Copy%20of%202023-06-21_Bernardo_CCCScene_CentreOfCamp02.png" style="margin-left: 1em; margin-right: 1em;"><img alt="CCCamp in Unity - in side the Off Grid Mod" border="0" data-original-height="498" data-original-width="1156" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66VK3vk42NElaSFRB2SQgEO9qMBnThp0tBvnIm6MToebBSHk5GQdFWzdGXyWPKPDSaBcZlZ1BZ6tMvT02jXmV0MzP_9H0BF5bClISZmCsHMPT6p_qXYPXE5OVRCDukfSTxYc8SpB5mMXswYRSOIhXlDcOcCOjRwNtSc2pxZdyFrqNaA0z8FH49D1sZ-fc/w320-h138/Copy%20of%202023-06-21_Bernardo_CCCScene_CentreOfCamp02.png" title="CCCamp Mod in Off Grid Game" width="320" /></a></div><br /></span></div><div><p style="text-align: left;"><span style="font-size: small;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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 <a href="https://www.youtube.com/watch?v=co7Q4n03fEg" rel="nofollow" target="_blank">here</a>. </span></span></p></div><div><span><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><br /></span></span></div><div><span><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiw-gx7KAuE3lwf_KTPHzHBgd0tLHXhg_5_sTzY_7OpBei5g8zht4XVAinACJ3qOACnb5m0a6J7b7TcTOIEcisOytpipAHG4RN1wgLfx4qbtYK5FDsDajkIdiSR-nExoYmUN04a7qe7hc_bk2XSGIuhAiSwkLd-HzOBcYMReS6T8sIgA3xdfaXNnGNxkI0/s2000/CCC_Stef.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Stef waves to camera at her talk" border="0" data-original-height="1500" data-original-width="2000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiw-gx7KAuE3lwf_KTPHzHBgd0tLHXhg_5_sTzY_7OpBei5g8zht4XVAinACJ3qOACnb5m0a6J7b7TcTOIEcisOytpipAHG4RN1wgLfx4qbtYK5FDsDajkIdiSR-nExoYmUN04a7qe7hc_bk2XSGIuhAiSwkLd-HzOBcYMReS6T8sIgA3xdfaXNnGNxkI0/w320-h240/CCC_Stef.jpg" title="Stef gives a talk in Germany" width="320" /></a></div> </span></span></div><div><p style="text-align: left;"><span style="font-size: small;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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. </span></span></p></div><div><span style="font-size: small;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span></span></div><div><span><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio3Hf4_7vpsLPT0GLJwsk0AJqIDHKG7VlPt9zpnR3Y6SdfWpFmZ84MppXSmF8dAhXRbtMosHCGj3pcQr2WNhhvJh2WFLiEnAfPlQg9eXP8LpnnPk3boXSj_h1Vh5O3GDYgScsJXbjxot-3bDbbk0OUEk-lqTuTH_KLuZfQuRvhYTyP_TXUxEXcM7fljpLk/s820/Copy%20of%202023-08-21_Rich_CCCMod-McFly.png" style="margin-left: 1em; margin-right: 1em;"><img alt="The mod in action, with modder McFly's character wandering CCCamp" border="0" data-original-height="727" data-original-width="820" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio3Hf4_7vpsLPT0GLJwsk0AJqIDHKG7VlPt9zpnR3Y6SdfWpFmZ84MppXSmF8dAhXRbtMosHCGj3pcQr2WNhhvJh2WFLiEnAfPlQg9eXP8LpnnPk3boXSj_h1Vh5O3GDYgScsJXbjxot-3bDbbk0OUEk-lqTuTH_KLuZfQuRvhYTyP_TXUxEXcM7fljpLk/w320-h284/Copy%20of%202023-08-21_Rich_CCCMod-McFly.png" title="McFly in Off Grid's CCCamp Mod" width="320" /></a></div> </span></span></div><div><p style="text-align: left;"><span style="font-size: small;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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 <a href="https://wiki.offgridthegame.com/index.php?title=Milliways_CCCamp_mod">wiki</a>.</span></span></p></div><h4 style="text-align: left;"><span id="docs-internal-guid-af05660d-7fff-0f9f-b42a-5e84c3d74cc2" style="font-size: large;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;">Modding with unity…on the Steam Deck!</span></span></h4><h3 style="text-align: left;"></h3><div><p style="text-align: left;"><span id="docs-internal-guid-af05660d-7fff-0f9f-b42a-5e84c3d74cc2" style="font-size: small;"><span face="Arial, sans-serif" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">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.</span></span></p></div><div><span id="docs-internal-guid-af05660d-7fff-0f9f-b42a-5e84c3d74cc2"><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span></span></div><div><span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB4MqANxEEFQlNWnN3LPFQlfFKCCXDmQ4_QSz7QmZKu3791nOPqpDuBFhM6sOjsPhGM3vfBEuZFxYdQ91iwU5r0HmBfAJDfKjYVy10sO65JZaeuT2RDACTqXQ6JBYNWEVcx8ycvJRFkkApED9xWvRE1kpU1MU5bJ_apHz_iGfDAcjobisEjT36YQgw895M/s799/CCC_OffGrid_OnSteamDeck.png" style="margin-left: 1em; margin-right: 1em;"><img alt="A Steam Deck running Unity, Off Grid and the Off Grid Level Kit" border="0" data-original-height="799" data-original-width="597" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB4MqANxEEFQlNWnN3LPFQlfFKCCXDmQ4_QSz7QmZKu3791nOPqpDuBFhM6sOjsPhGM3vfBEuZFxYdQ91iwU5r0HmBfAJDfKjYVy10sO65JZaeuT2RDACTqXQ6JBYNWEVcx8ycvJRFkkApED9xWvRE1kpU1MU5bJ_apHz_iGfDAcjobisEjT36YQgw895M/w239-h320/CCC_OffGrid_OnSteamDeck.png" title="Modding with a Steam Deck" width="239" /></a></div> </span></div><div><p style="text-align: left;"><span id="docs-internal-guid-af05660d-7fff-0f9f-b42a-5e84c3d74cc2"><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span></span><span><span style="font-size: small;">Once again thanks for your continued support friends! </span></span><span><span style="font-size: small;">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.</span></span></p><span><span style="font-size: small;"></span></span></div><div><span><span style="font-size: small;"> </span><br /><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><br /></span></span></div>
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Stefhttp://www.blogger.com/profile/15490373028703541555noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-73997806137420154252023-04-14T11:25:00.003+01:002023-05-25T10:04:31.242+01:00Off Grid Dev Blog - "Still Alive and Hacking"<p></p>
<p>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!</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu3n6K-A1iBtjAhrPURrj1zyFjK4HFIlqAaaqXZtesfn4rGlTF98N1YrGhwQ3wBaEumnaekQwbHjBwx9kqtJj6EQ4an4xCj0_1f5HvFsFThIXIbx-PJXnYKatZ7qBOqbEDGYefLd0DERCdHKa7Fk1szw-NwzTZbWAssugzYCdiYDZA4BuSa5hcB1eFiA/s591/image.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="85" data-original-width="591" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu3n6K-A1iBtjAhrPURrj1zyFjK4HFIlqAaaqXZtesfn4rGlTF98N1YrGhwQ3wBaEumnaekQwbHjBwx9kqtJj6EQ4an4xCj0_1f5HvFsFThIXIbx-PJXnYKatZ7qBOqbEDGYefLd0DERCdHKa7Fk1szw-NwzTZbWAssugzYCdiYDZA4BuSa5hcB1eFiA/w400-h58/image.png" width="400" /></a></div><br /> 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!)<p></p>
<p>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!</p>
<p>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:<span></span></p><a name='more'></a><p></p>
<h2 class="atx" id="stef" style="text-align: left;"><span style="font-weight: normal;">Stef:</span></h2>
<p><i>tap tap</i> Is this thing on? Hi, I'm Stef and I'm an Artist! My background is in 3D art, VFX, production and filmmaking, so I'll likely be wearing a few different hats as and when it's needed, but for now I've been getting to know the project, learning it's unique quirks and doing some layout and modelling. I feel really lucky to be joining at this stage of development, because the rest of the team have already built so many awesome tools and created tons of processes which means I get to focus on all of the fun parts of making art and none of the pain! What a dream!</p>
<h3 class="atx" id="bring-life-to-a-worldand-passive-aggressive-post-its"><span style="font-weight: normal;">Bring life to a world...and passive aggressive post-its</span></h3>
<p>A game environment should tell a story. Look around anywhere you visit IRL and I bet you could tell a lot about the people that use that space from the things they left behind. When I approach a new set piece, I try to imagine the people that use the space, are they tidy? Do they love where they work? Are they slackers or jobsworths? What about the quality of the space? Is it run down, or high tech, were the contractors well paid professionals, or cowboy builders on a budget? Knowing the vibe of the place, helps you make artistic choices, but also brings personality and character to your locations.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg56IebeyKmNOZG8X7XmBXy5EMbxmpwM5NEnVjux_IHs89mHFHMJxCxqtPK0awFxOlMNe44qaGSofD_GrB41-YvOgEY2QSpcxIiLGBWoZZimynEvXh32GbPvybZMw1uXLrBqLydEVFDZADeEIon61L2djq4W26hO2hxSTGMPOBu7D12hLFBNZqMl4LHGw/s1920/wip-kitchen-post-its.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg56IebeyKmNOZG8X7XmBXy5EMbxmpwM5NEnVjux_IHs89mHFHMJxCxqtPK0awFxOlMNe44qaGSofD_GrB41-YvOgEY2QSpcxIiLGBWoZZimynEvXh32GbPvybZMw1uXLrBqLydEVFDZADeEIon61L2djq4W26hO2hxSTGMPOBu7D12hLFBNZqMl4LHGw/w400-h225/wip-kitchen-post-its.png" width="400" /></a></div><br /><p></p>
<p>This is the Ascent workplace kitchen. (Work in Progress) Can you tell that the people here don't like their jobs, or each other, very much?</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ZFqF6YwviGSoWLTb7LXopZsbIhuSg-m1LwvK6Gj-bZ60yWwmen8NqGWps16MMyl4bLqFFyw9Vf436tSq74vcHZneOIof1nyyWQnJD_Rc2hsaYAAHT39_g8WlIgh3QFjaVbm2CHa_zs_pqKUyJs-s6vSP4b4a5k5jfcmr_H5EAs-UIg12esMVB1JgpA/s1920/wip-conference-area.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ZFqF6YwviGSoWLTb7LXopZsbIhuSg-m1LwvK6Gj-bZ60yWwmen8NqGWps16MMyl4bLqFFyw9Vf436tSq74vcHZneOIof1nyyWQnJD_Rc2hsaYAAHT39_g8WlIgh3QFjaVbm2CHa_zs_pqKUyJs-s6vSP4b4a5k5jfcmr_H5EAs-UIg12esMVB1JgpA/w400-h225/wip-conference-area.png" width="400" /></a></div><p></p><h3 style="text-align: left;"><span style="font-weight: normal;">The Workplace</span></h3>
<p>The workplace is one of the first areas you see in Off Grid, and it is a perfect setting to be playful as an artist. I love that this is a shared building of two thoroughly different companies. On the one side you have Joe's place of work, Ascent Auditing, a company that is so boring and stuffy you'd be forgiven for thinking you'd gone back in time. On the other side is FIRESTREAM (Reliable, Fast, Smoking Hot Internet), an ISP that thinks it's Google, but like, cooler, you know? When Rich and Pontus first described Firesteam to me, they said "you'll probably need to make some beanbags".</p>
<p>So here are some progress shots of the contrasting lobby entrances.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAFCPQR9TS7_hTNETV71gPN70TbR4TAP6GN1P4yQra13cRtrP48-nB7jo8zl9kDIAUffAKXUC_1UwIDlDkLEAba-5yfdWN0_4a4OEGmqRdCgoJLwUIAWrPUwDb8XkVKyZJnjgaVwKsiukccS0pLd2ErZakrewnv6Gf85hAoDeA8K0F2nQr4EYh7aNf3A/s1920/wip-Ascent-Lobby.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAFCPQR9TS7_hTNETV71gPN70TbR4TAP6GN1P4yQra13cRtrP48-nB7jo8zl9kDIAUffAKXUC_1UwIDlDkLEAba-5yfdWN0_4a4OEGmqRdCgoJLwUIAWrPUwDb8XkVKyZJnjgaVwKsiukccS0pLd2ErZakrewnv6Gf85hAoDeA8K0F2nQr4EYh7aNf3A/w400-h225/wip-Ascent-Lobby.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoMzaq_YS9fHIidkL8E6tAN8WCwCcARmqiY20ZmHlwhVlVgI7k29B3QloWTgdsaIhcIsgncqHI6h1LlQk41OL4RXlv6YAY5XpB-dTV-QiSWjwGP1t7S8ePbE6xbmw0l9NNi7JgqAo_VBsxN0nAfLTCw2wVEHmimQ-LA43QQOCox5MIEkA1mhTTOvkKpQ/s1920/wip-Firestream-Lobby.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoMzaq_YS9fHIidkL8E6tAN8WCwCcARmqiY20ZmHlwhVlVgI7k29B3QloWTgdsaIhcIsgncqHI6h1LlQk41OL4RXlv6YAY5XpB-dTV-QiSWjwGP1t7S8ePbE6xbmw0l9NNi7JgqAo_VBsxN0nAfLTCw2wVEHmimQ-LA43QQOCox5MIEkA1mhTTOvkKpQ/w400-h225/wip-Firestream-Lobby.png" width="400" /></a></div><br /> <p></p>
<p>...and now for an update from the game mechanics side of things:</p>
<h2 class="atx" id="pontus" style="text-align: left;"><span style="font-weight: normal;">Pontus:</span></h2>
<p>This is something I actually started working on even prior to our last blog post, but had to push aside for some other features we needed quickly, plus the big clean-up work we talked about in the previous post. But now that we got the chance to pick up Off Grid development again it was easily the first thing on my list to deal with:</p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGyLkUnX8CgNseZZyVyN5BHO3kdkpr9wije_CgGC83bqD039M5QzZvpWDQRjWOaRDhDjmRDgS9CDTmliURtecHkvE3YnkJvIgKKXEPSlAJsaUsd0fmaO_ICpEPMhhRj4Mi72Srv3G4n2IxbEcU6of6-IuRnQhiIUNmHeNLoLGGoO7TyMaV7WM_4BSqjQ/s854/App%20system%20V2%20(Small).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="206" data-original-width="854" height="96" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGyLkUnX8CgNseZZyVyN5BHO3kdkpr9wije_CgGC83bqD039M5QzZvpWDQRjWOaRDhDjmRDgS9CDTmliURtecHkvE3YnkJvIgKKXEPSlAJsaUsd0fmaO_ICpEPMhhRj4Mi72Srv3G4n2IxbEcU6of6-IuRnQhiIUNmHeNLoLGGoO7TyMaV7WM_4BSqjQ/w400-h96/App%20system%20V2%20(Small).png" width="400" /></a></div>
<div class="atx" id="problems-with-the-old-app-system" style="text-align: left;"><h3 style="text-align: left;"><span style="font-weight: normal;"> </span><span style="font-weight: normal;">Problems with the old App system</span></h3></div>
<p>Using apps and the data view as your main "tools" to progress in the game has always been one of the core features of Off Grid, and something we've iterated on over time a lot. The Lua scripting side for apps alone has seen some major changes over the years to get things to a point where apps have a lot of power and flexibility and as much of it as possible is on the Lua side, rather than something hardcoded by us on the game side. And I've spent <i>months</i> tweaking the tracking system to balance the time the player can use the data view, and then even implemented a second cost mechanic just for the apps themselves. But even then there were some major issues with the mechanic, and using the apps & being aware of the tracking time was more tedious than it was fun. So I sat down and started writing some bullet points about what was wrong with the apps, and what the mechanic really <i>should</i> be like instead:</p>
<ul><li>Player needs to be aware of which apps they are using at a given time<ul><li>App wheel only shows some of the apps the player has in use, and while
there is support for showing a stats icon for an app, that's separated
from the apps themselves, and since they aren't something the player
actively uses during gameplay, it's easily ignored.</li></ul>
</li><li>Player should feel like using one app over another is a choice they make<ul><li>Currently the apps are just something you are required to switch on,
and there rarely is any good reason to toggle them off. When you might
need to do it, it feels like a chore rather than a choice.</li></ul>
</li><li>There needs to be a clear difference between active and passive apps<ul><li>Some apps are like tools or weapons in other games, something the players can actively <i>use</i> to do something. Others just run in the background, maybe providing some information (like the light level monitoring app), or even just toggle some game features on & off (like the Flutter and Guide apps). But how each app actually behaves is not communicated in any way.</li></ul>
</li><li>Cost of using an app needs to be known before using it<ul><li>Apps that have multiple possible features make it hard to show the
cost, for example DataUtil app allowing the player to both download & delete data should really cost more when you do both these things at the same time to be balanced, but that's not doable with the current system.</li></ul>
</li><li>App options that make major difference in the app's behaviour can be lost and forgotten easily<ul><li>No (or less) options, more separate apps!</li></ul>
</li><li>Spectrum/DataView should not be an app<ul><li>It has it's own special keys and behaviours unlike any other app</li><li>It creates a weird requirement for other apps of always needing to combine them with another app (Spectrum) or they a re useless</li><li>It's cost is handled in a different way (tracking time rather than NetPoints) <br /></li></ul>
</li></ul>
<div class="separator" style="clear: both; text-align: center;"> <br /></div><p>For anyone who has actually played the game these might sound pretty familiar. And if they don't, they definitely are familiar to me based on standing behind people's shoulders and observing them play the game at different expos and events.</p>
<h3 class="atx" id="and-my-attempts-at-fixing-them" style="text-align: left;"><span style="font-weight: normal;">...and my attempts at fixing them:</span></h3>
<p>To fix all this, I decided it's best to consider apps same as using different skills, spells, or weapons in RPG games etc, something the player would actively choose and switch around during gameplay based on both the situation, but also their preferred play style. This meant actually adding some limitations compared to the old mechanic, automating some things, and then adding some more features to make the apps more interesting and powerful, just in a different way from the previous system. And, ultimately, just making more apps, with more variations, and creating a path to even getting upgraded apps over the span of the game.</p><p></p>
<p>For starters, I got rid of the old AppWheel, and instead replaced it with a fixed-size quick selection dock. This means the player is now limited in how many apps they can have available to use at the moment, and need to be more active in switching the apps based on the situation they are in the game. Which actually is an advantage in terms of being aware of which apps the player has and swapping them to others more a part of the gameplay loop. It also has the added benefits of all apps now being visible, which means things like app icons notifying the player of something are actually doable. Also, we can add some nice keyboard number key shortcuts for them...</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_AP0ssU7oy8W_fhlObOzVGGNDzGFrReGFeGXvO64vBdsu5mIcPGBPZKbtZJPW7NR60Yq2zjnoQLifAC7l1Z2pixDMAocwaWjV4rMNRCdx9aHF8v94R6FL8zplvX6xqP-onk9U0Chxr7o4tOm8B8Wq6BFOS8pBVgRMDEwid2lTB8Ypuoq8Ah3ylIwygg/s417/Screenshot%202023-02-21%20155607.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="224" data-original-width="417" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_AP0ssU7oy8W_fhlObOzVGGNDzGFrReGFeGXvO64vBdsu5mIcPGBPZKbtZJPW7NR60Yq2zjnoQLifAC7l1Z2pixDMAocwaWjV4rMNRCdx9aHF8v94R6FL8zplvX6xqP-onk9U0Chxr7o4tOm8B8Wq6BFOS8pBVgRMDEwid2lTB8Ypuoq8Ah3ylIwygg/s320/Screenshot%202023-02-21%20155607.jpg" width="320" /></a></div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicsA-D0ydk5rgkYr0xcW6nT6SU_VDzYvGCtYpYo9QO2sEQo3I5QC8BrfhHymgN3ZvedXVU-s9uMTSqwofFLiYglg9QhucAETGYNA2zXPIFx6xovxWrWmScIDsziw58a_G0RgQ4hGd98S1UInpWA9aO4CM4b0t2PgqIK5OwaQfEV7veN8fjuJ3quynNig/s996/Screenshot%202023-03-07%20143447.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="996" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicsA-D0ydk5rgkYr0xcW6nT6SU_VDzYvGCtYpYo9QO2sEQo3I5QC8BrfhHymgN3ZvedXVU-s9uMTSqwofFLiYglg9QhucAETGYNA2zXPIFx6xovxWrWmScIDsziw58a_G0RgQ4hGd98S1UInpWA9aO4CM4b0t2PgqIK5OwaQfEV7veN8fjuJ3quynNig/w400-h261/Screenshot%202023-03-07%20143447.jpg" width="400" /></a></div><p></p>
<p>App icons themselves also got a bit of a redesign, since they now need to make a difference between an active app and a passive one, and provide the player with some information about how much using the app will cost (and if the cost is by consuming NetPoints, like active apps do, or by reserving them like passive ones do). To make room for all this I moved app name to the dock side, and that also gave more space for displaying additional information and app description there.</p><p></p>
<p>The next big change was limiting the player to using only one active app at a time. The apps are the player's tools, and following my beloved Unix philosophy, each app should do one thing and do it well. And switching to different ones for different things you do should become a natural part of the gameplay.</p>
<p>This links with the removal of the Spectrum app to access the data view. It was always a weird thing, something you had to turn on <i>in order to use some other app</i>.* So I automated it. Switching an active app that uses data view on now also turns data view on automatically, and switching the app off disables it again, which makes it much less tedious to quickly use apps and then switching them off again, avoiding the data view timing out. I also adjusted the tracking time behaviour so as long as you don't let it time out, it'll quickly start recovering from where you left it, again making it favour quick use of apps and then switching them off again instead of just leaving things permanently on until you run out of tracking time and NetPoints.</p>
<p>The player <i>does</i> still have the option to turn of data view, as that's an useful tool beyond it's connection to using the apps, it's just not displayed as an app any more since it never worked like any of the other apps, and now it's represented as a separate game mechanic with it's own keyboard/controller buttons like it always <i>really</i> was anyway.</p>
<p>Beyond all this, there's of course a lot smaller changes and additions, for example I've added Lua API support for the apps to print out text into the console window next to the NetPoints/tracking meters, and set up support for coroutines with time delays, to allow for more feedback to the player directly from the Lua Apps we and modders can make. And I also made better use of the AppWindow system that was used by the SSH app in some very specific situations (you might have seen a weird window with a skull&bones background pop up briefly when trying to connect to a device that was locked, you didn't have password for it, but had collected enough metadata about the devices owner to try to guess the password). That's now available for all the apps to use. Hopefully these options will help make the apps feel more like they are actually <i>doing</i> something, and to distinguish them from each other better.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxTLG5FeigbzZwAeeXH2YnY6HD9i_Ucjp9fIU4SMZ4QL0i1QIexX98FhfBDfxontHeaiMz2FUogt5fQ3Qlu9SUvm5sPsbOh2dz6D0T4nm8IjrCb_i8bAaRREY6fzuHmaR6Nly3bmsT1AjE207v8KTgzToSchUZY5MisQD1SZi6tdei44c9NMUklwg6rA/s1596/Screenshot%202023-04-14%20130532.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="901" data-original-width="1596" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxTLG5FeigbzZwAeeXH2YnY6HD9i_Ucjp9fIU4SMZ4QL0i1QIexX98FhfBDfxontHeaiMz2FUogt5fQ3Qlu9SUvm5sPsbOh2dz6D0T4nm8IjrCb_i8bAaRREY6fzuHmaR6Nly3bmsT1AjE207v8KTgzToSchUZY5MisQD1SZi6tdei44c9NMUklwg6rA/w400-h226/Screenshot%202023-04-14%20130532.png" width="400" /></a></div>
<p>There's still some work to be done related to this, I'm currently working on Apps page in the pause menu, and how it deals with assigning the apps to the specific slots in the new AppDock. And the whole RadialUI and how it'll work with all these changes is a bit of an open question at the moment. But I've updated some of the existing apps to use the new features, split some of them into different versions (for example a data copy app with shorter range and low cost, plus one with longer range but higher cost), and even created some new more complex ones (FlutterSearch, which searches for all the valuable data of a NPC and downloads all of it, but at very high NetPoints cost, plus an app that let's you install a routing program to devices you've hacked, gaining you extra NetPoints and through that the ability to use more expensive apps for the rest of the level), and at least to me it feels like my way of playing the game and using the apps has changed and all these changes have helped resolving the old app system's issues. We'll see in the long term as more people get to test this, and as we write more new apps of course!</p>
<h2 class="atx" id="see-you-next-time"><span style="font-weight: normal;">See you next time!</span></h2><h2 class="atx" id="see-you-next-time"></h2>
<p>...hopefully in a lot shorter time than between this and the previous blog post :D Meanwhile, we appreciate anyone <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlisting Off Grid on Steam</a>, and of course if you haven't done so already, you are more than welcome to join our <a href="https://discord.gg/semaeopus">Discord channel</a> to chat with us!</p>
pschonhttp://www.blogger.com/profile/08580495231185295429noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-53984040286245547532022-06-01T21:10:00.007+01:002022-06-02T10:07:49.157+01:00OFF GRID devblog "Keep it Clean"!<p>Hello and welcome to the latest devblog. <br /><br />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...</p><p><span style="background-color: white;"><span style="font-size: small;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgABMw9rmoigztAjYXrPBGuFzY_Z2G9K_rLB0uTig0i7WWXG48Na1Y-jjeFMTtVz9bzyOrt74YweO6xRrb6Fjdc9GOYkQY_AOKOTrTCwXCdKjydDaxrLuRX07FzfBQy_c5j053GzYB-c8oO6cIGGv9XkfDSyRRJIt0Sv-NNVAEhxSXNGE9djivGeBp55w/s1383/CleanUpProps.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="757" data-original-width="1383" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgABMw9rmoigztAjYXrPBGuFzY_Z2G9K_rLB0uTig0i7WWXG48Na1Y-jjeFMTtVz9bzyOrt74YweO6xRrb6Fjdc9GOYkQY_AOKOTrTCwXCdKjydDaxrLuRX07FzfBQy_c5j053GzYB-c8oO6cIGGv9XkfDSyRRJIt0Sv-NNVAEhxSXNGE9djivGeBp55w/w400-h219/CleanUpProps.png" width="400" /></a></span></div><span style="font-size: small;"><span style="font-family: inherit;"></span></span><p></p><p></p><span><a name='more'></a></span><h3 style="text-align: left;"> OnMissionStart()</h3><div style="text-align: left;"> </div><div style="text-align: left;">While doing AI clean-up, we ran (once again) into the complicated mess our mission start-up process had grown into over the years, and decided it's time to give that a thorough look as well. Since this all was something that had just been built gradually as we've added new features and changed design requirements, it wasn't all making awfully lot of sense any more, with confusingly named functions both on C# and in the Lua API, half the game system starting up in an event called "OnMissionStart" which was actually executed way before the mission starts, halfway through then mission setup, before we've spawned in any characters or even started loading any save data and so on...<br /></div><br />A good months worth of digging around, and documenting the relationships between everything into a graph, and searching through the codebase for all kinds of legacy systems and checking what it's all doing, we now have pretty good documentation of all the things that happen between loading a level and letting the player in, and were able to re-organize and rename our way through it to create something that makes a bit more sense. And had a good chance to update some truly ancient systems here and there to work with same logic everything else does, and remove some that had no purpose any more.<br /><br />Apart form some renamed Lua API functions, this is of course all completely hidden from the player's point-of-view. But it certainly makes it easier for us to work with and keep track of what's supposed to happen, and when, and also smooth out the level start experience and even improve our fail-safe systems in case something goes wrong when trying to load a save or start a level from a mod. So while it took ages to get done, and certainly wasn't as interesting work to do as creating new game systems is, it was definitely maintenance work worth doing!<br /><br /><h3>AI cleanup</h3><p>In the last couple of sprints the majority of the work related with the AI all revolved around doing a big cleanup and review of all the corresponding systems. It was significantly more broad and complicated work than we initially thought, but thanks to that in the future it is now going to be easier and quicker to tweak or add new features or systems, and more importantly much cleaner for modders to expand the AI too!</p><p>Some unfinished and unused systems were removed, several AI actions were improved with cleaner code, there were systems we tidied up that in the past were needed but have been deprecated because improvements in the overall game and AI design, or thanks to a more flexible agent creation system.</p><p>We also had a spell bringing the documentation up to date and inline with these changes, and so OFF GRID’s wiki, especially in the agent definition page now gives a much more accurate and detailed portrayal of these systems.<br /> <br /></p><h3 style="text-align: left;">Change List: </h3><p> <u>Core Systems </u><br /></p><ul style="text-align: left;"><li> Refactored mission startup </li></ul><u>AI</u><br /><ul style="text-align: left;"><li>Much AI code tweked and cleaned </li><li>Global AI Systems (GOAP system and ModularAgent for when spawning NPCs)</li><li>Agents Personality</li><li>Chairs (for agents to sit)</li><li>Every AI action (generic, use point and specials)</li><li>Drone specific code</li><li>Flashlight related code</li><li>NPCs Animation Control</li><li>Code related with AI using devices on amok</li><li>Unfinished and unused AI systems and actions removed because they were outdated</li><li>Added information in our wiki about some actions already added and overall information in the Agent Definitions page </li></ul><p> <u>Bugs fixed</u> <br /></p><ul style="text-align: left;"><li>AI bug fixes and tests</li></ul><p><br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i></p><span><!--more--></span><span><!--more--></span>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com2tag:blogger.com,1999:blog-6020038240212681184.post-16469872234906858632022-03-03T07:22:00.002+00:002022-03-03T07:35:00.915+00:00OFF GRID Devblog "Look who's talking!"<p></p><p>Welcome back to another episode of the OFF GRID DevBlog, lots of interesting interactions to tell you all about, so let's dive right in!<br /></p><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEicZXDxkxZ4sFX3cpngW0vxE2Zhu7vX5VL4jpW2t1nNOnK2CfKuoSp5T5EMWs__WKHYB0YAtvxcKwt9VfgugQtkLMVWROY2lnhdf_XT-e2M7KeKQMzRotU1Qx-k4xYE5ARRR4As4M6_jJVyhWQh-5qmku6FYc2A54krWHypKIyXW9gjrIGsFUcnSG0fyg=s769" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="769" height="234" src="https://blogger.googleusercontent.com/img/a/AVvXsEicZXDxkxZ4sFX3cpngW0vxE2Zhu7vX5VL4jpW2t1nNOnK2CfKuoSp5T5EMWs__WKHYB0YAtvxcKwt9VfgugQtkLMVWROY2lnhdf_XT-e2M7KeKQMzRotU1Qx-k4xYE5ARRR4As4M6_jJVyhWQh-5qmku6FYc2A54krWHypKIyXW9gjrIGsFUcnSG0fyg=w400-h234" width="400" /></a></div><p></p><span><a name='more'></a></span><p><br /></p><h3 style="text-align: left;">You talkin' to me?<br /></h3><p>We've recently been working on some levels that have more neutral NPCs around, rather than just guards you'd need to avoid. So it started making sense to add some way of just walking to someone and having a conversation with them. And why limit that to just conversations, when we could just as well allow the level creator (or modder) to script any kind of interaction, in the same way that you can script what MissionObjects do...<br /><br />Turns out that this was a bit of an awkward addition at this point in development, we hadn't really planned for it when making our interaction system in the first place, it was all set up for targeting and interacting with devices only. To add to that, the setup we'd used for MissionObject scripting wasn't compatible for doing the same with characters either. So what we hoped would have been a week's work, based on everything on the outside looking a lot like what we already had in place, ended taking a full sprint worth of modifying the code and finding ways to fit this all in nicely. But we got there in the end, and luckily it all ended being as simple (and powerful) from the user's point of view as we hoped, so all the headaches trying to fit it in were worth it...<br /><br />If you remember from the last blog post, we worked on streamlining the way how the player interacts with devices, replacing the old Quickslot system for using an item with a device by a popup menu that opens, if/when needed, as the player tries to interact with something. Well, the same system seemed like it would make sense for interacting with characters, so we just added that at the same time. Now it's possible for the NPCs to request some item from you before they'll talk with you, or whatever the person writing the mission script comes up with. It's all very flexible, and makes for some interesting conditional interactions, task setting, and progress gating.<br /><br />This means a couple of additions to our Lua API, and some new stuff you can do in your mission scripts, but we'll leave the technicalities out of here, it'll all be in the wiki for anyone interested.<br /></p><h3 style="text-align: left;">Re-designing Apps<br /></h3><p>Character interactions are not the only major changes we've been working on, we have a plan for a bit of an overhaul on how the apps are used in the game, aiming to make them more of an active gameplay feature and fixing some of the downsides and oddities with the current setup, as well as adding a bunch of usability improvements and ways to better communicate app states and other things to the player at the same time. But you'll have to wait a bit longer for details on that, it's pretty early on with the changes still...<br /><br />
</p><h3 style="text-align: left;">"I see you over there!"<br /></h3><h4><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiyrbVRJE53P3dwdpuez-lV7RKFBU37ReopKwBXeE08F6GgXvXKxz88ONJLTQEP9evS2bLcpVPohwX2Pdfx3qwqKA0goN3zhXlyj_f7ko03N7ZXb-82aprGiLv_-sxhjr37kCfvw57hWsyy3VUqTb6bW6rWk8REQ90mlYTIi6hvVMb48MsXFDL9EXzVVA=s1280" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="225" src="https://blogger.googleusercontent.com/img/a/AVvXsEiyrbVRJE53P3dwdpuez-lV7RKFBU37ReopKwBXeE08F6GgXvXKxz88ONJLTQEP9evS2bLcpVPohwX2Pdfx3qwqKA0goN3zhXlyj_f7ko03N7ZXb-82aprGiLv_-sxhjr37kCfvw57hWsyy3VUqTb6bW6rWk8REQ90mlYTIi6hvVMb48MsXFDL9EXzVVA=w400-h225" width="400" /></a> <span style="font-weight: normal;"></span></h4><h4><span style="font-weight: normal;"><br />In the last couple sprints we worked on several new actions for the AI, the raise alarm action, that makes nearby guards investigate a certain point, and two actions related with the aiming phone at player action, to simulate NPCs recording the player with their phone, one action for following the player at the same time, and the other to do it standing still. </span></h4><h4><span style="font-weight: normal;">Both of these actions were created out of necessity of having non-guard NPCs reacting to the player when they are in a place that they shouldn’t be: for example walking in the middle of a busy courtroom. So, these actions can make the game somewhat more realistic and also create some different gameplay situations for the player. </span></h4><h4><span style="font-weight: normal;">The Raise alarm action can directly affect the progression of the player, this action is responsible for emitting a noise that can alert any possible guards around a specific radius, the guards that hear this respective noise are going to investigate the noise source point (as long as their agent profile definition has the investigate action and respective goals to accomplish it). Even if the player is seen, so long as they are quick enough to move from that point without being spotted by a guard, they can continue the level without being followed by that same guard. This is fine in a sparse environment, but doesn't make sense when there are multiple NPCs of varying neutrality or hostility in the same room.<br /></span></h4><h4><span style="font-weight: normal;">The other actions, that are still in development but very closed to being finalized, are about the reaction of NPCs when they see the player in a unusual place, by aiming a phone to seem that they are recording them. This action is about giving more possible behaviors for NPCs to make the game more diverse and alive, and can be combines with the raise alarm action described above to make for an interesting situation. </span></h4><h4><span style="font-weight: normal;">These actions only aim at the player, but in the future we want to create a similar action but for aiming the phone at some objects when they are not behaving normally, for example it’s perfect for when a soda machine is running amok and is firing soda cans. That way unusual occurrences created by the player can form a crowd or distract NPCs for a short time even if they don't have a direct effect on them. With the way NPC AI can be built out and added to by modders there could be lots of room for modders to write dynamic and emergent behaviour.</span></h4><h4><span style="font-weight: normal;">And that's all for now, look forward to catching you in the next DevBlog!<br /></span></h4>
<h4>Change List: <br /></h4>
<u>Gameplay and Mechanics</u><br />
<ul>
<li>Added Character interactions system, for speaking and swapping items with NPCs<br /></li>
</ul>
<u>Controls and UX</u> <br />
<ul>
<li>Added localisation for the UIs used for character and device interactions <br /></li>
</ul>
<u>AI </u><br />
<ul>
<li>Added several AI actions for a<span style="font-weight: normal;">iming phone at the player to record / take pictures of them</span></li><li><span style="font-weight: normal;">Added AI action for NPCs to r</span><span style="font-weight: normal;">aise an alarm in such instances (and beyond)<br /></span></li></ul>
<u>Modding and Lua API additions </u><br />
<ul>
<li>Added Lua API calls for checking a character's background profiles <br /></li></ul>
<u>Bugs fixed </u><br />
<ul>
<li><span style="font-weight: normal;">Various small bug fixes (profile tags and location data points related)</span></li>
</ul>
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i><span><!--more--></span>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-83582315029233617492021-12-08T12:00:00.006+00:002021-12-08T12:00:00.173+00:00Off Grid Development Update - November 2021<p style="text-align: left;"> Once again it's time for a new Off Grid development update, and we certainly have a bunch of interesting changes to the game to talk about this time!</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjI2KYaFG6fReUk5BC_9mwIS3WiATRzJliLvwlOq7U6-frE5PI6uTFC4D8ZOMnt_QekoWuf1lJCJ9BAAvnLZPv3OmXPDodCeB6DYtS8Xa-1VSbR8hqBceruPtZDfDcZ_uZtBEpopJpyCqmfXUFtCASefdq3bnZt9Ns4zc3Gql2zjzj9Tn3tzeX14TLcYQ=s1920" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="180" src="https://blogger.googleusercontent.com/img/a/AVvXsEjI2KYaFG6fReUk5BC_9mwIS3WiATRzJliLvwlOq7U6-frE5PI6uTFC4D8ZOMnt_QekoWuf1lJCJ9BAAvnLZPv3OmXPDodCeB6DYtS8Xa-1VSbR8hqBceruPtZDfDcZ_uZtBEpopJpyCqmfXUFtCASefdq3bnZt9Ns4zc3Gql2zjzj9Tn3tzeX14TLcYQ=s320" width="320" /></a></div><p></p><span><a name='more'></a></span>
<h2 class="atx" id="streamlined-item-use-and-interactions">Streamlined item use and interactions</h2>
<p>Deciding to continue with the gameplay and user experience-improvements we started in the last sprint by adding visual indicators for game characters to better telegraph their actions and state to the player, we've made some more major changes to the the game.</p>
<p>The old Quickslot system where the player had to select the item the player character would use for interactions beforehand, by pausing the game, and assigning an item to the character's "hand", is now gone. If that item was something that would be sued constantly during gameplay that system would have made sense, but since it's pretty much always just a single-use for a specific interaction, we wanted to replace that system with something bit more dynamic and less interrupting.</p>
<p>Now, the whole Quickslot system is gone, and instead interactable MissionObjects (various devices around the game levels, for example), can be set to require an item or a data file for interaction. When player tries to interact with such item, we automatically pop open a menu listing items (or data) in player's inventory for the player to select what to use for the interaction.</p>
<p>Not only does this mean that interactions now require less menu-browsing, especially if the player didn't know an item was needed and to assign one to Quickslot beforehand, but also more flexibility like being able to ask for a data file instead of a physical item. Now we also have the option for even more specific filtering in the future should we find good uses for that. For example, requesting only key files for unlocking a doors, avoiding the need for the player to search for the keys from all the data they have in their inventory.</p>
<p>While small (but surprisingly nice feeling) change for the player, this required a fair amount of refactoring things on the game systems side, so this all comes with a bunch of changes on our Lua scripting API side as well.</p>
<h2 class="atx" id="finding-the-needle-from-the-haystack">Finding the needle from the haystack</h2>
<p>Another gameplay aspect we wanted to improve on was finding the meaningful data in the levels. With metadata being more important in the game now (for example gaining enough knowledge about specific character in a level to gain access to their devices), we needed to do something to help the player spot the data worth downloading, but without having to reduce the total data in the levels. All data is useful to the player, but only some of it is worth downloading, while the rest is mainly locational information about the areas and routes different characters use in the levels.</p>
<p>The old setup we had used different visual Data shapes for different types of data; one shape for Image files, one for text, one for SMS and so on. This is now replaced with different shapes (and sizes!) based on how <i>valuable the data is to the player</i>. Data points with only locational value are small and easy enough to ignore when scanning through the level for data to download, while the ones that contain useful information, and metadata about characters, are displayed in different and larger shapes that help them to stand out. And then there's even higher special tier for data the level's designer (us, or the modder) has specifically marked as being mission critical and that the player should always be able to spot easily. Apart from that mission critical data, the game determines each data point's value automatically and assigns the correct shape for it.</p>
<p>While working on that improvement, we also add a bit of extra "juice" to data interactions, with some popup notifications and particle effects related to the amount of new metadata the player gained from downloading a specific data file.</p>
<h2 class="atx" id="new-main-menu">New main menu</h2>
<p>And talking about visual improvements, we've finally gotten rid of the old static background image in the main menu screen. In it's place you'll now find some animated data points and trails. This looks a lot nicer and also scales to different display aspect ratios better than an image does. There's a bit more to the main menu screen than just animation, but we'll leave that all to the players and modders to find out... ;)</p>
<h2 class="atx" id="giving-the-ai-a-break">Giving the AI a break</h2>
<p>We implemented a new AI action called RestAction, giving us one more action to diversify the NPC’s behaviour. it's especially useful because it can benefit the player as well giving a more natural behaviour for the NPCs.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi0KACwger_ds8EFh73N9eEG7WCbKwirEQhdbaILRJJom30XQj8Ur6_-dbUR6xEmmbuTy125epvQEsAZx4DQemwqftEFv4AjzOhj4TXX55je51E_u0L4j7XeW6yDjqroLz5258X0k68p_vEYEBCCYPW6S55vlRXVNi4VHW7o8HlUI_fJfA2QX4Q_m7dJg=s1912" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1912" height="150" src="https://blogger.googleusercontent.com/img/a/AVvXsEi0KACwger_ds8EFh73N9eEG7WCbKwirEQhdbaILRJJom30XQj8Ur6_-dbUR6xEmmbuTy125epvQEsAZx4DQemwqftEFv4AjzOhj4TXX55je51E_u0L4j7XeW6yDjqroLz5258X0k68p_vEYEBCCYPW6S55vlRXVNi4VHW7o8HlUI_fJfA2QX4Q_m7dJg=s320" width="320" /></a></div><br /> <p></p>
<p>The RestAction has two different important behaviours. The first, more common one, makes the NPC will rest when their energy is low, so when they want to rest they'll find the closest available chair to sit on a while and partially restore their energy.</p>
<p>The second behaviour is that, if while the NPCs are seated, their world state that indicates their sleepiness value is true, then they will fall asleep. The sleepiness level can only become true through specific player action, or if set so in the level's design. (For example anyone who's played our demo/ First Access builds might remember the guard sleeping near the beginning of the Apostle level).</p>
<p>By player’s action we mean interactions with the world to make that change. For example when a guard is hearing a calm music while resting. For that to happen the player needs to hack a radio and set it on a station that plays calm music. When the NPCs are asleep they'll wake up to unexpected noises, so the player will need to be careful walking or running near them.</p>
<p>So the RestAction can be perfect for when a player wants to “disable” a guard to sneak past it, and also gives a more unpredictable factor for the player to be always careful about the guard's behaviour.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhrqgib6FtmYVw3LAV2MHaMHRbiLavZyMrbAxFG7guRzYdIpOft-t7v6dg3YQCzpYcTby6XW9shTvg6anTYbt3s1da8al_9tptiI32Gg6SqKKtqNI9XrPhMNQjSy1Ypfm3bKWlHRSduysZyyPaAmMXSG571T7DjcKVUKMRTFJyrKe75MlbD5u_9mbZ6TA=s607" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="607" height="269" src="https://blogger.googleusercontent.com/img/a/AVvXsEhrqgib6FtmYVw3LAV2MHaMHRbiLavZyMrbAxFG7guRzYdIpOft-t7v6dg3YQCzpYcTby6XW9shTvg6anTYbt3s1da8al_9tptiI32Gg6SqKKtqNI9XrPhMNQjSy1Ypfm3bKWlHRSduysZyyPaAmMXSG571T7DjcKVUKMRTFJyrKe75MlbD5u_9mbZ6TA=s320" width="320" /></a></div><br /> <p></p>
<p>Another important thing to mention about the RestAction is how to make a chair sittable, as every chair that any NPCs can sit on needs to be set up for the NPCs to use it. For that purpose we created a tool that helps in the process. The user can drag one or various “chairs” (these “chairs” can be any GameObject possible, even Unity’s default cube can be a chair if you really want) to the "Gameobjects" section of the tool. If any GameObject is a prefab then the respective prefab will also be updated and saved. The tool also allows you to set the chair direction, determining the direction the NPC will sit on. After setting things up as desired, it's just a question of clicking a button (and baking the level’s navigation mesh) and everything is set for any NPC to use the respective chairs.</p>
<h2 class="atx" id="small-bug-fixes-etc">Small bug fixes etc:</h2>
<ul><li><p>Fixed Lua Snippet file & API documentation generation, updated our wiki (kind of nice after all these recent changes of the game systems and the API ;))</p>
</li><li><p>Fixed UI layout issues that caused overlapping text in some places</p>
</li><li><p>Optimized tracking status console, and changed it to allow displaying more lines of text and handle long lines of text/overflow better</p>
</li><li><p>Fixed localisation of text when viewing data files in the Data Inventory menu</p>
</li><li><p>Fixed various Lua script errors in levels/conversations/devices</p>
</li><li><p>Added alternative keyboard bindings for selecting/using apps, to make the buttons easier to reach with left hand without moving your hand away from WASD</p>
</li><li><p>Camera now always starts behind the player when a level starts</p>
</li><li><p>When a guard has a flashlight they'll will aim it correctly, depending on their path</p>
</li><li><p>Graphics settings now only affect the level main camera</p>
</li><li><p>Fixed NPC status icon spawning various times in a short time or spawning incorrectly</p>
</li><li><p>Saving in the game now saves information about MissionObjects interaction changes</p>
</li><li><p>Secretary in the secretary level fixed to react better and quickly to the player entrance </p>
</li><li><p>Fixed Drones not stopping movement when the game is paused</p>
</li><li><p>Fixed camera rotating continuously when the player is caught by a guard</p>
</li><li><p>NPCs now use chairs to rest when their energy is low</p>
</li><li><p>When the NPCs are resting in the chairs it’s also possible to make them fall asleep</p>
</li><li><p>New tool to make chairs usable by NPCs.</p>
</li></ul>
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>pschonhttp://www.blogger.com/profile/08580495231185295429noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-24621520240529820252021-08-24T10:02:00.005+01:002021-08-24T10:50:59.489+01:00Sprint Roundup : Intelligiable Artificial Intelligence<p>Hello Folks, </p><p>If you've been following along on the devblog for a while you will know that OFF GRID's NPC A.I. is quite extensible, moddable and able to create interesting dynamic behaviours, we've been continuing to refine and polish this of recent, and this blog will dig into a few of those changes.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMgcYsO0CzM57UKWX6NGhWgToZPaZrkEoFdFK82_pMKUM0O8LNgSp7qkrY7oc-4EDa9yccHkbYePVX9l5iOh5mgv1X1QdlucWf7h6_nHTLMveVBJgjXFVQz5xnFhLjKXQFywhKSz-w003/s1912/image+%2528108%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="907" data-original-width="1912" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzMgcYsO0CzM57UKWX6NGhWgToZPaZrkEoFdFK82_pMKUM0O8LNgSp7qkrY7oc-4EDa9yccHkbYePVX9l5iOh5mgv1X1QdlucWf7h6_nHTLMveVBJgjXFVQz5xnFhLjKXQFywhKSz-w003/w400-h190/image+%2528108%2529.png" width="400" /></a></div><p>One of the things those of you who are players in our First-Access testing groups have commented on regularly is that these complex behaviours can be hard to pick up on some times. Fundamentally there is one word used in game development to describe this, it's down to having a lack of "Juice". Creating juice in a given system is essentially the art of designing satisfying player feedback with animation and audio, and we have been digging into this specifically in the context of our AI recently. <br /></p><h3 style="text-align: left;"> NPC reactions</h3><p></p><p>It's a small thing, but up until now you could only tell NPCs were receiving data by watching the networks in data view. We have now improved the NPC reactions so that they physically respond to data too.</p><h4 style="text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dytYh9J0uq6EdejSza705E0QjrvK9TCbYRJYnLZIJsGbIfZ31K9H9Rs-C4C4-EVjSOpX7bWWx9qxGq8isN9pw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></h4><p>Similarly - showing what an NPCs behavioural model is upto has been tricky just through animation. We had hoped to just show what NPCs were thinking for players to deduct their next move from purely through character animation, in reality in a 3rd person game you are often so far away from the characters you are watching that this proves very difficult. </p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpTKpPEEWnEZku3DZ87NKtF5AlAcDGurrkev1iRMxAWBlT50FJ_JjYK1xCDJL2UflGrfh3dNT1vkgC-9O5QQwFK_qYnHkWb76RJo0hatQK5Xm2G3FvAiqJT8dvvoRwcT18dMMj-Uo4p8_/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="906" data-original-width="1914" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpTKpPEEWnEZku3DZ87NKtF5AlAcDGurrkev1iRMxAWBlT50FJ_JjYK1xCDJL2UflGrfh3dNT1vkgC-9O5QQwFK_qYnHkWb76RJo0hatQK5Xm2G3FvAiqJT8dvvoRwcT18dMMj-Uo4p8_/w400-h189/image_6483441%25284%2529.JPG" width="400" /><br /></a></div><br /><p></p><p>We decided to move to a more Metal Gear Solid Style system of core NPC thoughts and behaviours being identified as icons above their heads at certain times. It's pretty early in testing but it certainly seems to have improved things, more on this in future blogs as the feature evolves.<br /></p><p>Another is the fact that the modders we have testing the tools to make their own levels tend to want to be able to make more expansive environments and put more random background NPCs in to their content without having to write or design specific AI routines. They want to be able to drop random wandering NPCs in, *in walks the Wander NPC system*<br /></p><p></p><p>So this doesn't end up becoming a book rather than a devblog we'll focus on this particular system as the deep dive for this post, and we can dig into the others previously mentioned here in future posts as they mature.<br /></p><h3 style="text-align: left;">The Wander NPC System <br /></h3><p>Essentially the bulk of AI work last sprint was creating a new system to easily have more neutral or non-enemy NPCs in a level without the need for the resource intense AI calls the main NPC system uses. This helps bring to life many of the environments and makes levels set in public spaces seem somewhat more realistic. We decided to call this lightweight AI the WanderNPC system, to differentiate it from the core and more complex NPC AI.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfH8XQlpTOkQofQiP_xVqluxH-O_XDDWZgw3c2o-fhA30bkXOmJNCic6hpN1uUSZdDfvF2S0iKIom7ETePZ-XXEaQXwUz_CrQSI0P83OPZ4gBQKmDQtoQ08XogIRHKdenktyaugHZY_08/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="910" data-original-width="1916" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfH8XQlpTOkQofQiP_xVqluxH-O_XDDWZgw3c2o-fhA30bkXOmJNCic6hpN1uUSZdDfvF2S0iKIom7ETePZ-XXEaQXwUz_CrQSI0P83OPZ4gBQKmDQtoQ08XogIRHKdenktyaugHZY_08/w400-h190/image_6483441%25285%2529.JPG" width="400" /></a></div><p></p><p>With the "normal" NPC system, every character has an agent definition to control its behaviour. This is good for having various types of NPCs in a level, but every NPC needs to be defined in the mission script, so it's not exactly a quick and simple way to spawn various characters scattered in a level. We needed a system to spawn NPCs more easily and without any specific AI, just different characters with different props and colors wandering in a level without any bigger purpose, except filling the level. <br />To use this new system you only need to use the respective function in the LUA API, specifically the function "Mission.SpawnWanderNPCs", this function has some parameters to easily change the spawned characters. They are the following:</p><ul style="text-align: left;"><li>spawnpoint : Is of the type string and is the only required parameter, the point selected to spawn is going to define the area that we want to spawn all the wander NPCs, every wander NPC is going to be spawned in a random position inside that area; the spawned area is defined by any position that a navigation agent can walk between the selected spawnpoint at any random position inside a specific radius, the wander NPCs cannot use doors, so doors and walls are normally the boundaries of a spawning area.</li><li>quantity : Parameter used to define the number of wander NPCs to be spawned at the same time in a specific area, if this parameter is not manually set then it's only going to spawn 1 character</li><li>characters: This defines what characer models / prefabs the system will spawn, at random. </li><li>headprops : Like the name suggests its possible to define a prop or a group of props for the characters to use, the character is spawned with a prop or none in a random way, and never more than one prop</li><li>colorTextures and metalTextures : It's possible as well to randomize the color and metal textures of the characters spawned, if none is selected each character will have its default textures</li><li>gestures : Sometimes the wander NPCs will run an animation when they tops momentarily, this animation will be a random one of those selected in this parameter<br /></li></ul><p>As you can see, with this new system it's very easy to spawn various wandering NPCs, and it's also very flexible, by just changing some parameters it's possible to have a diverse crowd in a level, making it possible to have even more unique looking levels!<br />
</p><h4>New Content - The Harbour Terminal<br /></h4><p style="text-align: left;">Since the last blog post we've spent more time designing and modelling
for the Harbour level's main building. This one is a bit different from
many of our locations, the main building itself is big enough to be a
full level on it's own.</p><h4><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8fJPw_lal_0NTjdk8f5nsHhXOuHGAkuZAjb_bA20FuA-u_EXSXzqgJNi2a9DYq56PK6FABzCfaympBqjTczN1cS2t7hrHOSygFT9w8C5EU1fkC848kcT_pMeFM_zJZqIKzZBl0H6HkFME/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1011" data-original-width="2560" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8fJPw_lal_0NTjdk8f5nsHhXOuHGAkuZAjb_bA20FuA-u_EXSXzqgJNi2a9DYq56PK6FABzCfaympBqjTczN1cS2t7hrHOSygFT9w8C5EU1fkC848kcT_pMeFM_zJZqIKzZBl0H6HkFME/w400-h158/image_6483441%25286%2529.JPG" width="400" /></a></div></h4> Like the rest of the Harbour, we've made it to support lots of alternative routes through the level, more than what we'll likely enable for when you play this level the first time. Let's just say that we have some interesting plans for that...<br />
<h4><div class="separator" style="clear: both; text-align: center;"><br /></div>Changelist and other updates : </h4><p style="text-align: left;"><u><br />
<u>Content (Level Design and Art) </u> </u>
</p><ul><li>Intro at the Apartment - player guidance and tutorialisation<br /></li><li>Courthouse - more advanced devices and puzzles</li><li>Harbour - creation of areas for future expansions to the game </li></ul>
<u>AI </u><br />
<ul>
<li>Creating the new Wander NPC system</li>
<li>Start on AI behaviour icons system</li><li>Reactions from NPCs and their corresponding animations<br /></li>
</ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul>
<li>Player path tool now supports connections between paths</li>
</ul>
<br />
<u>Bugs fixed </u><br />
<ul>
<li>AI reacting with a Radio</li>
<li>AI Pause<br /> - Save time reduced<br /> - The save system also save the player crouching / standing state<br /> - Use item button visible after loading an autosave</li>
</ul>
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i><br />Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-55727423962207183182021-03-09T10:33:00.004+00:002021-03-09T19:20:37.451+00:00Sprint Roundup: Spring Forward<p>Welcome Folks and Happy 2021, and how good does it feel to be finally well out of 2020?!</p><p>Thanks for bearing with us while we got this you, we missed December's update, but here we are, back in the swing of things, and so finally here is your back-to-regular dev update!</p><p></p><h3 style="text-align: left;"> Give me an 'A', give me an 'I', what does that Spell?!</h3><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">On the last sprint roundup we mentioned that we started to work in some improvements in the AI to give more flexibility to the NPCs. So what exactly are these improvements? To start, some bugs were fixed, some unused features were removed and others simplified. But
the main thing improved was the possibility to change, add or remove
any aspect of the NPC behaviour in run time, like, for example, actions
and goals, and with this came a round of improvements on our AI debugging tool, the AI Explorer:<br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5uTwbC9jHewd89YsPFs7EHdCerY7yiIgJXGpFIE5m19jEbDjL0C-HB3fjc_zr3MmRxJaiWEevNr4_n6Wllp2Izha4lzil0iHWs-4UFW50nTdHPS8WgVGNE7_JMnLh-4_5EYr4mkby2Ou5/" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="719" data-original-width="1576" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5uTwbC9jHewd89YsPFs7EHdCerY7yiIgJXGpFIE5m19jEbDjL0C-HB3fjc_zr3MmRxJaiWEevNr4_n6Wllp2Izha4lzil0iHWs-4UFW50nTdHPS8WgVGNE7_JMnLh-4_5EYr4mkby2Ou5/w400-h183/AI-Explorer-tool-update.png" width="400" /></a></div><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><br />The default way to change any NPC behaviour is still as it has always been, changing
the world states. Only in specific
situations should changing the goals or actions be needed, but this is now possible by adding or removing them during runtime and allows for much more complex behaviour. Changing Goals should be used
rarely, as it is seen as a more permanent change to the NPC behaviour. It's important to keep the following concepts in mind to understand the best way to change an NPC behaviour:</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">"World States" represent everything that the NPC knows about the world and themselves, for example: The guard must see the intruder before doing any action to try to catch it. Changing world states in order to evoke a reaction is the first thing you do. </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">"Actions" are the available skills and resources that an NPC has, for example: A guard should have an action to use a taser or other
resource to knock out the intruder, and so accomplishing his goal. Changing actions is the best way to change what an NPC has the potential to do.</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">"Goals" describe the intentions or beliefs of the NPC, for example: the guard should always have the goal to catch the intruder,
because it's his job, if this goal is removed it means that the guard
lost his faith or belief in the job. For this reason goals are the last thing in NPC behavior you would consider changing as you are fundamentally changing them as a person.<br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">Being able to alter any of these at runtime means NPCs are now more flexible and give more options to design
new levels and scenarios, that is noted especially during the gameplay because now
its possible to change its behaviour at any time and you don't have any
restrictions in relation to what was initially defined in the NPC, so
that means that a NPC now can use picked up objects, learn new skills,
change their main objective, among other possibilities, it really is much,
much more flexibility.</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><br />But of course this flexibility also means that is
important to be careful with the complexity of the NPC definition, it could get a bit confusing in the best way to accomplishing
some results and also could be hard to track why the NPC is behaving in
some way. So to simplify we think the best way to approach the
changing in the NPC behaviour in runtime is trying to change the world
states first (but being careful to not have to many different states),
next is the actions (that are especially handy for use specific items and
skills), and the last one is the goals (that need to be used very
carefully because a minor change can change the NPC behaviour drastically). Hopefully this model will provide some exciting opportunities for us in design and for modders too!<br /></div><p style="text-align: left;">We also replaced the old Lua
API call for altering a character's motivation value with a new generic
system which allows for checking, and setting, any of the stats an AI
might have. </p><h3 style="text-align: left;">The U in Usablility<br /></h3><p>Since the last blog post, we've spent some time fixing some usability
issues on the UI side. Mainly, we've added automatic scrolling to UI for
use with gamepad controls, removing the need to use scrollbars, which
then simplifies the navigation across the UI. To go with that, we've
updated lots of the UI across the game, also fixing some selection
issues and improving on the mouse cursor autohide system to further
smooth the controls and especially switching between input methods.
While these might not sound like big changes, they certainly have made
the user experience a lot smoother...<br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMsdfsGqsnDb3bLRO6uUNvcdESMIJP3nN0aCED9yCHGXPWZqJpT6lOttiGQYmpOMUZ1jdGN3LPst4B6-1Ei4FVq-SwJhwhltDmeD0vwfAA4uyRh0wrY9fLCT7PSolFsfVlTaL8KmRQFYH/" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="970" data-original-width="1740" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMsdfsGqsnDb3bLRO6uUNvcdESMIJP3nN0aCED9yCHGXPWZqJpT6lOttiGQYmpOMUZ1jdGN3LPst4B6-1Ei4FVq-SwJhwhltDmeD0vwfAA4uyRh0wrY9fLCT7PSolFsfVlTaL8KmRQFYH/w400-h223/Scrollable_UI.png" width="400" /></a></div><br /><p></p><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><h3 style="text-align: left;">Paperwork for a good cause!</h3></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">The start of a new year always brings a lot of paperwork, with our financial year end timing in to the calendar one. It's a lot of shifting numbers on spreadsheets but the nice thing is that in the UK, with the fantastic BFI's support, we actually get a credit back on money we have spent on development each year though the Video Games Tax Relief scheme the UK government runs. Pretty good stuff.<br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">We have had some work for hire that we have fitted in in a couple of places, Pontus has been doing research and development on an unnanounced project of a developer friend of ours and Rich ran a lecture series on Blender basics and specializing in Character animation for the MA Character Animation course at Central Saint Martins, University of The Arts London.<br /></div><br /><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">We also managed to garner some more funding for some R&D work from one of our long term partners Creative England, which has been super exciting - PLEASE don't jump to any conclusions from this but we have been researching how well our procedural message generation can be evolved to be able to handle languages other than English...</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><h3 style="text-align: left;">No Tofu!<br /></h3></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">As mentioned above, we have been working out how our generated content
will work in different languages and doing some R&D on non-latin
alphabet/writing system support. This is all quite exciting stuff, and warrants its own dedicated post
at some point, but... essentially, OFF GRID's game mechanics depend on key
words in data and meta-data generated by NPCs, and the fact that there
is text in the game that is generated at all creates and interesting
problem to solve when it comes to localisation.</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLTWwbFjG9zipJtg12uXfi9azc_trMd_GqJK4qCccqhz2Qy4L0D13dZRxqg6H4_oKByAFKwz0MHsEzPH4-BVzaa4s_9HuwszMazJET1C0yG8hC8YX3oEAVdi4VUJWOJDkbCkC1wcAlzJvH/" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="630" data-original-width="1172" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLTWwbFjG9zipJtg12uXfi9azc_trMd_GqJK4qCccqhz2Qy4L0D13dZRxqg6H4_oKByAFKwz0MHsEzPH4-BVzaa4s_9HuwszMazJET1C0yG8hC8YX3oEAVdi4VUJWOJDkbCkC1wcAlzJvH/w400-h215/NoTofu-Font.png" width="400" /></a></div><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">At this early stage we can't specify any particular languages, in-fact we can't guarantee it will work, or that there will be any other languages than English in the game, but we are laying the groundwork to see if possible and have embarked on some research work to see what those possibilities are, watch this space!</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><h3><b>The Beginning and The End</b></h3></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">Some of you who have played alpha builds, or demos at some point may have seen the intro cutscene to the game (it's the one that some of the clips in the trailer on our Steam page come from). One of the things we have been working on is making this part playable and more of a mix of small cutscene sections intertwined with basic tutorials and gameplay. We are believers in making sure that everything in the game story is told via gameplay and the environment as much as possible, so we were keen to make sure that the very beginning of the game sets the scene while still adhering to this principle. </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM0KJaIjuGNSTxOTTmUEdNfB-V5Kexlh09R5q0OZsdE_aZiARnNKnPt7tNJMD_07bfTGX-bAf88EM3SYVuGlXh9ZxMDUi51jA-9SjiZI-ioOyhF3HhMblmxc8brUZKmesUWJYnSKCgAa8u/" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="976" data-original-width="1738" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM0KJaIjuGNSTxOTTmUEdNfB-V5Kexlh09R5q0OZsdE_aZiARnNKnPt7tNJMD_07bfTGX-bAf88EM3SYVuGlXh9ZxMDUi51jA-9SjiZI-ioOyhF3HhMblmxc8brUZKmesUWJYnSKCgAa8u/w400-h225/Intro_Shot_breakfast.png" width="400" /></a></div><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">Unity's timeline is the powerful tool we have been using to achieve this, but we have had to do some real hackery to get it to play nice with interactive sections rather surprisingly. When you couple that with tying it into our lua commands for writing missions, objectives and triggers and you start to get quite a complex section of the game to assemble. It's coming along nicely though, and they say the first 30 seconds, and 30 minutes of a game are the most important to focus on to keep players intrigued, so we have been happily dedicating a lot of time to getting this to all feel right. It's also certainly something we'll be counting on you, as our players, to play and give feedback on ahead of full release. Looking forward to seeing what you think!</div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><br /></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZaLo543solNzVqDXjO4HGFWNyrB8k0pDVbZdfZTBrjVbL_U_KQBrycjtCx03yKA0TfETj9P8L5Ge947quO-aEt91wKuzOo4HXn46LGsI_EScmJnduKIhOl5BWw3S3O8AnNd7767XKmAT/" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="903" data-original-width="1917" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNZaLo543solNzVqDXjO4HGFWNyrB8k0pDVbZdfZTBrjVbL_U_KQBrycjtCx03yKA0TfETj9P8L5Ge947quO-aEt91wKuzOo4HXn46LGsI_EScmJnduKIhOl5BWw3S3O8AnNd7767XKmAT/w400-h189/CourthousePuzzleMaking.png" width="400" /></a></div> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">We've also been fine tuning and cleaning up some of the content in the later game and making some more complex puzzles and hacks. The wierd thing about editing content is sometimes you can make more of something, in this instance we needed to make sense of one of the final missions, and actually breaking it into two seperate missions works better. Without giving any spoilers, one of the planned missions is now giving a 2-for-1 value! <br /></div></div></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"></div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"> </div><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit"><h3 style="text-align: left;">Changelist </h3></div></div></div></div><p>
</p>
<u>Content (Level Design and Art) </u><br />
<ul>
<li>Design for the Harbour level passenger terminal / offices building</li>
<li>Replaced messages that were written for old SMS system with proper single-message conversations</li><li>Courthouse initial puzzles done </li><li>Taking the scene from prototype to production and playable instead of just a cutscene</li><li><div class="editable-field inactive" id="summary-val" style="text-align: left;" title="Click to edit">Broke up Court House Level into two levels</div></li>
</ul>
<br />
<u>Controls and UX</u> <br />
<ul style="text-align: left;">
<li>Autoscrolling in UI</li><ul><li>Usability improvements especially on a gamepad for any scrolling UI</li><li>Greatly
improves device UIs since it means we can make their scrollbars
un-selectable on a gamepad, simplifying the navigation in that window</li></ul></ul><p><u>AI </u><br />
</p><ul style="text-align: left;">
<li>AI Goal and Action improvements for flexibility</li><li>AI Debug system improved (with more information and in a clear format)</li></ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul style="text-align: left;">
<li>Lua API support for setting/getting NPC AI stat values</li><ul><li>We
used to have AI.AlterNPCMotivation(name, value) specifically for
setting motivation stat value, this replaces it with a generic
AI.AlterNPCStat(name, stat, value) usable for all the stats an AI might
have</li></ul><li>Lua support for Unity timeline and firing Lua functions from it (use wisely!)</li><li>Lua Console app for testing any line of lua anywhere in the game<br /></li>
</ul>
<u>Bugs fixed </u><br />
<ul>
<li>Bug fixes related with the AI and save system </li>
<li>Fixed issues with mouse cursor autohide/show system when switching between mouse/kb and gamepad controls</li></ul>
<u>Other </u><br />
<ul></ul><ul style="text-align: left;"><li>Year end accounts and VGTR<br /></li><li>A few small work-for-hire jobs </li><li>Blender for Animators Lectures</li><li>New Ideas Fund application and grant</li></ul><p> </p><p>Hopefully that catches you up on OFF GRID development. It's been a tough 2020 for us, especially the second half of it. Safe to say, the world has been turned upside down and that had an impact on some of our families and how we managed running businesses and looking after our loved ones. Obviously OFF GRID is continuing development but running behind at this point, luckily we have at every turn been ahead of the punches and come up with game plans to make sure we could continue sustainably, and deliver OFF GRID come what may.</p><p>For our little studio this has meant tightening our belts at the couple of junctures when we have found we were behind our anticipated milestones, tightening scope, bringing in some part time work-for-hire contracts to top up the coffers, and scaling the team down so we could operate in a lean and efficient way. The knock-on effect of shrinking the team for sustainability is it means things take longer, but it has the benefit of meaning you can roll with the punches and survive more easily. <br /></p><p>The three of us, Pontus, Andre, and Rich are still working hard on dev, bringing you the best game possible, and one thing is clear, with our great little team, OFF GRID is going to be everything it deserves to be, and that you deserve it to be for supporting us. Thank you so much and looking forward to showing you more over the coming months! </p><ul>
</ul>
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-60718108079275641092020-10-09T19:52:00.008+01:002021-03-09T10:35:10.353+00:00Sprint Roundup: Meta work<p>Welcome friends, time for another sprint update!<br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqtMbVweSa2913NEZ9YSUQMJM99k_wcqwbsJi5h416cE72u0SQyyOUsnY4mQKFta-LSFjMqPeWkGkodNu6FYVhpsquJ8V9KEHkbT6cYZI_0uaR9k1q1sxISchPgq-qOfjpk7N1k5SgXMD7/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqtMbVweSa2913NEZ9YSUQMJM99k_wcqwbsJi5h416cE72u0SQyyOUsnY4mQKFta-LSFjMqPeWkGkodNu6FYVhpsquJ8V9KEHkbT6cYZI_0uaR9k1q1sxISchPgq-qOfjpk7N1k5SgXMD7/w400-h225/OffGrid_PreAlpha_20-09-14_10-57-49.png" width="400" /> </a></div><div class="separator" style="clear: both; text-align: center;"> </div>In the last couple of sprints we did a fair amount of checking existing game systems, making sure everything works as intended, and adding some long-planned polish here and there to make those existing features look and feel better. Most visible changes from player's perspective would be improvements to how meaning and use of metadata is communicated to the player, with better messaging about what data has new metadata, making sure player knows when they gain new metadata, and making the effect of collecting data about someone more visible in the UI.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf80DsJI9WkHSNQzYFUevGoOiLHNlBHZuR4fba3cVdPphyeLpB-OWu4znqjfplkDv_scjkcXX3CrsX_vzGp_LO7QjhyphenhyphenQ2mMkhjByuWv0j8ZyC5Nx6oG6fwydOPbO-sBzLPU0828vRlcBLE/" style="margin-left: 1em; margin-right: 1em;"><br /><img alt="" data-original-height="876" data-original-width="1610" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf80DsJI9WkHSNQzYFUevGoOiLHNlBHZuR4fba3cVdPphyeLpB-OWu4znqjfplkDv_scjkcXX3CrsX_vzGp_LO7QjhyphenhyphenQ2mMkhjByuWv0j8ZyC5Nx6oG6fwydOPbO-sBzLPU0828vRlcBLE/w400-h217/SaveSlots.png" width="400" /></a></div><br /><br />One of the improvements we did was the addition of the save slots, we believe that this change will make the save system cleaner and quicker to use. Each slot (the current number of available slots is 3, but that value can be increased before launch) can have one manual save and one auto save, also the difficulty option will be associated with a specific slot, to give the option to have different game states with different difficulties at the same time, every other game option will be general and not associated with a save slot.<p></p><p><br />Improving the AI system is another important feature that we worked on in recent weeks, it's still a feature in development so we will talk more in-depth in the next sprint roundup, but essentially we felt the necessity to change the NPCs behaviour in the middle of a mission in a more flexible way, using the specific agent Lua script, doing that in an easier and transparent way. This will be a powerful tool to us and modders, to change the AI in a more dynamic way, but also it will help us to debug and improve the NPC behaviours in a faster way. For example, with this we can give a NPC a taser in the middle of a mission to attack the player. We'll have a full update on this topic on the coming weeks.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxv3XYHWmCd-J0uJ3K-Nubd1RwNdAvqMyDmGSqnR9kVtyYhyphenhyphenRVAVsSAdD2gVajJvOFcpOOfVVPfglxb1Y5tVyTFuQYVTaBgpF9YOwcKEbm6o5qVBwILBm4FPqyOiya-aqxYlqN9Xq5iR-5/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="895" data-original-width="2399" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxv3XYHWmCd-J0uJ3K-Nubd1RwNdAvqMyDmGSqnR9kVtyYhyphenhyphenRVAVsSAdD2gVajJvOFcpOOfVVPfglxb1Y5tVyTFuQYVTaBgpF9YOwcKEbm6o5qVBwILBm4FPqyOiya-aqxYlqN9Xq5iR-5/w400-h149/harbour_withcranes.png" width="400" /></a></div><br /><p></p><p>On the art front we have been importing a load of art assets into the project and reorganising our source files. We've been reworking all Existing LUTs, essentially cleaning up any old redundant character textures. <br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuNhqaWgx1cn508Th1ldDg-53yxM_bFWSKejv4T_R90n2VmA2svI7uiow3HGWzj71MLUAkNRbfLwANQom5Qkr1T8Et8ZqoisAbZDqq1csdYIuAXzJgMfSnpEbQVFvicf3vFy8TOvCj5QpF/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1015" data-original-width="1919" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuNhqaWgx1cn508Th1ldDg-53yxM_bFWSKejv4T_R90n2VmA2svI7uiow3HGWzj71MLUAkNRbfLwANQom5Qkr1T8Et8ZqoisAbZDqq1csdYIuAXzJgMfSnpEbQVFvicf3vFy8TOvCj5QpF/" width="320" /></a></div><br /><p></p><p>Whilst we made these changes, we updated the
wiki to reflect which LUTs are working and a preview of their
appearance, this should help to visualise the vast variety of LUTs we
have in the game for modders to choose from.<br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSy_bptx9QJmh-Kcx-v5xpQDjktYhpvmxWl5OTYa44W3scp_Zz4N07WMshTOoSir5ljR_EuN8nZqLimlUBeKlv_JV1xqxTnMd9lLK0dpjmeP67hJjH0k7a04mTlEJXWXQNcv1ly4A1KhFq/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="958" data-original-width="1698" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSy_bptx9QJmh-Kcx-v5xpQDjktYhpvmxWl5OTYa44W3scp_Zz4N07WMshTOoSir5ljR_EuN8nZqLimlUBeKlv_JV1xqxTnMd9lLK0dpjmeP67hJjH0k7a04mTlEJXWXQNcv1ly4A1KhFq/w400-h226/LUTs-updatingwiki.png" width="400" /></a></div><p></p>On top of all this we've been looking forward with some funding applications for some interesting post release collaborations we have in the pipeline. We've also done a lot of back end organization work, we moved cloud provider for our
documentation for the studio, and it takes a surprising amount of time
to make sure everything makes it's way over to a new system properly, and when you move stuff you realise you have a bunch or organization to do at the same time!
<h4>
In the latest game and Levelkit build : </h4>
So, what can you expect to see in the next build of the game and modding tools?<br />
<br />
<u>Content (Level Design and Art) </u><br />
<ul>
<li>Dynamic light cone mesh for flashlights (no more flashlights clipping through walls!)</li>
<li>New gates, fences, light models, concrete barriers, road/sidewalk parts etc added to LevelKit </li><li>New character LUTs have been made based on the older designs that work with the new LUT template</li>
</ul>
<br />
<u>Gameplay and Mechanics</u><br />
<ul>
</ul><ul style="text-align: left;"><li>All game systems will now only display a character's name if the player has actually learned the name from metadata or not.</li><li>Targeting system will show if a data point has new metadata the player
hasn't found yet. (also cleaned up the target info window a bit)</li><li>Data download notification shows the amount of new metadata gained from the data.</li></ul><ul>
</ul>
<br />
<u>Controls and UX</u> <br />
<ul>
<li>Save slots added</li></ul>
<br />
<u>AI </u><br />
<ul>
</ul><ul style="text-align: left;"><li>Improving and fixing various issues on the AI system such as NPCs being able to move form neutral to adversarial mid mission</li><li>Setting and changing NPCs actions and goals were improved</li><li>Cleaner NPC animation state machine setup</li></ul> <br /><div><ul>
</ul>
<u>Modding and Lua API additions </u><br />
<ul>
<li>Changes made on agent Lua script to allow for more flexible modding of AI</li><li>Lua track for Timelines (run any Lua command from a timeline - DANGER!!)<br /></li>
</ul>
<br />
<br />
<u>Bugs fixed </u><br />
<ul>
</ul><ul style="text-align: left;"><li>Character LUTs were not assigned correctly if only color or only smoothness/metallic was defined in mission Lua script.</li><li>SocialInventory was not assigned correctly so all collected metadata was just sent to void</li><li>Lua API was not handling null/nil values consistently, some API calls
returning a nil value from Lua side as a nil, and others as null.</li></ul><ul>
</ul>
<br />
<u>Other </u><br />
<ul style="text-align: left;">
</ul><ul style="text-align: left;"><li>Funding applications for post release DLC<br /></li><li>Cloud and documentation migration<br /></li></ul>
That's it for this update, we'll be back again soon with more, in the mean time stay safe folks!<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i></div>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-74081565342008888272020-07-29T11:45:00.001+01:002021-03-09T10:36:05.715+00:00Sprint Roundup: An iterative processDevblog time! From making all characters playable, API improvements, and an overhaul of our setting systems, we've packed a lot in to the most recent sprints this summer. <br />
<div>
<br /></div>
<div>
<div>
<h2 style="text-align: left;"><b>New character spawn system</b></h2>
On the last sprint roundup, we
talked about the new NPC creation system - a more flexible system to
create various types of NPCs. That was the phase one of a bigger goal: to improve and simplify the process to spawn
all characters - NPCs or playable ones.</div>
<div>
<br /></div>
<div>
The second (and final) phase
was all about making all characters playable! Now all character
prefabs are generic, and every character can be a NPC or playable. To change between these two states now just requires defining in a single line in the mission script, which, for examples, looks just like this: <i>characterType = "npc"</i>. The game will
automatically handle add the needed components and connections to make the character controlled
by the player or the AI.</div>
<div>
<br /></div>
<div>
This means you can now easily make a mission in
which you can play as a guard and Joe can be an NPC! It's a big change
that gives so much more flexibility when creating new missions.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHknTBS-imvk8zYHhr20vlrsYD4lnYyecYha21ShXFXOYkEhGK06jzXknr15sUYn5af7Gse4qXOUMQvodvcJP3SKX5Xh1hT8K0hoXsIR-nd2rY_qAZpcqnWcNVe7Sx9QMYSQ_orJD7zo/s1920/MakingAllCharactersPlayable.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Joe tazering a guard" border="0" data-original-height="902" data-original-width="1920" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHknTBS-imvk8zYHhr20vlrsYD4lnYyecYha21ShXFXOYkEhGK06jzXknr15sUYn5af7Gse4qXOUMQvodvcJP3SKX5Xh1hT8K0hoXsIR-nd2rY_qAZpcqnWcNVe7Sx9QMYSQ_orJD7zo/w400-h188/MakingAllCharactersPlayable.png" title="Revenge, finally! All characters can now be made fully playable, and that means Joe can also use a tazer!" width="400" /></a></div>
<div>
<br /></div>
<div><h2 style="text-align: left;">
<b>Look Up Tables</b></h2></div>
<div>
We also reviewed how the characters are currently implemented, and
decided how we want them to work with regards to the character look up
tables. Following this, we decided to create a new LUT template that
would work for all characters whilst still enabling a variety of
characters to be created from a single mesh, which will also take into
account the new head prop system. For this system to work, a new UV
layout has been created, which has been a great opportunity to review
all existing characters and tidy up any issues with these characters
too. </div>
<div>
<br /></div>
<div><h2 style="text-align: left;">
<b>Timeline</b></h2></div>
<div>
There's been a lot of work getting Timeline to play nicely with spawned
characters and our Lua API - so recent work has centered around
implementing the playable sections of the intro to the game making use
of this. It's been an interesting process with lots of back and forth as
Timeline really does seem like a tool made for making animated movies
in Unity rather than controlling entities in a game engine between
playable sequences. Writing "playables", the Unity components needed for
scripting different functionality into sequences, is a little arcane
too! None the less, we now have something that is looking pretty good
and sets the whole game up nicely. We think you are going to enjoy
this!</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio73XydmaFW6FwnlvhY-oI7Nwtj1Dxmp8LDxBPEi5gmhUavXsVNN4Kkwl37U0tvpDGjfMoaZr223gHLfQoplPxyRwqP9hyubknKqcNC_pXTW0eKX6PnZ5NVH6rh12FOvQUVo-SOUOhHpA/s1827/TimelineKitchen.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Joe in kitchen, Jen coming down stairs" border="0" data-original-height="978" data-original-width="1827" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio73XydmaFW6FwnlvhY-oI7Nwtj1Dxmp8LDxBPEi5gmhUavXsVNN4Kkwl37U0tvpDGjfMoaZr223gHLfQoplPxyRwqP9hyubknKqcNC_pXTW0eKX6PnZ5NVH6rh12FOvQUVo-SOUOhHpA/w400-h214/TimelineKitchen.png" title="A screenshot from some of the Timeline work for the intro" width="400" /></a></div>
<div>
<br /></div>
<div style="text-align: left;"><h2>
</h2></div>
<div>
<h2 style="text-align: left;"><b>Settings</b></h2>
We improved the settings system, and added new settings to give players more options and to add other important small quality of life features.</div>
<div>
<br /></div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBRmcGDVF6V1po0Y1Q9iBlpabXq93C5ZhYOipv8pkP4kAWe1oTa_WefMoaKYNE5LD1DnxWpggu28cx5STAkmMdvf9q-wea1UzsevcmgPMV3H9JRLoxI2L4poOzdbxaQJDdN7gKVsfoEaQ/s1572/mainmenu_05.png" style="margin-left: 1em; margin-right: 1em;"><img alt="OFF GRID main menu image" border="0" data-original-height="895" data-original-width="1572" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBRmcGDVF6V1po0Y1Q9iBlpabXq93C5ZhYOipv8pkP4kAWe1oTa_WefMoaKYNE5LD1DnxWpggu28cx5STAkmMdvf9q-wea1UzsevcmgPMV3H9JRLoxI2L4poOzdbxaQJDdN7gKVsfoEaQ/w400-h228/mainmenu_05.png" title="The main menu - access all of the new and updated settings from here!" width="400" /></a></div>
</div>
<div>
<br /></div>
<div>
The new and updated settings are:</div>
<div>
<br /></div>
<div>
<i>Gameplay</i><br />
<ul style="text-align: left;">
<li><b>Vibration</b>: enable or disabled the controller vibration</li>
<li><b>Auto hide mouse</b>: the game have full control if the mouse cursor is shown or not, dependent if the player is playing with a keyboard and mouse or a controller</li>
<li><b>Mouse locked</b> [only available if the "auto hide mouse" option is disabled]: Always show or hide the mouse cursor</li>
<li><b>Follow camera</b>: if enabled, the game camera will always follow the player character</li>
</ul>
<i>Graphics</i><br />
<ul style="text-align: left;">
<li><b>Brightness</b>: increase or decrease the screen brightness</li>
<li><b>Resolution</b>: select the resolution in a list of available ones, the user screen native resolution is set as default</li>
<li><b>Fullscreen</b>: selected between fullscreen or window mode</li>
<li><b>Locked framerate</b>: it is possible to play the game on a unlocked or a locked framerate</li>
<li><b>Vsync</b>: the options here are off, on, or half</li>
<li><b>Anti aliasing</b>: the available options on this field are FXAA (FastApproximateAntialiasing), SMAA (SubpixelMorphologicalAntialiasing), TAA (TemporalAntialiasing) or none</li>
<li><b>Anti aliasing quality</b>: the player will also be able to choose the AA quality level if it's selected FXAA or SMA on the option above</li>
<li><b>Shadows Quality</b>: it's also possible to select the shadows quality (high, medium, and low) or disable it completely </li>
</ul>
</div>
<h4>
<span style="font-weight: normal;">Quite a list that is! All together, they will certainly improve user experience. </span></h4>
<div>
<br /></div>
<div>
<div>
<div><h2 style="text-align: left;">
<b>API Improvements</b></h2></div>
<div>
Making games is very much an iterative process, often
requiring going back a few steps and re-doing what you have but in a
slightly better ways. Over the development, we've grown our Lua API a
fair bit, and sometimes things haven't ended in the most logical place,
or with the most descriptive name. And in quite a few places we've
eventually come up with a more convenient, or more flexible, way
something could be done instead. So, while we still have a chance to
make massive, breaking changes to our Lua API without annoying all the
modders by breaking their mods, we've done a bit of an overhaul of our
Lua API in general.</div>
<div>
<br /></div>
In short, the API is now
less verbose, more consistent in its syntax and its use in various Lua
scripts in the game, automates certain setup tasks better, removes some
easy chances of making mistakes in your scripts, and after all the
changes, our mission scripts shrunk in size by about 25%, so you'll
probably end having to write less code to make your mods as well!</div>
<div>
<br /></div>
<div style="text-align: left;"><h3>
</h3></div>
<div style="text-align: left;"><h2 style="text-align: left;">
<b>In summary<br /></b></h2></div>
</div>
<div>
As always, a quick list-based summary of the progress: <br /></div>
<div>
<br /></div>
<div>
<u>Characters</u><br />
<ul>
<li>Finished the new spawn character system</li>
<li>Bugs fixed and polish on characters and save systems</li>
<li>Character LUTs</li>
</ul>
</div>
<div>
<u><br /></u></div>
<div>
<u>Content (Level Design and Art) </u></div>
<ul style="text-align: left;">
<li>Intro cutscene playable and tutorialised</li>
<li>Testing the Unity Timeline integration with our Lua API and extending it to fit the implementations we need it for</li>
<li>Work with virtual cameras and targeting in Intro to make them behave nicely now they are following dynamic spawned targets</li>
<li>Continued work on the harbour level</li>
<li>Harbour props - creating fences, gates and cranes to help make the harbour feel more authentic</li>
<li>Adding head props to the unity project</li>
</ul><div><br />
</div><div><u>Controls and UX</u> </div>
<ul>
<li>New and updated settings <br /></li>
</ul>
<br />
<u>AI </u><br />
<ul>
<li>Writing custom AI Agents for intro level interactions </li>
</ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul>
<li>Updated some existing levels to new Lua API</li>
<li>Added in-game debug UI with support for executing Lua commands while testing the game/mods</li>
</ul>
<br />
<u>Bugs fixed </u><br />
<ul>
<li>Lots of generic clean-up and fixing various small bugs</li>
</ul>
<div>
<br /></div>
<div>
As always, thank you for reading and following along on this development journey! <br /></div><div><br /></div>
<ul>
</ul>
<b>The OFF GRID Team</b><br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-66056014757300607972020-06-12T17:38:00.000+01:002020-06-12T17:38:19.306+01:00Steam Game Festival Event Lineup: June 16th - 22ndOFF GRID is part of the Steam Games Festival: Summer Edition, now running from June 16th to 22nd! The date may have changed, but our plans have not! <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCFVanMoO9cvt_D8LvWp1VEnGOKiVE5zbtm-uPI0d8FpuPDzK6AevyDbNaBeDFX2iEy0eVz5wtpaSmaeWiZv6IyCaouAc_MdnmomHFIiNPRgpqZ1G-PBlVyvXNwWfDLSG7w8R9innj-_k/s1168/SteamGameFest2020.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="509" data-original-width="1168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCFVanMoO9cvt_D8LvWp1VEnGOKiVE5zbtm-uPI0d8FpuPDzK6AevyDbNaBeDFX2iEy0eVz5wtpaSmaeWiZv6IyCaouAc_MdnmomHFIiNPRgpqZ1G-PBlVyvXNwWfDLSG7w8R9innj-_k/s320/SteamGameFest2020.png" width="320" /></a></div>
<br />
<br />
If you recieve our newsletter, you will already be in the know - if not, that's a gentle reminder to <a href="http://newsletter.offgridthegame.com/?p=subscribe&id=1" target="_blank">go sign yourself up now</a>. :)<br />
<br />
What can you expect during the Steam Game Festival starting Tuesday?! Plenty! We've got SIX ways to for you to join in the fun: <br />
<br />
<h2>
1. Download and play a free demo of OFF GRID! </h2>
<h3>
<i><font size="4"><span style="color: #f57c00;"><span style="font-family: "verdana";">Starting 10am PDT, June 16th - 22nd</span></span></font><br /></i></h3>
<br />
Yep, you heard that right! It's time limited, but it will be there for you to get a taste. Head on over to the <a href="https://store.steampowered.com/app/526720/OFF_GRID__Stealth_Hacking/" target="_blank">OFF GRID Steam page</a> and get your fix!<br />
<br />
<h2>
2. OFF GRID Developer Q&A</h2>
<h3>
<font size="4"><span style="color: #f57c00;"><span style="font-family: "verdana";"><i>Tuesday, June 16th, 10am PST / 6pm BST</i></span></span></font></h3>
<br /><div>
Questions at the ready, because you can ask us anything! We'll be taking questions in the live <a href="https://store.steampowered.com/app/526720/Off_Grid/" target="_blank">Steam Broadcast</a> chat AND via <a href="https://www.reddit.com/r/offgridthegame/comments/h7intz/off_grid_developer_ama_livestream_tuesday_june/" target="_blank">reddit</a>. <br /></div>
<br />
<h2>
3. Chinese OFF GRID Play Along</h2>
<h3>
<font size="4"><span style="color: #f57c00;"><span style="font-family: "verdana";"><i>Wednesday, June 17th, 1pm BST / 8pm CT</i></span></span></font></h3><div><br />Join us for a play along Q&A session for the Chinese audience with our fried Hao who is keen to help OFF GRID reach his home country of China. He'll be leading a Q&A session for us and translating the interview into Chinese live as we play through the demo.</div>
<br />
Hao runs his own small studio, Flying Hammer, and is a concept designer, game developer, animator and entrepreneur working in both the UK and China, making educational games and animations. He is passionate about gaming culture exchange and helping get indie games like Sable, and now OFF GRID, seen in his homeland!<br />
<br />
<i>**Disclaimer** At the moment, OFF GRID isn't translated to Chinese, but we are keen to help support Chinese players with the limited resources we have as a four person indie studio. We have translated our Steam page to make a start in this direction, and have modding support for the game that we hope can mean at the very least, that Chinese players will be able to add Chinese localisation mods of OFF GRID to the Steam Workshop. We will do our best to aim for an official Chinese Translation of the game at some point post-release. </i><br />
<br />
<h2>
4. OFF GRID DevStream: CCCamp Mod<br /></h2>
<h3>
<font size="4"><span style="font-family: "verdana";"><span style="color: #f57c00;"><i>Thursday, June 18th, 12 noon PDT / 8pm BST</i></span></span></font> </h3>
<br />
Part of our reguarly stream series - we'll be back with the infamous <a href="https://twitter.com/mcflyhh" target="_blank">mc.fly</a> and <a href="https://twitter.com/maltman23" target="_blank">Mitch Altman</a> - a seriously cool hardware hacker and inventor of TV-B-Gone on the lineup! We'll continue modding & making the hardware hacking area in our CCCamp mod, which Mitch runs IRL. <br />
<br />
<h2>
5. OFF GRID Livestream + Showcase: Steam Game Festival Edition</h2>
<div class="eventbbcodeparser_Header3_3s7cU">
<h3>
<font size="4"><span style="color: #f57c00;"><span style="font-family: "verdana";"><i>Saturday, June 20th, 12 noon PDT / 8pm BST</i></span></span></font></h3>
</div>
<br />
This special edition livestream will be a chance to: <br />
<ul class="eventbbcodeparser_UnorderList_3995Y">
<li>explore OFF GRID's unique mechanics and how they were created</li>
<li>speak with the hackers who have consulted on the game for realism and feature as characters</li>
<li>showcase OFF GRID's moddability and how you can craft and contribute to the stories within the universe</li>
</ul>
<br />
<h2>
6. Hacker Hangout Livestream</h2>
<h3>
<font size="4"><span style="color: #f57c00;"><span style="font-family: "verdana";"><i>Sunday, June 21st, 12 noon PDT / 8pm BST</i></span></span></font></h3>
<br />
A chance to just hang out with the hackers, hactivists and heros that inspire OFF GRID. We'll do a livestream so that you can see more of the game, and we can chat about all things hacker culture as we do. Ask your questions in Steam Broadcast chat, and we can have a good ol chinwag about all things that they can legally answer. We'll be joined by Lauri Love, pathfinder, mc.fly, and more! <br />
<font size="4"><b><br /></b>
<b>We stream direct from <a href="https://store.steampowered.com/app/526720/Off_Grid/" target="_blank">Steam Broadcast</a>, as well as <a href="https://www.twitch.tv/semaeopus" target="_blank">Twitch</a> and <a href="https://www.youtube.com/offgridthegame" target="_blank">YouTube</a> - be sure to join in!</b> </font> <br />
<br />
We're looking forward to the start of the festival! In the meantime, you're welcome to join our <a href="https://discord.com/invite/semaeopus" target="_blank">Discord</a> if you haven't already. We've got a good group of people - they're a sharp, fun bunch -
be great to have you in there, too! <br />
<br />
SEE YOU THERE!<br />
<br />
The OFF GRID Team<br />
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-72051825081588562212020-05-20T13:18:00.001+01:002021-03-09T10:36:25.073+00:00Sprint 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. <br />
<h3>
Improving User Experience</h3>
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.<br />
<br />
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. <br />
<br />
<h3>
Character Updating</h3>
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!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZFu7STH42MEtJPBeRPFlkR9e1BSvpIf2L5ZaaIcpsmk0-4FW84XRlCpRmKkKw7Y9FjP0kivQwtSUozGj-BlyI6G3JXNx5LoS6biVyJCqdpMJ0rbDwC3_qX5Zvof22ydElxpgyDMRsZDY/s1600/charactersupdated.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="665" data-original-width="1387" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZFu7STH42MEtJPBeRPFlkR9e1BSvpIf2L5ZaaIcpsmk0-4FW84XRlCpRmKkKw7Y9FjP0kivQwtSUozGj-BlyI6G3JXNx5LoS6biVyJCqdpMJ0rbDwC3_qX5Zvof22ydElxpgyDMRsZDY/s400/charactersupdated.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New characters have entered the building!</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkRzh3g8AZfQGew53bKdpXzdtWeWTv9mvf4HroVwPmWSl0m8aLJdSbfzwd1LUdaFOcLhmEYjNzEl97Y_WtthklXQT1Ws-mIRCA3rY-sBM_b05w9Gpg_jETyWMzcDoDnHwkGNAP3UvhWOY/s1600/mowhawk.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="418" data-original-width="512" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkRzh3g8AZfQGew53bKdpXzdtWeWTv9mvf4HroVwPmWSl0m8aLJdSbfzwd1LUdaFOcLhmEYjNzEl97Y_WtthklXQT1Ws-mIRCA3rY-sBM_b05w9Gpg_jETyWMzcDoDnHwkGNAP3UvhWOY/s320/mowhawk.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Character customisation - accessories, hair, and colours can be changed.</td></tr>
</tbody></table>
<br />
<h3>
NPC Direction</h3>
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.<br />
<br />
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:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUguoHkxgSRmxjaYlEzk9PAcZ1rIrmRVdK8VQCoMWDfedQYfv8Me6mDIT8hGgNwEUsiBkxzCpk32v-DSTu9H25gxFjgsVCBmPZFeQ3idMKncQ_dc6TMG-lWRnechZCrlv-gkxwTYiQn5c/s1600/NPCdirectionvisual.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="431" data-original-width="990" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUguoHkxgSRmxjaYlEzk9PAcZ1rIrmRVdK8VQCoMWDfedQYfv8Me6mDIT8hGgNwEUsiBkxzCpk32v-DSTu9H25gxFjgsVCBmPZFeQ3idMKncQ_dc6TMG-lWRnechZCrlv-gkxwTYiQn5c/s400/NPCdirectionvisual.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arrow indicates the direction this non-playable character should face. </td></tr>
</tbody></table>
This helps us and modders to line up the characters correctly when setting up the patrol routes and interactions. <br />
<br />
<h3>
Improving and cleaning the NPC creation system</h3>
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. <br />
<br />
<h3>
What will you see in the next build? </h3>
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: <br />
<br />
<u>Characters</u><br />
<ul>
<li>All protoype characters removed and new characters implemented across the game</li>
<li>Characters available in all colours, shapes and sizes now in game - ready to be tweaked and modded as you please</li>
<li>Improved creation of NPCs:</li>
<ul>
<li>Ability to create different types of NPCs with various actions and behaviours in a flexible way</li>
<li>Some components are added in runtime, using the information in Lua scripts</li>
<li>Simplification, merging, and removal of some NPC scripts</li>
</ul>
</ul>
<br />
<u>Gameplay and Mechanics</u><br />
<ul>
<li>Support for scheduling things to happen based on date / time (in addition to the existing "do after X seconds" option)</li>
</ul>
<br />
<u>Controls and UX</u> <br />
<ul>
<li>Fixed issues with data view visible range and actual targeting range not matching</li>
<li>Improved visibility of data & data trails</li>
<li>Fixed data view range not always resetting to minimum correctly</li>
<li>Fixed data view shader using negative transparency with missing/bad UV's on meshes</li>
</ul>
<br />
<u>AI </u><br />
<ul>
<li>New system to control the NPC direction at certain actions:</li>
<ul>
<li>It improves the movement before the NPC interact with a device</li>
<li>Gives more control in the guard's patrol</li>
<li>Gizmo added to visualise the desired direction </li>
<li>Cleaner organisation and seperation of NPC functionality, which should make debugging various parts of the codebase easier</li>
</ul>
</ul>
<br />
<ul>
</ul>
<u>Modding and Lua API additions </u><br />
<ul>
<li>Lots of Lua scripting API cleanup, with more consistent and less verbose syntax for things </li>
<li>Requirements for level creator / modder to set up certain things have been removed and are now handled automatically instead</li>
</ul>
<br />
<h3>
Other tasks and upcoming events</h3>
<ul>
<li>Rich did a presenation on modding and mod communities for Tentacle Zone : </li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/oFoYEiDI1TY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/oFoYEiDI1TY?feature=player_embedded" width="320"></iframe></div>
<ul>
<li>We submitted to Steam Games Festival - fingers crossed! </li>
<li>Moving and tidying of all Semaeopus and OFF GRID organizational documentation to a new system</li>
</ul>
<br />
Tonight (Wednesday the 20th), we will be demoing OFF GRID and our Milliways mod during the <i>World Game Night: Made in London Edition</i> event put on by Playcrafting. If you're free, join in - this session is all about UK games and their makers! Check it out: <a href="https://www.eventbrite.com/e/world-game-night-made-in-london-tickets-102541967786" target="_blank">https://www.eventbrite.com/e/world-game-night-made-in-london-tickets-102541967786 </a><br />
<ul>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="540" data-original-width="1080" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6ftCuCbccAhea3-aHMKRlVfiThP5q6FFPIKubFMNnNdytJTHZb2r62drLxx5WaszeKYZvOfz5PeqNwtB2QQ9ohel4-29Xi_MbghwVA2WtonUFa-p-y91VHFfGZE9LZ7sTMz-B7CpClkI/s320/worldgamenight.jpg" width="320" /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Thanks for reading!<br />
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist OFF GRID on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! Thank you!</i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-91400858655507420312020-03-23T17:37:00.000+00:002020-03-26T11:34:32.819+00:00Sprint Roundup "Swimming up the features stream"Wow, where has the last month or so gone?! We skipped a test sprint (and a blog post, apologies) to get a couple of features pushed further along and in that time the whole world has set on fire. However, we area lucky in working with computers, and although not completely unaffected we are managing to crack on with dev, so here is your long awaited Sprint Update! We hope, wherever you are in the world, that you and your family are holding up ok, hopefully a little insight into the mundanity of OFF GRID's digital universe will provide some respite for your weary mind in these strange times.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLkh84YO3-YsdGGXFIrtg-_y22ZRL730bVAzF-w3xoxsUIVh883oCA-zLZPSu98bQRmWlE4mDFjiDQdda3JiPou6oS3KFWtml3VOKMgr1xuH9Nr50w3xPNgFoA3YYVbwL2p8Eepv5i6fAh/s1600/key_Art_01-layers.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="839" data-original-width="1477" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLkh84YO3-YsdGGXFIrtg-_y22ZRL730bVAzF-w3xoxsUIVh883oCA-zLZPSu98bQRmWlE4mDFjiDQdda3JiPou6oS3KFWtml3VOKMgr1xuH9Nr50w3xPNgFoA3YYVbwL2p8Eepv5i6fAh/s400/key_Art_01-layers.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Trialing and tweaking new key art</td></tr>
</tbody></table>
<h4>
<a name='more'></a> Working up new Key Art </h4>
Pretty excitingly we have been working with an awesome Portuguese artist, Joao Sapiro, to work up some new images for our key art and capsules. We have got something really special coming together, focusing more on the themes of the game directly through its characters. Here is a sneak peak!<br />
<br />
<h4>
Making Timeline dynamic, and moddable!</h4>
We spent the last two sprints working on some features to improve signposting and tutorialisation in the game. This was namely in the form of a) implementing Unity Timeline instances that work with dynamic characters, cameras, and objects being spawned and b) being able to give cameras dynamic lookAt/follow targets. As with everything else OFF GRID this has to fit into the moddable systems. We decided it was needed so that devices & mission objects etc can set the camera target as the current NPC (or player) interacting with that object. This gives us a huge amount more flexibility when trying to signpost specific moments or interactions, but oh my did we find that timeline has some quirks when getting it to work with dynamic instances!<br />
<br />
It's odd to say this, but at times it has felt like the entire Timeline feature has been built without interactive video-game use cases in mind...<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBAE9IRMHsL7OzYGiUjXQJqj6pxovtbNCe2baB5-05npSwRs_aVJpgqjFJ5q0u3ZGDCHl0gFWTT_m-v-VarMS2OFBppVpXxtJmQPRETMzm874GJNz6PmQXou_fRLnV-i_NqP4U6RKQ7lQ/s1600/87590558_2421930818120379_1104379135687393280_n.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="640" data-original-width="960" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBAE9IRMHsL7OzYGiUjXQJqj6pxovtbNCe2baB5-05npSwRs_aVJpgqjFJ5q0u3ZGDCHl0gFWTT_m-v-VarMS2OFBppVpXxtJmQPRETMzm874GJNz6PmQXou_fRLnV-i_NqP4U6RKQ7lQ/s400/87590558_2421930818120379_1104379135687393280_n.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Implementing Timeline in a dynamic setting can feel like swimming upstream</td></tr>
</tbody></table>
<h4 class="editable-field inactive" id="summary-val" title="Click to edit">
Defining gesture & sound events in Hackable/InterestPoint devices</h4>
Previously these were being done in the agent Lua script (or, <b>should</b> have been done there atleaset!).
That didn't allow for mods that would add new devices (each mod would
require replacing all agent scripts in all levels, or the device can't
be used by those agents), there needed to be a way to at least define a default gesture in the device itself. <br />
<br />
We added support for defining use of gestures & sound events in Hackable
devices (on the Unity scene object/prefab). Hackable devices and
InterestPoints need to be something modders can create, so the default
gestures & sounds to play when using them needs to be defined in the
scene object (or prefab), on the Unity side. AI Lua scripts can then
define an override to this if the specific NPC should play a different
animation. But having a default one defined in the scene object makes
sure new devices are usable by all characters without having to modify
AI code for every new added device (which would have been a pretty
impossible situation for modding support).<br />
<h4>
Vibration patterns on the controller</h4>
Vibration patterns. Not all of them, and none are final, but there's
some in the game now and we can keep adding more & tweaking them
until they feel nice.<br />
<br />
We added a new tool on the dev side of the project to help us to implement quickly, various vibration patterns. Each vibration pattern has various options that we can use to define different types of vibrations (like you can see in the following screenshot).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizo9OJ4xSMMM8TTS39fJB0QahOmFNzn74L1xXm8XcWKiOIF_DJRqtn619kImns6__9NNh8s5mi8-Msdi03EikcN7lThl67aIBHMopWRnQzk4XiEjYedFRZjGxpHw3_Hyv5Iq94RIhnMbOK/s1600/image+%2528102%2529.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="581" data-original-width="647" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizo9OJ4xSMMM8TTS39fJB0QahOmFNzn74L1xXm8XcWKiOIF_DJRqtn619kImns6__9NNh8s5mi8-Msdi03EikcN7lThl67aIBHMopWRnQzk4XiEjYedFRZjGxpHw3_Hyv5Iq94RIhnMbOK/s400/image+%2528102%2529.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Our simple vibrations pattern tool</td></tr>
</tbody></table>
<br />
To start, we can control each motor vibration individually, so it's possible to have a vibration pattern in only on one motor. Each motor (or the both of them) has a curve that defines the level of vibration. That vibration can be constant or can have an interval between two values. It's also possible to define a constant vibration pattern, that is a loop, which can have a fixed duration or it can have a minimum and maximum duration. This in turn enables us to have patterns that change duration or force according to the situation of the game.<br />
<br />
So, for example, it's possible to have a vibration pattern that can increase or decrease it's force according to the distance between the player and a respective objective, like a mission objective object. It also has some less important options, like pause between loops, and that pause duration can also change according to something that is happening in the game. So, with all that, it's a flexible tool that's going to help us to add new vibrations and improve the game's moment to moment experience, and player feedback.<br />
<h4>
Bizdev baby</h4>
We have had some of the year's un-sexiest admin work over the last month or so with our annual returns, but thanks to VGTR that at least means and nice cheque at the end of the process, which, with everything being so uncertain with COVID-19 on the loose, is much appreciated.<br />
<br />
We are also lucky enough to be part funded by Creative England. Recently we have been able to take advantage of their support to do some business planning and a series of investment events, workshops and mentor meetings. We have some exciting news on a well known new advisor of ours that we will be able to talk more about soon! As development of OFF GRID gets further down the road and closer to release we have started making some rough plans for expansions and future titles from Semaeopus too. Exciting times!<br />
<h4>
In the latest game and Levelkit build : </h4>
No build this time around while we get these features finished and tested, so, what can you expect to see in the *next* build of the game and modding tools?<br />
<br />
<u>Content (Level Design and Art) </u><br />
<ul>
<li>Created and imported Character Profiles for first half of levels </li>
</ul>
<u>Gameplay and Mechanics</u><br />
<ul>
<li>Defining gesture & sound event in Hackable/InterestPoint device</li>
</ul>
<u>Controls and UX</u> <br />
<ul></ul>
<ul>
<li> New vibration tool</li>
<ul>
<li>Tool to add various types of vibrations, in an easy and flexible way</li>
</ul>
<li>Timeline/Camera dynamic lookAt/follow target</li>
<ul>
</ul>
</ul>
<u>AI </u><br />
<ul>
<li>Improved and fixed the NPC AI</li>
<ul>
<li>The NPC AI can now search better for the player after losing them</li>
</ul>
</ul>
<u>Modding and Lua API additions </u><br />
<ul>
<li>Lua API to manage the current level data points, this makes it possible to do the following actions:</li>
<ul>
<li>Get DataPoints from a certain object/NPC</li>
<li>Get data from the data points</li>
<li>Filter DataPoints with:</li>
<ul>
<li>Network name</li>
<li>Data type</li>
</ul>
<li>Save and remove data info in the the players inventory</li>
<li>Remove data points from the level</li>
</ul>
</ul>
<u>Bugs fixed </u><br />
<ul></ul>
<ul>
<li>NPCs didn't react correctly to noises, now they do </li>
<li>The taser didn't do/finish the taser action sometimes [only rarely occurred], now it does</li>
<li>NPCs always check their phone on level start before anything esle</li>
<li>UsePointAction triggered gesture & device use message every frame while using the device</li>
<li>When the NPC was in search intruder action it ignored the player, and also sometimes it didn't do the taser action in any state </li>
<li>Data & keys we assign to NPC's in mission setup were counting as received, unread messages</li>
<li>AI action to use a device was triggering gestures & device code per-frame while using the device, rather than once when starting to use it</li>
<li>Target selection sound wasn't played when targeting was enabled when current target was same as previous target</li>
<li>Data view visualization range and actual targeting range don't match</li>
</ul>
All now fixed! <br />
<ul></ul>
<u>Other </u><br />
<ul>
<li>#bizdev baby!</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSrpTnqqcQQq4U8vXtH7EyGtrpHUDL7spmlzeqfBg6MU_85lNOXhdg2TfCFnp4Alv08bqrGBlDGjirUj4U_yA44Dp0gNj0yXOQMhlQsMXmwBkpsYUOo612VqHs3sy67De6m9vxG-HrUo_k/s1600/2020-03-23_MilliwaysMod.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="652" data-original-width="1273" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSrpTnqqcQQq4U8vXtH7EyGtrpHUDL7spmlzeqfBg6MU_85lNOXhdg2TfCFnp4Alv08bqrGBlDGjirUj4U_yA44Dp0gNj0yXOQMhlQsMXmwBkpsYUOo612VqHs3sy67De6m9vxG-HrUo_k/s400/2020-03-23_MilliwaysMod.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Virtual CCCamp in the Milliways mod </td></tr>
</tbody></table>
We are restarting the Dev Stream just in time for those self-isolation blues! And what a time to be doing so, as the extra free time that some of our hacker collaborators are finding themselves with means we have the opportunity to crack out the Milliways mod and make some progress on it. If you would like to swat up on things ahead of time then be sure to check out the previous streams and other resources on the <a href="http://wiki.offgridthegame.com/index.php?title=Milliways_CCCamp_mod" target="_blank">wiki page</a>.<br />
<br />
Be sure to tune in at 8pm GMT on Thursday (26th March) to learn some more about modding in OFF GRID and hacker culture in general.<br />
<br />
Thanks for reading, as always we hope you found it interesting. Let us know in the comments or on the forums if there is something you want more detail on, or that we used too much jargon explaining and you'd like us to clarify, we love a good chat! We look forward to speaking with you more online!<br />
<br />
While you are self-isolating, social distancing, and generally keeping out of public, why not work through your Steam backlog so you are ready to play OFF GRID when it releases ;)<br />
<br />
Bye for now, and stay safe and healthy folks.<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-45621811127922485682019-12-27T17:48:00.000+00:002019-12-27T18:21:51.164+00:00Sprint Roundup - "This week I have been mostly eating bugs"Welcome folks, to the last devblog of the year! We hope you have had happy holidays wherever you are in the world. Festive cheer, lots of food, and if you don't celebrate a holiday this time of year then we hope you have had some time off to play some games at the very least.<br />
<h3>
Eating bugs </h3>
We have had some fun stuff, and some not so fun stuff, this last couple of sprints. But in all fairness the not so fun stuff has been satisfying... We decided to spend some extra time on lengthening the test sprint and working through bugs to tidy up the backlog ahead of the end of the year. Oh boy does it feel good reducing tech debt!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigFArIQsOkKZDDk9qdI8YaxLN0EjZi-PyPBEgKDpfuy-cfUbivqXoqjlJYl7qvyNveLPsfk7g-CktHuEgZnqqgEtoczokr5yZhWCVzm-x2EcoeMbwnGC8epQDJmLUDJKi0SF_wS8I3vZRs/s1600/31_bugs_squashed.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigFArIQsOkKZDDk9qdI8YaxLN0EjZi-PyPBEgKDpfuy-cfUbivqXoqjlJYl7qvyNveLPsfk7g-CktHuEgZnqqgEtoczokr5yZhWCVzm-x2EcoeMbwnGC8epQDJmLUDJKi0SF_wS8I3vZRs/s400/31_bugs_squashed.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Eating ALL the bugs.</td></tr>
</tbody></table>
<br />
The last month or so has included:<br />
<ul>
<li><span style="font-weight: normal;">bugs</span></li>
<li><span style="font-weight: normal;">more bugs</span></li>
<li><span style="font-weight: normal;">some non-bug fixes</span></li>
</ul>
<h4>
<span style="font-weight: normal;">As Pontus put it "this week we have mainly been eating bugs :D"</span></h4>
<h4>
<span style="font-weight: normal;"><a name='more'></a> </span></h4>
<h3>
<span style="font-weight: normal;">A new look for Steam </span></h3>
We did some admin around the edges too, getting the Steam Library artwork all updated for the new look launch of Steam Library, and we have started making use of the new formats for Steam Announcements, as you as you may well be able to tell if you are reading this on Steam! The backend is so much nicer from a developer perspective, and hopefully it is all working nicely for you to have the whole thing collected together and centralised on the Steam community pages.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXBt7ESszIfzfKNm966IRsTOZdm-3O6vWjqBPtWJPXoWKaErwNr5iXHMQB-JqmsqlAmd8eo7VP9nWv43pPibi9siqzBsk41fClG0zEzZd-lh6lJVmta9tBiQ0V8DHCQAQxmYg-6YL7kgrU/s1600/capsule_library_02.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXBt7ESszIfzfKNm966IRsTOZdm-3O6vWjqBPtWJPXoWKaErwNr5iXHMQB-JqmsqlAmd8eo7VP9nWv43pPibi9siqzBsk41fClG0zEzZd-lh6lJVmta9tBiQ0V8DHCQAQxmYg-6YL7kgrU/s400/capsule_library_02.jpg" width="266" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Our new box art for Steam Library</td></tr>
</tbody></table>
<h3>
<span style="font-weight: normal;">A little helper on the Discord</span></h3>
<span style="font-weight: normal;">But even more importantly for you good folks who are here keeping up on our news and take part in the various OFF GRID communities, we launched a bot pathfinder has been working on to the Semaeopus Discord.</span><br />
<br />
<span style="font-weight: normal;">Why not <a href="http://www.discord.gg/semaeopus" target="_blank">hop in there now</a> and try throwing around a few commands?</span><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh7pAj-B_3s16jILMzx_r4UYwdVmZhICbN6v-kvgFIELpYpTOShqiFTRIyqdbNmsG4F4uleoE6_q0CzxOcTV1evuDj7RexjLTpwfa3KgHP094PmV8o5vxKFctuxYr5858hWPU3u1ulavkU/s1600/DarthVegas-screenshot.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh7pAj-B_3s16jILMzx_r4UYwdVmZhICbN6v-kvgFIELpYpTOShqiFTRIyqdbNmsG4F4uleoE6_q0CzxOcTV1evuDj7RexjLTpwfa3KgHP094PmV8o5vxKFctuxYr5858hWPU3u1ulavkU/s400/DarthVegas-screenshot.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Darth Vegas in action.</td></tr>
</tbody></table>
<h3>
<span style="font-weight: normal;">But what about the game itself?!</span></h3>
<span style="font-weight: normal;">Well a load of work went into new gameplay and testing for the opening
missions in the game, and that included optimising and bringing a higher
level of polish to some of our draft levels, coloring and braking up
walls, adjusting lights, and baking initial lightmaps for testing
gameplay in the shadows. </span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivTxVidc9fUK3r3BYQSGVKBy1EKCwcpSLifidIIvn3zB12R6uIyhBFMzvILqk_JA8278nExwi8PfSRoym5TZ0uoc-9tsW4pcBsvZqF_5hwP83Wc4fXceXiygAsJmYr8TP9s_6yC3hLZQA1/s1600/physics_check.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivTxVidc9fUK3r3BYQSGVKBy1EKCwcpSLifidIIvn3zB12R6uIyhBFMzvILqk_JA8278nExwi8PfSRoym5TZ0uoc-9tsW4pcBsvZqF_5hwP83Wc4fXceXiygAsJmYr8TP9s_6yC3hLZQA1/s400/physics_check.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Debugging physics colliders</td></tr>
</tbody></table>
<h3>
<span style="font-weight: normal;"> Arty stuff</span></h3>
We pushed forward with the design and creation of a system of pipes and cables with multiple interconnecting pieces, and made <span style="font-weight: normal;">a bunch of new environment art including cleaning products, janitor supplies, rugs, roof antennas, satellite dishes and more.</span><br />
<h4>
</h4>
<h4>
</h4>
<h4>
</h4>
<h4>
</h4>
<h3>
<span style="font-weight: normal;">Profiling</span></h3>
<h4>
<span style="font-weight: normal;">We made a start on creating and writing up character profiles for all of the NPCs and started connecting them in mission scripts in game, lots of little back story elements and relationships between characters have started to be developed too. Exciting stuff!</span></h4>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDVkW5Lrg-WyCAlEcNL-qwdOM1WwI_W9CUHc6fBMqeBPNWoKb29D2MJRtkq1jrgFf_ipR0mBk5tQ4zLhCThuX-hT4FqS0cRQs88oGMWqfPM-phbDVVWoUDzzWwUU0ePwkqDKYfbinZ8gK3/s1600/screenshot_desktop_filipe_04.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDVkW5Lrg-WyCAlEcNL-qwdOM1WwI_W9CUHc6fBMqeBPNWoKb29D2MJRtkq1jrgFf_ipR0mBk5tQ4zLhCThuX-hT4FqS0cRQs88oGMWqfPM-phbDVVWoUDzzWwUU0ePwkqDKYfbinZ8gK3/s400/screenshot_desktop_filipe_04.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Adding a little character</td></tr>
</tbody></table>
<h4>
<span style="font-weight: normal;">Additionally we kicked off a new phase of audio work with our sound designer Jonas now that new levels are steadily flowing his way.</span></h4>
<h3>
<span style="font-weight: normal;">Fixing Tasers</span></h3>
<h4>
<span style="font-weight: normal;">We improved a few systems too, including the timings of the taser action and animation. Now when the animation sends the information to show/hide the taser prop it also enables/disables the needed effects, allowing for everything to be more synchronous and more automatic. </span></h4>
<h4>
<span style="font-weight: normal;">We also added a system to help to know if the wanted action's animation is playing or not, this will help to finish some actions properly, for example in the past sometimes the taser action wasn't played correctly or even at all, and the looking at the phone animation was played instead, that happened because the phone action was called right after that taser action and interrupted it. These types of issues are now fixed.</span></h4>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9nxFYwK9Abuwv7EGvx4uUOWszlbuwHCqrz7ST7d2iQbrw6radYo91f9bz5k7stzegFQrUCVmew7Z4ltY3f65a4iTKNQRi1zMhDOWmqDD6WcBnOHa9RDbtClLq061tAeG5-l8Rw-1qnriK/s1600/AndreScreenDec19_tazer.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9nxFYwK9Abuwv7EGvx4uUOWszlbuwHCqrz7ST7d2iQbrw6radYo91f9bz5k7stzegFQrUCVmew7Z4ltY3f65a4iTKNQRi1zMhDOWmqDD6WcBnOHa9RDbtClLq061tAeG5-l8Rw-1qnriK/s400/AndreScreenDec19_tazer.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Buzzing.</td></tr>
</tbody></table>
<h3>
In the latest game and Levelkit build : </h3>
So, what can you expect to see in the next build of the game and modding tools?<br />
<br />
<u>Content (Level Design and Art) </u><br />
<ul></ul>
<ul>
<li>Fixes to system download notifications where items giving data are set up wrong</li>
<li>Refactored and fixed mission script and lua errors in new missions</li>
<li>Fixed all schedulers to be nested inside empty functions</li>
<li>Made sure all props are prefabs and fix parent/scale/skew issue</li>
<li>Worked on textures for posters signs and other environmental storytelling</li>
</ul>
<u>Gameplay and Mechanics</u><br />
<ul></ul>
<ul>
<li>Saving a game were improved, adding more information to a file</li>
<li>The NPC taser action was fixed and the timing was improved</li>
</ul>
<ul></ul>
<u>Controls and UX</u> <br />
<ul></ul>
<ul>
<li>Automatic doors now open automatically if the door is unlocked and the player or a NPC is near it</li>
</ul>
<ul></ul>
<u>Other</u><br />
<ul></ul>
<ul>
<li>Generated and uploaded new wiki docs and snippets to Off Grid wiki </li>
<li>Started adding support for using Timeline with our Lua scripting system</li>
</ul>
<ul></ul>
That's it for now, see you in 2020!<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-54263758758921314452019-09-30T22:18:00.000+01:002019-10-15T09:40:41.642+01:00Coworking and Cracking On - Sprint Roundup 30.09.19Hello faithful OFF GRID fans!<br />
<br />
We had a fairly unique sprint this time around, with loads of doing stuff IRL! And with that we have got plenty to update you on with this sprint: <br />
<h4>
Facetime</h4>
This sprint we had a great co-working session with the team in Essex. It was the first face-to-face gathering with all of the current team in one place, and so we made sure to start it off well! Sarah welcomed the team with fresh, homemade doughnuts and Rich had several racks of ribs ready for the smoker.<br />
<br />
It was an extremely useful co-working session with lots of planning and organisation - with discussion carefully curated by Filipe. The team also got together with other Essex devs for a bowling session one evening... and we've learned there are no standout bowlers on the team!<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEGTEsqJdOV-JNMmKx6TIAWxLJ1s_61shbGggZu3Ba6G1DCIgiEo_H14vHyV2gWHgaqMkL7e7R5IuiggWKLMcJ9Y0QUHv7wyaIFyrCBDdVK5HdyV6GTZ7sm0AD5SnQFdfoH7kVywr5AN4/s1600/IMG_20190911_205450.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEGTEsqJdOV-JNMmKx6TIAWxLJ1s_61shbGggZu3Ba6G1DCIgiEo_H14vHyV2gWHgaqMkL7e7R5IuiggWKLMcJ9Y0QUHv7wyaIFyrCBDdVK5HdyV6GTZ7sm0AD5SnQFdfoH7kVywr5AN4/s320/IMG_20190911_205450.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Essex Dev Bowling</td></tr>
</tbody></table>
<br />
<a name='more'></a><br /><br />
We have built a studio and processes around working remotely (and even globally!). It gives us access to talent we wouldn't manage any other way, but it is so good to get together and share a meal around a table.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilKvSf22aO1ipIg1bDeubEkQjbGBN39U_XSfN8c-TkS-aB5k5vjB49QKkM45G_LNMSJByA1NyNT0MvJA6Jq4CncR7XYITlkrVPN253DVtrS_UFArwBTJLL3dQ4a7SvonWgZyJyBECxfF4/s1600/CoworkingRibsSep2019.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1078" data-original-width="1600" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilKvSf22aO1ipIg1bDeubEkQjbGBN39U_XSfN8c-TkS-aB5k5vjB49QKkM45G_LNMSJByA1NyNT0MvJA6Jq4CncR7XYITlkrVPN253DVtrS_UFArwBTJLL3dQ4a7SvonWgZyJyBECxfF4/s320/CoworkingRibsSep2019.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Rich, Filipe, André, Pontus, & home smoked ribs! Sarah's behind the camera (again)!</td></tr>
</tbody></table>
<br />
We did a lot of scribbling with markers on oversized paper, and presenting ideas for things from new technical solutions to twists and details in the core story of the game. Of course one of the best things about getting together as a team when you predominantly work remotely, is having a reason to take a step back. We covered a lot of our release planning fundamentals as a team, and looked at the big picture such as milestones, work organization, bottlenecks and solutions, and more excitingly, what post-release plans we have in store!<br />
<br />
<h4>
Milliways Mod</h4>
This sprint included some fun extras, too. Chaos Communication Camp 2019 (an international meetings for hackers!) was the end of August, and we celebrated with a Milliways mod. Josh and a great new modder of ours, Luri, created the mod and Rich streamed with it during CCC.<br />
<br />
You can read about it and watch the recordings of the streams all here on our <a href="http://wiki.offgridthegame.com/index.php?title=Milliways_CCCamp_mod" target="_blank">Milliways Mod wiki page</a>.<br />
<br />
And if this interests you, you can even <a href="https://github.com/IuriLeitaoMartinho/OffGridMilliwaysMod" target="_blank">pull the repo from gitub</a> and contribute to the mod. <br />
<br />
<h4>
Dundee Calling</h4>
Rich and Sarah went to Dundee for the UK Games Fund Awards in early September, where Rich was nominated for the Rising Star Award. The event was great fun and OFF GRID was demoed at the gorgeous V&A Dundee. The Videogames exhibition is on at the V&A and it's got a great look in on the dev journeys behind loads of great games, and so much more.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLD8ZyadILjsSwySfXT4XP9cbk9IQ5JZ8zvFuyOj0hb2LbST_xHnPsaO4ClZNWfneSrO5l_9fG5XjWsKoayu7dlRKJgsipgiLHbm8s9k7bFirKicJ4skn6VyueEMowOnsHvAQiv4bMt4U/s1600/VADundee.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLD8ZyadILjsSwySfXT4XP9cbk9IQ5JZ8zvFuyOj0hb2LbST_xHnPsaO4ClZNWfneSrO5l_9fG5XjWsKoayu7dlRKJgsipgiLHbm8s9k7bFirKicJ4skn6VyueEMowOnsHvAQiv4bMt4U/s320/VADundee.JPG" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">V&A Dundee</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTaS6mKq2Fpvf2SONLaM-x8lb2I36I1bT442lqPPQZmCQOY7zJ7YJ31O7i0wJmYKpfL1ggDW-z7PIsOFZ18WDDJwuc4NilVs7-yyy8X40ATVdKtnN63cU8uTNgsXk9LCwCkOjxiNlrONg/s1600/VideogamesVA.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTaS6mKq2Fpvf2SONLaM-x8lb2I36I1bT442lqPPQZmCQOY7zJ7YJ31O7i0wJmYKpfL1ggDW-z7PIsOFZ18WDDJwuc4NilVs7-yyy8X40ATVdKtnN63cU8uTNgsXk9LCwCkOjxiNlrONg/s320/VideogamesVA.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Entrance to the Videogames exhibition at the V&A Dundee</td></tr>
</tbody></table>
<h4>
Release Date </h4>
You may have also spotted that there is some news about the release of OFF GRID. We'll now be releasing OFF GRID in 2020 - you can <a href="https://offgridthegame.blogspot.com/2019/09/off-grid-release-update.html" target="_blank">read more about that here</a>. <br />
<h4>
Cracking on with Dev</h4>
In between all of this, we have continued on with dev! We had a bunch more level content we were working on, some updates to the save system and a bunch of smaller tasks inbetween all of the above, a few of which are visible in the latest builds of the game and modding tools - as listed below. <br />
<span style="background-color: #f8f8f8; color: #1d1c1d; display: inline; float: none; font-family: , "applelogo" , sans-serif; font-size: 15px; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="background-color: #f8f8f8; color: #1d1c1d; display: inline; float: none; font-family: , "applelogo" , sans-serif; font-size: 15px; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"></span></span> <br />
<h4>
In the latest game and Levelkit build: </h4>
What can you expect to see in the next build of the game and modding tools?<br />
<br />
<ul></ul>
<u>Gameplay and Mechanics</u><br />
<ul>
<li>Optimisations for drone navigation volume generation</li>
</ul>
<br />
<u>Controls and UX</u> <br />
<ul>
<li>Save system fixes & correctly listing save slots: </li>
<ul>
<li>overwrite saves</li>
<li>maximum of 3 save slots</li>
<li>reload last save system</li>
</ul>
</ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul>
<li>Levelkit tool improvements</li>
<li>Fixed asset bundle loading for Levelkit levels</li>
<li>Levelkit warnings added</li>
<li>Miliways mod for Chaos Communication Camp</li>
</ul>
<u>Other</u><br />
<ul>
<li>Levelkit updated to Unity 2019.2.5f1</li>
</ul>
<br />
<ul>
</ul>
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-55557445121405602582019-09-26T15:27:00.000+01:002019-10-15T09:41:13.712+01:00OFF GRID Release Update<div class="mt4">
<div class="rte__content">
<div>
Since our incredible Kickstarter backers <a href="https://www.kickstarter.com/projects/richmetson/off-grid-data-is-your-most-powerful-weapon/description" target="_blank">helped us successfully smash our Kickstarter goal</a>
late last year, we’ve had a big year of development. We also opened our
FIRST ACCESS programme, started doing dev streams every two weeks, and
have been enjoying some great banter with our Discord community.<br />
<br />
Now we’re nearing the end of 2019, and you might be wondering if there is a release announcement coming soon…<br />
<br />
During the Kickstarter campaign, we promised delivery of the game by December 2019. This is possible, but <b><span class="bold">we believe OFF GRID would be better served by delaying its release into 2020</span></b>. <br />
<br />
<a name='more'></a><br /><br />
There are several reasons for this:<br />
<br />
1. <b><span class="bold">Our team has changed</span>.</b> We said farewell
to one of our developers, Steve, earlier in the year. He did a huge
amount for OFF GRID, and though we miss his daily humour, we wish him
nothing but the best in all his future endeavors! Another team
member, Sarah, reduced hours to better accommodate family life, which we
fully support. <br />
<br />
We’ve since brought on two new team members:<br />
<br />
Cue <b><span class="bold">Filipe, our new producer</span>!</b> With 15
years in videogames and running two studios previously, he brings a
wealth of experience to the team and is invaluable in helping us meet
some new ambitions for the project. We have some exciting announcements
on platforms for OFF GRID coming soon that he has been at the forefront
of planning, so keep your eyes peeled.<br />
<br />
We have also been very fortunate in getting our <b><span class="bold">new programmer, André</span></b>,
on board! André has stepped in to fill the gaps left by Steve on a
technical level, and his previous experience with console porting is an
exciting opportunity for us (say no more ;P).<br />
<br />
These two have been great and hit the road running!<br />
<br />
2. We have realised that to get the best out of the game we have to allow space for <b><span class="bold">more user testing and a bigger public beta access</span></b>. We have got some really cool collaborations coming together on this front - we can’t wait to share more on this!<br />
<br />
3. <b><span class="bold">There really are indie sweet spots as far as release windows go</span></b>,
and we have realised that we don't want to be releasing in the upcoming
winter quarter. There are several technical and marketing reasons for
this, but ultimately OFF GRID is intended to grow and become an ongoing
universe post release, and for this to happen we want to make the
biggest splash possible.<br />
<br />
4. We have some <b><span class="bold">exciting tech partnerships</span></b> that are as of yet unannounced that we feel will improve the experience and in order to make them happen, we needed more time.<br />
<br />
Ultimately,<span class="bold"> <b>we are committed to delivering you the very best game we can</b></span>, and we believe that taking the right amount of time to do so is extremely important.<br />
<br />
We’ll be delivering all backer rewards in the months running up to
our new release date - we want to harness all of the excitement to help
make the biggest bang possible come release. We aren't ready to
announce *exactly* when this will be, but we are aiming for next summer.
When we have pinned the exact release date down, you will be the first
to know! <br />
<br />
If you have any questions, please feel free to pop in and ask @devteam in <a href="https://discordapp.com/invite/semaeopus" rel="noopener" target="_blank">Discord</a> or email us at <span class="text-italic">contact @ semaeopus.com</span>.<br />
<br />
A few pleas before we go:<br />
<ul>
<li>If you haven’t already, PLEASE <a href="https://store.steampowered.com/app/526720/Off_Grid/" rel="noopener" target="_blank">wishlist and follow OFF GRID on Steam</a>! <span class="bold">Every wishlist makes a huuuuge difference to the future success of OFF GRID</span>. Get a friend and your nan to do it too!</li>
<li> <a href="http://newsletter.offgridthegame.com/?p=subscribe" rel="noopener" target="_blank">Sign up to our newsletter</a> for <span class="bold">regular monthly updates sent directly to you</span>! This will be the best place to get notified of the bigger beta testing programs coming up.</li>
<li><span class="bold">Watch our dev streams every two weeks</span> and join in on the chat at <a href="https://www.twitch.tv/semaeopus" rel="noopener" target="_blank">twitch.tv/semaeopus</a> or <a href="https://www.youtube.com/offgridthegame" rel="noopener" target="_blank">youtube.com/offgridthegame</a>.</li>
<li> <a href="https://discordapp.com/invite/semaeopus" rel="noopener" target="_blank">Join the discord!</a> This is the place we are most - you can <span class="bold">chat to us in Discord</span> most days, and it’s a good way of keeping in on the pulse of what we are up to.</li>
<li><span class="bold">Read our devblogs!</span> We <a href="https://offgridthegame.blogspot.com/" rel="noopener" target="_blank">share our progress at the end of each development sprint</a> - the next one is imminent. </li>
</ul>
<div class="page-anchor" id="h:thank-you">
<b>THANK YOU!</b></div>
The OFF GRID Team<br />
<br />
<b><span class="bold">P.S. If you're reading this on the day of
publication, (Thursday, 26th September), there is a dev stream scheduled
for later today that you can tune into! Follow along from 8:30 pm BST
via: </span><a href="http://youtube.com/offgridthegame" rel="noopener" target="_blank"><span class="bold">YouTube</span></a><span class="bold"> | </span><a href="http://twitch.tv/semaeopus" rel="noopener" target="_blank"><span class="bold">Twitch</span></a><span class="bold"> | </span><a href="http://store.steampowered.com/app/526720" rel="noopener" target="_blank"><span class="bold">Steam Broadcast</span></a><span class="bold"> | </span><a href="http://mixer.com/Semaeopus" rel="noopener" target="_blank"><span class="bold">Mixer</span></a><span class="bold"> | </span><a href="https://www.periscope.tv/OffGridTheGame" rel="noopener" target="_blank"><span class="bold">Periscope</span></a></b></div>
</div>
</div>
Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-45530740194169719722019-08-28T14:05:00.001+01:002019-10-16T12:43:11.329+01:00Sprint Roundup - 28.08.19 - I AM ControlioWelcome 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! <br />
<br />
Want to hear more? Read on...<br />
<h3>
Giving you "the feels" </h3>
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.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga1fAZhDnfdhl4BY4ozR0CZQfFkswpYRPFiIDyPxr1hARlYbkL48B1Yz2NJecFO2b1Bn4_By-0WpAaE0FfGgRjVGmEjxps9Lt4Cqbr90TSxYxL_BPGxaFchccHHriIJdKiweGsFxB_sD1A/s1600/CharacterControlsTestScene.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="678" data-original-width="1205" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga1fAZhDnfdhl4BY4ozR0CZQfFkswpYRPFiIDyPxr1hARlYbkL48B1Yz2NJecFO2b1Bn4_By-0WpAaE0FfGgRjVGmEjxps9Lt4Cqbr90TSxYxL_BPGxaFchccHHriIJdKiweGsFxB_sD1A/s400/CharacterControlsTestScene.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Walking in a Unity wonderland</td></tr>
</tbody></table>
<br />
<a name='more'></a><br />
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!<br />
<br />
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.<br />
<br />
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!).<br />
<br />
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. <br />
<br />
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 (<a href="http://www.discord.gg/semaeopus">www.discord.gg/semaeopus</a>) and let us know!!<br />
<br />
<h3>
Adding Character </h3>
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.<br />
<br />
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.<br />
<br />
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 <a href="http://wiki.offgridthegame.com/index.php?title=Head_props" target="_blank">wiki page</a>.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXiJvT4GLMCtpZjnzlDU8GpbgDUWWb9ddPQke8IbtiS_czFa2xCxoedpneph3iPr1sjm-4e4dVWrbjjC0m4WzvvIZ2sJnGR7NrTbfD1XW8ELEm_fJhLYL56ijkgIRey8AZIiHdUt4PFck/s1600/1565954809214.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXiJvT4GLMCtpZjnzlDU8GpbgDUWWb9ddPQke8IbtiS_czFa2xCxoedpneph3iPr1sjm-4e4dVWrbjjC0m4WzvvIZ2sJnGR7NrTbfD1XW8ELEm_fJhLYL56ijkgIRey8AZIiHdUt4PFck/s400/1565954809214.png" width="375" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Drones need love too.</td></tr>
</tbody></table>
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.<br />
<br />
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!<br />
<br />
<h3>
New levels on the way </h3>
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.<br />
<br />
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<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwCFqcOFCyjTQMb3t-qL7w9DQvIandJDo1Oo50B4qXhP4K1Ly8J1Gv_PjWdxopPeZ1822eNU9OeWzE8n3UI5gzjA4Hx_iXDDAC5jhNA9vnBoY3gU9treAL0Fit7eMMUfdHj_I-GwG4oB2/s1600/image+%252825%2529.png" style="margin-left: auto; margin-right: auto;"><img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwCFqcOFCyjTQMb3t-qL7w9DQvIandJDo1Oo50B4qXhP4K1Ly8J1Gv_PjWdxopPeZ1822eNU9OeWzE8n3UI5gzjA4Hx_iXDDAC5jhNA9vnBoY3gU9treAL0Fit7eMMUfdHj_I-GwG4oB2/s400/image+%252825%2529.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">About to take the stand</td></tr>
</tbody></table>
<br />
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. <br />
<h3>
Means of Production</h3>
There has been a heck of a lot of organising to do since the last devblog, both internally and externally with the modding community.<br />
<br />
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!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWCuM5XSC9nbZGJ_eTkoykl3vMB6A3ynISqm-I0LkyKcZwQ6T-udpqavt9Xnx8wTpKXgYw8ezsc71JSizQ-sfBLxLY3dlvEiVT0MZg85ZSeEjyY_O_MF410QABm-VoQ2ly5VpgGcw0qsaw/s1600/CCCamp-Stream-02-crop.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWCuM5XSC9nbZGJ_eTkoykl3vMB6A3ynISqm-I0LkyKcZwQ6T-udpqavt9Xnx8wTpKXgYw8ezsc71JSizQ-sfBLxLY3dlvEiVT0MZg85ZSeEjyY_O_MF410QABm-VoQ2ly5VpgGcw0qsaw/s400/CCCamp-Stream-02-crop.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Milliways Mod stream was always on somewhere at camp...</td></tr>
</tbody></table>
<br />
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.<br />
<br />
You can read up on the process and the plan on <a href="http://wiki.offgridthegame.com/index.php?title=Milliways_CCCamp_mod" target="_blank">our wiki page about it</a>. You can check out the streams and watch the modding process <a href="https://www.youtube.com/playlist?list=PLBfOXf4GpxpHxuNL27FVGweaisfmlt14X" target="_blank">here</a>, 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)!<br />
<h3>
In the latest game and LevelKit build : </h3>
So, what can you expect to see in the next build of the game and modding tools?<br />
<br />
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.<br />
<br />
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.<br />
<br />
Other than that, here the usual release notes to summarise:<br />
<br />
<u>Controls and UX</u> <br />
<ul>
<li>Updated character movement scripts to make for much tighter and more direct feel.</li>
<li>Camera control code also tweaked to deal with some of the fighting between the two schemes.</li>
</ul>
<br />
<u>AI </u><br />
<ul></ul>
<ul>
<li><b>Devices giving objects to characters</b> - some devices now can add an item in the interaction character animation.</li>
<li>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.</li>
</ul>
<ul></ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul></ul>
<ul>
<li><b>Head props</b> - 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. </li>
<li><b>Player Path tool</b> - 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.</li>
</ul>
<ul></ul>
<br />
<u>Bugs fixed </u><br />
<ul></ul>
<ul>
<li><b>Performance improvement</b> - 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.</li>
</ul>
<br />
That's it for now, we'll be back soon with some more dev news soon!<br />
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-89416172335366615902019-06-20T14:28:00.000+01:002019-10-16T12:44:34.764+01:00Sprint Roundup - 20.06.19 - Information UnderloadWe 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!<br />
<br />
<h4>
Working on Information Underload</h4>
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. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPYC1HPOYAZuht9U8i4587AFtaBpgZyv-9mknet6kAYg8oRrg430eOqC_ZKocH65ddtF2TyoC1cL5G8Mghf5RuCgkGGIP-gXfOVZQWWkeONx9S8JUzUSIs8PvHFr7-vsLVvV189rx9iF7s/s1600/OriginalBG-forKeyArt.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPYC1HPOYAZuht9U8i4587AFtaBpgZyv-9mknet6kAYg8oRrg430eOqC_ZKocH65ddtF2TyoC1cL5G8Mghf5RuCgkGGIP-gXfOVZQWWkeONx9S8JUzUSIs8PvHFr7-vsLVvV189rx9iF7s/s400/OriginalBG-forKeyArt.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Information overload</td></tr>
</tbody></table>
<br />
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. <br />
<br />
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. <br />
<br />
In steps our first pass at tutorialisation!<br />
<br />
<a name='more'></a><br />
<h4>
The Workplace</h4>
This month we have been working on some new content that we want our First Access backers to give some feedback on. It's not the very beginning of the game and it's opening, but it is the first full level and in the core story missions and so should set the player up with the basic Off Grid tools and teach them the core mechanics without too much confusion.<br />
<br />
We'll try and avoid any spoilers here, but as mentioned earlier we are looking to ease people into the mechanics and reduce information overload. It's meant to tutorialise the features you need to get started digging into Off Grid, and so we specifically made it a relatively safe environment without too much challenge to make it easier for folks to explore and experiment with the meachanics we are trying to teach.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7GNTAPXYZ-B2kHnGtsmDuXTxdx16T_9qrEWWMlD66WC56M62ayOZrSvQrFfgRL73Za4PaPh19PDEnJdFEUFRYHl7Zeb8wZRhorDieFgLrXBA6l2rAsQiUwMzsAwLWjo2BbZ3RnltP0Ur/s1600/Worplace-SecretPackage.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="535" data-original-width="951" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7GNTAPXYZ-B2kHnGtsmDuXTxdx16T_9qrEWWMlD66WC56M62ayOZrSvQrFfgRL73Za4PaPh19PDEnJdFEUFRYHl7Zeb8wZRhorDieFgLrXBA6l2rAsQiUwMzsAwLWjo2BbZ3RnltP0Ur/s400/Worplace-SecretPackage.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Finding your tools</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
There are a few new mechanics in there, and some nice draft sequences for rooting your phone and getting your tools, but we are really keen to hear if this helps the the game "click" earlier for people... <br />
<br />
A lot of this is still under development and things like the Secretary neutral NPC are still being worked up and dont behave as intended yet, but we want to get a sense of how you feel about the pacing / challenge in this level and whether it gives you a better feeling for the extent of the tools available.<br />
<br />
If you are part of our FIRST ACCESS backers from the Kickstarter then please grab your key, take the new level for a spin, and give us your thoughts in the Discord (link)<br />
<br />
If you backed us at that level and haven't claimed your First Access / Pentester key from the Kickstarter yet then please get in touch, we are relying on the feedback of those early backers and the more of you there are the better. You should have an email from us with the steps you need to take to do so.<br />
<br />
We look forward to hearing your thoughts!<br />
<h4>
More character work! </h4>
<h4>
<span style="font-weight: normal;">We have been busy beefing up the gestures available to NPCs and the modders making them! Using a mix of preexisting animations and newly sourced animations we have added lots more generic gestures to the animation controller for NPCs, all of which can be called through the Lua API. Check out the ever growing list here: </span></h4>
<h4>
<a href="http://wiki.offgridthegame.com/index.php?title=AI_Gestures"><span style="font-weight: normal;">The Gestures page on the OFF GRID wiki</span></a></h4>
<h4>
<span style="font-weight: normal;">Have any suggestions for useful gestures? Ping us in the Discord or make a suggestion on the public trello board:</span></h4>
<h4>
<a href="https://trello.com/b/sJILcQhD/off-grid-first-access"><span style="font-weight: normal;">The First Access and Modding public Trello board</span></a></h4>
<h4>
<span style="font-weight: normal;">Come on in and contribute! </span></h4>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFZpVVXzaT2yNvcDWuqKtKf63rBw4lNzX09aIwGvlFuj54buFHWWWojpeC-Kk9hkusQs5UTD5VhKdZv1ejDfQnmIRu0HQhZC34Fw_sgu5ve0uZzhueo-tI0l5ybU6mnOo9N1vxBZKDXlG-/s1600/Mcfly_13.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1171" data-original-width="1425" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFZpVVXzaT2yNvcDWuqKtKf63rBw4lNzX09aIwGvlFuj54buFHWWWojpeC-Kk9hkusQs5UTD5VhKdZv1ejDfQnmIRu0HQhZC34Fw_sgu5ve0uZzhueo-tI0l5ybU6mnOo9N1vxBZKDXlG-/s400/Mcfly_13.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Who dis?</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<h4>
<span style="font-weight: normal;">We have been busy getting the rest of the IRL hacker characters made, some surprise reveals on the way! Can you guess who is wearing a tshirt with a simplified version of the milliways logo?</span></h4>
<h4>
<span style="font-weight: normal;"> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMWCjH01oSLN_qKHHaWsTcC0DRqg3ZecFj6KDwvqv474MxcFsmX1mbsAID3Y4XwYl6Ace500W35aVbjrjKLWJLoU6W7_EOHKDaRmBfNnad2SFKjgLQfxmYDk6iSP5J4CAgB65jKUcy0TBJ/s1600/Skin-Hair_Ref.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="500" data-original-width="500" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMWCjH01oSLN_qKHHaWsTcC0DRqg3ZecFj6KDwvqv474MxcFsmX1mbsAID3Y4XwYl6Ace500W35aVbjrjKLWJLoU6W7_EOHKDaRmBfNnad2SFKjgLQfxmYDk6iSP5J4CAgB65jKUcy0TBJ/s400/Skin-Hair_Ref.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">More people, more hair.</td></tr>
</tbody></table>
</span></h4>
<h4>
<span style="font-weight: normal;">We've been adding new LUTs into the project and now all characters will have their own unique LUT, meaning we essentially have the variations for all NPCs in the game pretty much covered now! </span></h4>
<h4>
AI</h4>
<h4>
<span style="font-weight: normal;">Again, sprint work was focused on AI. We needed a method of an AI appearing mid level, but spawning an AI would have required a refactor of many systems. Instead a solution where AI could be paused/unpaused made sense, meaning an AI could 'leave' by being paused or 'join' by being unpaused. As a result we can now hide AI in cupboards if we need one to appear later in the level. Also slowed AI replanning when they end up in situations where there is no valid plan.</span></h4>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-Ls9vTeVLtgC5z5kbvQ43IdkvUZoDAQLJWYMn_96mXWAHX0NDy4a8swn09IFCh9FFfrQvtOMsydZwwR_zm_6YGQMvSchupLyZW_q5X7hyphenhyphenbmQq5hhOLCmiz2vozPRcUiY9_7b_stpk0-1/s1600/AIExplorer-Focus.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="611" data-original-width="1600" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-Ls9vTeVLtgC5z5kbvQ43IdkvUZoDAQLJWYMn_96mXWAHX0NDy4a8swn09IFCh9FFfrQvtOMsydZwwR_zm_6YGQMvSchupLyZW_q5X7hyphenhyphenbmQq5hhOLCmiz2vozPRcUiY9_7b_stpk0-1/s400/AIExplorer-Focus.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tracking down a rogue AI</td></tr>
</tbody></table>
<h4>
<span style="font-weight: normal;">Other significant recent work is adding more things to level saves; saving app status, and AI state. These both proved important in getting a working build out.</span></h4>
<h4>
BUGS</h4>
In the last sprints we ran into some pretty weird and complicated to debug issues, which is why it's taken us a while to get a new build out. But after few weeks of testing for every possible and impossible reason for the problems, we finally got things up and running again.<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQBEYpcDBfY_2NDsM-8D1WARc2n8TQDor_rjuRWl5CT004zmbv1AyYuZv0o_TLvlVuye855Y1O_7DUdUWf-TD64SZ8Afs1zMoF3TvSvM3-0qc3QrBZt5Evm2yTQaztUXd53jWExuzbbSPt/s1600/Profiler.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="672" data-original-width="1600" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQBEYpcDBfY_2NDsM-8D1WARc2n8TQDor_rjuRWl5CT004zmbv1AyYuZv0o_TLvlVuye855Y1O_7DUdUWf-TD64SZ8Afs1zMoF3TvSvM3-0qc3QrBZt5Evm2yTQaztUXd53jWExuzbbSPt/s400/Profiler.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Profiling</td></tr>
</tbody></table>
<br />
We had a build breaking bug in the form of ghost Lighting data included in Common level, which is essentially a scene that loads in most of the systems alongside the scene that has the individual level's content. That is fixed!<br />
<br />
We also has some mad things happenning with NPCs glitching. Turned out we needed to make sure all movement from animations is
applied even when framerate drops below FixedUpdate rate, and is applied
only once. That is now fixed!<br />
<br />
It's kind of hard to even complain about the bugs we had without getting too technical :<br />
we should make sure to create simpler bugs in the future. Or at least ones that are more entertaining to explain! ;P <br />
<h4>
In the latest game and Levelkit build : </h4>
So, what can you expect to see in the next build of the game and modding tools?<br />
<br />
<u>Content (Level Design and Art) </u><br />
<ul>
<li>More generic gestures in the animation controller for NPCs. Added these to the list of Gestures that can be called through LUA.</li>
<li>New unique LUTs in the project and listed for use on the wiki.</li>
<li>Workplace Level:</li>
<ul>
<li>(Hopefully) a full pass at tutorialising the early game </li>
<li><div class="editable-field inactive" id="summary-val" title="Click to edit">
New mission objectives and gameplay in the Workplace Level with a nuetral NPC who gets angry if you go into off limits areas.</div>
</li>
<li> Edited down conversations and modals to give enough information to learn new tools but not seem like a wall of exposition (feedback on this from you First Access folks would be great!)</li>
<li>Replaced and bunch of deprecated stuff with updated implementations of features (e.g. removed old SMS single messages in Workplace and replaced with single-message variant of conversations)</li>
</ul>
</ul>
<u>Controls and UX</u> <br />
<ul>
<li>Tweaks to movement speed and control, simplifiying the bledtrees now means easing between animations as the character moves around should now feel more accurate (still in progress) </li>
<li>Running - the player now walks by default, holding "B" or "Space" to jog and tapping the same button to then sprint in a short burst while you have the stamina to.</li>
</ul>
<u>AI </u><br />
<ul>
<li>Added Pause/Unpause for agents. Means that AI can stop and start as progress is made through a level, simulating joining/leaving.</li>
<li>Defined NPC/Guard type for sound in the character table. When enabled, and audio work is done, will allow for different voices for different agents.</li>
<li>Reduced planning when agents are unable to achieve any of their goals.</li>
</ul>
<br />
<u>Modding and Lua API additions </u><br />
<ul>
<li>Added a global app folder in mods, allowing mod apps to be used across the game.</li>
</ul>
<br />
<u>Bugs fixed </u><br />
<ul>
<li>Fixed NPC movement issues (make sure all movement from animations is applied even when framerate drops below FixedUpdate rate, and is applied only once)</li>
<li>Fixed build issues caused by ghost Lighting data included in Common level.</li>
<li>Added Mission Lua API calls for checking if objective is active/completed</li>
<li>Loading item images from both mission & common folders</li>
</ul>
<u>Other </u><br />
<ul>
<li>Save System - Save agent state, and app status (needed for new build).</li>
</ul>
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-79970088626403685662019-05-30T17:07:00.001+01:002019-10-16T12:46:49.178+01:00Sprint Roundup - 30.05.19 - 'Fluttery' will get you everywhere<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div class="separator" style="clear: both; text-align: left;">
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...</div>
<h3>
"UI the long face?"</h3>
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."<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitelwaYsdf4m04vxCfFk3vp4EjwAbct0OZeSHWD63N_E1kbY-H2xCSChSHpRkF8nFAlhQmV16iUPqqCm-lPHFlQ1StrJmYkOKgBTe5ql1LtL2GqKtdUOesCavB-AYCMHzno04LF_fNkR8W/s1600/Flutter_CU.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitelwaYsdf4m04vxCfFk3vp4EjwAbct0OZeSHWD63N_E1kbY-H2xCSChSHpRkF8nFAlhQmV16iUPqqCm-lPHFlQ1StrJmYkOKgBTe5ql1LtL2GqKtdUOesCavB-AYCMHzno04LF_fNkR8W/s320/Flutter_CU.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Some 'fleeting' in action</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
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...<br />
<br />
<a name='more'></a><br />
<br />
In other words, we made social media that can tell you more about the world outside of the building you happen to be in, and about what all the people around you are doing and thinking at the moment.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOWgLudCjYYecT3C6CtaHBGqVTiTTfj2VdwQpk7EDhsYKWkRRzn6Bnl3T356OeNhNl5qcWIerFA8RlUhc4OWkT2hBBMeTNvN1GnwmY59eIPLZCK9ehxY6kylpjSsyMbO3yvNCMF7D42tT1/s1600/TraceStatus-NewUI.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOWgLudCjYYecT3C6CtaHBGqVTiTTfj2VdwQpk7EDhsYKWkRRzn6Bnl3T356OeNhNl5qcWIerFA8RlUhc4OWkT2hBBMeTNvN1GnwmY59eIPLZCK9ehxY6kylpjSsyMbO3yvNCMF7D42tT1/s320/TraceStatus-NewUI.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The tracing UI has moved!</td></tr>
</tbody></table>
To fit the app on the user interface, we moved the network tracking info around and did a proper design (you might have seen some screenshots of the previous temp stuff we had in our previous dev blog post).<br />
<br />
While we were at it, we also did some balancing for the network tracking cost and data view range (and how that fits with the app use cost and everything else).<br />
<br />
<h3>
Level Design!</h3>
We have been working up a new level, created a full pass of a Workplace level with a neutral and more complex NPC, objectives and tutorialisation. Then we realised that it was all a bit too much crammed into one early level and so went back and thinned it out in order to simplify the player journey.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOaFdZcIUOCClHs-IaABRnLJWHpigDxHRqZqHva3QxI823GG15shz5Om8LKNNUmY6GcGCLt0Aa2ZSaDnNUYLGAfn6L1CGLuEE8uq7eOGurgi7HhDYC6I_WZX-gAzEsqbE2iu64ebgzAArg/s1600/AI-Navigation-01.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOaFdZcIUOCClHs-IaABRnLJWHpigDxHRqZqHva3QxI823GG15shz5Om8LKNNUmY6GcGCLt0Aa2ZSaDnNUYLGAfn6L1CGLuEE8uq7eOGurgi7HhDYC6I_WZX-gAzEsqbE2iu64ebgzAArg/s320/AI-Navigation-01.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New neutral NPC behaviours</td></tr>
</tbody></table>
The tutorialisation aspect included creating a sequence for rooting the player's phone and installing new hacking tools. It's just a start, but this sequence is gonna be nice!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
We have been implementing some of the most recent editions to the AI . We got the office worker agent script reacting nicely to the player in custom ways and made use of the AI's ability to send and react to data in Workplace, controlling doors using AI's newly found ability for sending data in actions, and a bunch more.<br />
<br />
In the course of all this there was some balancing of the difficulty to be had. The idea for the mission is to have something that sets up and tutorialises the basic mechanics, and you want players to have a degree of safety while experimenting with these, however you still need some jeopardy to motivate and challenge the player. We added a second floor you need to sneak through with an additional guard so that you have some space on the floor below to learn and play. Then we added a guard to be spawned and woken up on the sending of data by another NPC.<br />
<br />
And finally a lighting pass to make it all start looking a little nicer, although this did also lead to the discovery of a significant bug that took quite some work to squash...<br />
<br />
<h3>
Characters on the move!</h3>
We got every character in the game using the new LUT system and the new Rigging system including blendshapes for their weight. This means we have a good pipeline for adding new characters and animations work well between all characters.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIA4Wz6duiCawQDn6hf67KiStIk-0GQt5DYRwYZHVNIANbRHr3dvs7nmjMtrdYN8pDmmKb4CHF_8v0QlIObGoYsAZfUEZmaAbV3dgc0yI0grc0MAXv5BnoGxTS2tq5ycclFKhPJWJXzYXQ/s1600/CharacterSetup.png" imageanchor="1"><img border="0" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIA4Wz6duiCawQDn6hf67KiStIk-0GQt5DYRwYZHVNIANbRHr3dvs7nmjMtrdYN8pDmmKb4CHF_8v0QlIObGoYsAZfUEZmaAbV3dgc0yI0grc0MAXv5BnoGxTS2tq5ycclFKhPJWJXzYXQ/s320/CharacterSetup.png" width="320" /></a></div>
<br />
We’ve made some changes to the Player Prefab which allows for other characters to be the player rather than just Joe. You can make mods as Jen now! Aaaannnnd.... characters are steadily becoming even more customiseable! There is now a library of Hair, Hats and other Head accessories that work between all characters, it’s a case of finding the right size item for the character and drag-drop it into the ‘HatHair-Parent’ object in the character prefab. We still have some work to get these accessories to be something a modder can control but we are getting there!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhV1A4cBll8UfT1m5YgGKr25ZsiN5dpontO8QdONZIEZ1YlDRoxOZKbALLfFAW8SaKK8qFlWjDpgj8XrNME4vHSZMV7mCIrgzI_wzVi0_RLhIrevmehmdIcFBcosgqrOkZ1wVabkDEl0_L/s1600/Good+News+Jen+is+now+a+playable+character+AND+an+enemy%25281%2529.png" imageanchor="1"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhV1A4cBll8UfT1m5YgGKr25ZsiN5dpontO8QdONZIEZ1YlDRoxOZKbALLfFAW8SaKK8qFlWjDpgj8XrNME4vHSZMV7mCIrgzI_wzVi0_RLhIrevmehmdIcFBcosgqrOkZ1wVabkDEl0_L/s320/Good+News+Jen+is+now+a+playable+character+AND+an+enemy%25281%2529.png" width="320" /></a></div>
<br />
We also did a big pass on the animation assets and attempting to make more generic "gestures" available as a library. All animations that exist in the game have been documented. This gives us a good idea of what we have, what needs to be fixed so we can use it, and what we will need going forwards. More news on what that will make available to modders soon!<br />
<h3>
AI</h3>
As ever, a heavy focus has been on AI. A significant aspect of this was the AI Explorer, our tool to examine the current status of any agent. This contained a lot of information, but without much context. To try and give modders a helping hand, we've added some extra 'hints'. So whereas before we listed the current goal, we now list all of them, with attempts at explaining *why* higher priority goals are not achievable. Similarly, for actions. Our AI is not exactly simple, by its nature, but this has already proven to assist in understanding why expected behaviors are not taking place. AI Explorer is also now available in LevelKit, where previously it was a dev only tool.<br />
<br />
Documentation can now be generated from any source file, rather than just Lua API code. This should increase the amount of pages on the Wiki; it was previously so easy to think "I will document this feature later", and then fail to. Not any more!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPdql5MLUcBEIa9HclR7T38J0Ihq-6sT_rINF6X43-bs6NfbZnzM8zJl2x3WliWN2JwOlZmwtZ-Pvs7lEFzq1E3ilJHMalbZGR-NsDGWaiXsD7B-SIgeK52PH1wr6Thj_5JmgvJ5OzsS2-/s1600/AI-Navigation-01-doors.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPdql5MLUcBEIa9HclR7T38J0Ihq-6sT_rINF6X43-bs6NfbZnzM8zJl2x3WliWN2JwOlZmwtZ-Pvs7lEFzq1E3ilJHMalbZGR-NsDGWaiXsD7B-SIgeK52PH1wr6Thj_5JmgvJ5OzsS2-/s320/AI-Navigation-01-doors.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">AI coming out after a sleep in the closet</td></tr>
</tbody></table>
AIs can now be paused/unpaused - this allows for agents that cease to have a use after a certain point in the level, or who need to appear part-way through a level. Examples of such behavior would be a character that needs to leave the building/area, or a maintenance engineer that appears only when the player has caused a particular amount of havoc.<br />
<br />
The final notable AI addition is that they can now react to data that they receive. This works in a similar way to reacting to other outside stimuli - compare the data with personality, and see what results come out. It's another way of influencing AI to do different things than normal and create different gameplay experiences. Two guards with otherwise identical goals, but differing personalities, would react to the same data in two different ways and create decisions and obstacles for the player to overcome.<br />
<h3>
In the latest game and Levelkit build :</h3>
So, what can you expect to see in the next build of the game and modding tools? Remember that bug we hinted at earlier? About a lighting pass? Well it was essentially build breaking, and poor old Pontus spent the end of last sprint and the beginning of this one trying to track it down. We can with relief tell you it is now fixed but it has come far enough into this sprint that we decided it is best to just hold the build off until the next one is due in a couple of weeks. We'll give you full post-mortem of the issue in the next post too, as we are certain Pontus will need the catharsis / therapy of getting it off of his chest!<br />
<br />
So.. what can you expect in the NEXT build in a couple weeks time?<br />
<br />
<u>Content (Level Design and Art) </u><br />
<ul>
<li>A new level we want some feedback on! </li>
<li>Worked up full pass of Workplace level objectives and tutorialisation </li>
<li>Created a sequence for rooting the player's phone and intalling new tools </li>
<li>Got office worker agent script reacting nicely to player in custom ways </li>
<li>Made use of the AI's ability to send and react to data in Workplace </li>
<li>Added a guard to be spawned and woken up on the sending of data by another NPC </li>
<li>Added remotely controlled doors using AI sending data in actions </li>
<li>Added a second guard to the top floor of the Workplace level </li>
<li>Lighting pass on the Workplace level </li>
<li>Change Character colors LUT shader to black to white for Smoothness </li>
<li>Re-Rigged all existing characters, including blendshapes </li>
<li>Finished cleaning up all Hacker Characters from the Kickstarter and rigged them </li>
<li>Added hair, hat, and head accessories to fit all sizes of characters </li>
<li>Re-rigged and re-textured Player character and made it so different characters can be the Player </li>
<li>Documented all existing animations </li>
</ul>
<u>Gameplay and Mechanics</u><br />
<ul>
<li>Replace old SMS stuff with single-message variant of conversations </li>
<li>Conversation Queue </li>
<li>Mission info popups for multiple missions on same map tile </li>
<li>In-game "Twitter" short message social media </li>
<li>Balanced tracking time/cost/NetPoints use mechanics </li>
<li>Small stuff. Inventory UI refreshes automatically on item use. ObjectWithScreen component is useable by modders in Levelkit. Occlusion culling baking is optional in Levelkit and can be left out when working on a level or testing things. Fixed IK weight blending on NPC hands. Lua API support for adding/removing NetPoints to/from player </li>
<li>Loads MOAR tweaks and improvements to the player character controller! </li>
</ul>
<u>Controls and UX </u><br />
<ul>
<li>UI popup for selecting between available missions on same map tile </li>
<li>UI menu stack handling in map+main menu </li>
<li>Re-designed the network trace/AppPoints UI </li>
</ul>
<u>AI </u><br />
<ul>
<li>Explore AI receiving data affecting Agent state, etc </li>
<li>Document AI sending data </li>
<li>Updated AI Explorer to better expose more information- look at whether it can be in LevelKit? </li>
<li>Added 'meaning' to AI Explorer - trying to explain what states relate to what actions, and which goals are achievable. </li>
<li>Added a toggle to pause/unpause AI - useful to have Agents that can appear later in levels (AI cannot be spawned mid level, currently). </li>
<li>Agents react to data they are sent, as per their agent definition. So sending data to Agents can change their state/stats. </li>
</ul>
<u>Modding and Lua API additions </u><br />
<br />
<ul>
<li>Moved AI Explorer to LevelKit and added connectivity, meaning that LevelKit users can see some of the functionality we have (but static, as it does not update dynamically). </li>
<li>Documentation extended to be generated from any source file, table documentation added. </li>
</ul>
<br />
Pretty busy time as you can see, more coming soon, along with a new build for you FIRST ACCESS folks!<br />
<i><br /></i>
<i>If you haven’t already - be sure to<a href="https://store.steampowered.com/app/526720/Off_Grid/"> wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support!</i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-66986013641841918702019-03-14T16:56:00.002+00:002019-10-16T12:47:56.075+01:00Sprint Roundup - 14.03.19 - Doors of Perception<br />
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!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutL5PaaY53NIFtK7rSuvcmZTfFy66qBPE8yxWqvQq8WQKePdgNeiSqeMePZQddTtJoYzOeE8pHxE90QrCNtyDJGbreGl51gmaOqqoi7tQzA91aPs8bc2ANXVoGba-Rx_gAgly-bweGDlw/s1600/image+%252826%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="916" data-original-width="686" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutL5PaaY53NIFtK7rSuvcmZTfFy66qBPE8yxWqvQq8WQKePdgNeiSqeMePZQddTtJoYzOeE8pHxE90QrCNtyDJGbreGl51gmaOqqoi7tQzA91aPs8bc2ANXVoGba-Rx_gAgly-bweGDlw/s320/image+%252826%2529.png" width="239" /></a></div>
<br />
<h3>
Content (Level Design and Art)</h3>
<ul>
<li>Created new Character LUTs amd some character variations (as seen above!).</li>
<li>Cleaned up on the geometry of the IRL hacker and activist characters.</li>
<li>Setup new system for door prefabs</li>
<ul>
<li>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.</li>
</ul>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7YbMrAzEhiL7Y21rkgRuT533xDdzja5tly1qfwdZfC5E39tMVqO5EedkLs9CIA9T13T4aTIo4g0Omf9cI_tM9jk4Mx5wFa787WW55d3qmM9ZUcPYUuZz7bsvhV04nKGGrj7OMT-wiNFE/s1600/DoorsCollection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="713" data-original-width="1600" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7YbMrAzEhiL7Y21rkgRuT533xDdzja5tly1qfwdZfC5E39tMVqO5EedkLs9CIA9T13T4aTIo4g0Omf9cI_tM9jk4Mx5wFa787WW55d3qmM9ZUcPYUuZz7bsvhV04nKGGrj7OMT-wiNFE/s320/DoorsCollection.png" width="320" /></a></div>
<ul>
<li>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.</li>
<li>Some more scripting of interactions with a more neutral NPC than the fairly intolerant guards you meet in other levels.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQv2IBoq2ytjtn-b9wursOG3DKhxrs0wttlEqJ8mqhlfcO9EaZZDGRS0oBQ8jBt-aJGpoTkpZ6giY5RqrbVklegiPyeFY47jTT2d6kuqprT5lDaf1reFU9LMb5dmaDhNnwqSMI7WdOUnef/s1600/image+%252831%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="384" data-original-width="707" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQv2IBoq2ytjtn-b9wursOG3DKhxrs0wttlEqJ8mqhlfcO9EaZZDGRS0oBQ8jBt-aJGpoTkpZ6giY5RqrbVklegiPyeFY47jTT2d6kuqprT5lDaf1reFU9LMb5dmaDhNnwqSMI7WdOUnef/s320/image+%252831%2529.png" width="320" /></a></div>
<br />
<h3>
Gameplay and Mechanics</h3>
<ul>
<li>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. </li>
<ul>
<li>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:</li>
</ul>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kXf6atCCZAOZtcPS99zA4ScCsoRQQODtGEC49crdaxyevtgKzzD_Ge_yRAw5d_ScDBsaol0F3z7sPSxDMezikRJs-zP-nzEIG0wWBIvN2ZzAwlpPg6mMmkGyidevwLNuRnNvMxXw2Ymm/s1600/trace-UI-ideas.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="867" data-original-width="1094" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kXf6atCCZAOZtcPS99zA4ScCsoRQQODtGEC49crdaxyevtgKzzD_Ge_yRAw5d_ScDBsaol0F3z7sPSxDMezikRJs-zP-nzEIG0wWBIvN2ZzAwlpPg6mMmkGyidevwLNuRnNvMxXw2Ymm/s320/trace-UI-ideas.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Prototyping visuals with Josh Ge's REXpaint</td></tr>
</tbody></table>
<ul>
<li>Added support for using physical inventory items (and the Lua API for scripting what the items do).</li>
<ul>
<li>This helps evolve the game's "adventure game" like elements </li>
<li>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</li>
</ul>
</ul>
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:<br />
<br />
<i>"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'.</i><br />
<br />
You can <a href="http://www.retrogamingroundup.com/shownotes/2018/roundup135_2018.10.php">listen here</a> around the 1hour 30min mark. <br />
<br />
<h3>
Modding and Lua API additions</h3>
<ul>
<li>The above point to do with physical item inventory comes under Lua API too of course.</li>
<ul>
<li>Not much on it on the wiki yet here but <a href="http://wiki.offgridthegame.com/index.php?title=Mission_Scripting#Physical_Items">this shows some of the basic usage</a>. </li>
</ul>
<li>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</li>
</ul>
<h3>
Other </h3>
<ul>
<li>Fixed NPC prefabs to have the correct navmesh area tags so that NPCs would use stairs again! </li>
<li>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...</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsQoHL_YvofMvQCoFjgWlzVRjOH2Jgte21giW_4HxNCHHgYBf-rSb9HcF1wdbzvuZaKjdAG2skidhJ8wrLR4TTtdPlAlJ1Q_eMbSOkYkpvuQ0TzQY1wSxeuG-q9zGMhHQrhPoWwXkNW0EZ/s1600/testing_doors.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="554" data-original-width="959" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsQoHL_YvofMvQCoFjgWlzVRjOH2Jgte21giW_4HxNCHHgYBf-rSb9HcF1wdbzvuZaKjdAG2skidhJ8wrLR4TTtdPlAlJ1Q_eMbSOkYkpvuQ0TzQY1wSxeuG-q9zGMhHQrhPoWwXkNW0EZ/s320/testing_doors.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Testing doors!</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-68448227630214803382019-01-31T15:38:00.000+00:002019-03-04T13:50:15.379+00:00Sprint Round Up - 30.01.19 - The FIRST Sprint of 2019<br />
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! <br />
<h3>
Content (Level Design and Art)</h3>
<ul>
<li>Work on workplace level design and early game tutorialisation, mission scripting and character conversations </li>
<li>Wrote some new AI states, goals and actions for a nuetral NPC
character (using our new moddable, data driven AI
behaviours) </li>
<li>Worked on existing geometry in the Workplace level to get it closer to a completed level</li>
<li>Paper sketches of new level designs </li>
<li>Started grey-boxing on new levels </li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF78yMQOrf5U5d6_PhS7_s7bwqoND7c7F3sQwc5q3PftIHtJQOwKbemw-F8CgDgYhjqRxX9dNObJTA4IwhVU4rUHDDDMSUGbQyhsB0tsGlQ5pcUeACZAEk8ih8N2lqoGGnCTXFDGsHKgm7/s1600/Hotel_36_22-01-19.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF78yMQOrf5U5d6_PhS7_s7bwqoND7c7F3sQwc5q3PftIHtJQOwKbemw-F8CgDgYhjqRxX9dNObJTA4IwhVU4rUHDDDMSUGbQyhsB0tsGlQ5pcUeACZAEk8ih8N2lqoGGnCTXFDGsHKgm7/s320/Hotel_36_22-01-19.PNG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Greyboxing a new level</td></tr>
</tbody></table>
<h3>
Gameplay and Mechanics</h3>
<ul>
<li> Design work for data view & app use cost changes</li>
</ul>
<h3>
Controls and UX </h3>
<ul>
<li>Added a crouching first person camera: the look from point is no longer parented to the rig, which improves camera targeting</li>
<li>Reworking of character controller and camera to give
finer control</li>
<ul>
<li>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 </li>
</ul>
<ul>
<li>Crawling animations and
controls have been fixed to work properly and feel nicer</li>
</ul>
<ul>
<li>There is a
crawl sprint too!</li>
</ul>
<li>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)</li>
<li>Started converting various UI elements to better font rendering and animation systems</li>
<li>Support for displaying controls as icons in middle of text in the UI</li>
<li>Rebuilt the AppWheel UI to better handle adding and removing apps</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKM-Sc79-Qi243Etsc9yYzRehbIJPEx4VZn7Fugk1YKsx_4BoBFZTZVXqC3CY_dEj4uFS6pzazVJdOHIRRPzSAtGharTserKT_3yiXG-dTyz2u_9bCYEEhSCV_-aHAf7G-k4sjlr2fZ9jV/s1600/popup_old_VS_new.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKM-Sc79-Qi243Etsc9yYzRehbIJPEx4VZn7Fugk1YKsx_4BoBFZTZVXqC3CY_dEj4uFS6pzazVJdOHIRRPzSAtGharTserKT_3yiXG-dTyz2u_9bCYEEhSCV_-aHAf7G-k4sjlr2fZ9jV/s320/popup_old_VS_new.PNG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Converting the UI to Text Mesh Pro</td></tr>
</tbody></table>
<h3>
AI</h3>
<ul>
<li>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.</li>
<li>Added an optional personality requirement to have actions that are only runnable if an Agent has a particular interest (or not!) </li>
<li>Added stats to the Agent definition </li>
<li>Added generic actions to the Agent definition </li>
<li>Added responses (to other Agent's actions), adjusting Agent stats </li>
<li>Added reactions (stimuli in the world can thereby adjust Agent stats, based on personality)</li>
<li>Added an audio attribute to actions in agent definitions, to be played when they are performed </li>
</ul>
<h3>
Modding tools and Lua API additions</h3>
<ul>
<li>Added support for loading apps from your current mission (as opposed to the global Apps folder, or app mod)</li>
<li>full screen modal window, </li>
<li>Updated gizmo icons in LevelKit</li>
<li>Correct scale & rotation for bounding box when editing mission triggers etc.</li>
</ul>
<h3>
Bugs fixed</h3>
<ul>
<li>Fixed a shader problem introduced after updating Unity</li>
</ul>
<h3>
Other</h3>
AND: WE MADE THE BRIT LIST!<br />
<a href="http://www.kotaku.co.uk/2019/01/11/games-of-2019-british-games">http://www.kotaku.co.uk/2019/01/11/games-of-2019-british-games</a> <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQxU0VD_t9BdATInS-WcYwKEcrt2m2CySe5N0jWJ4uGGkwcm2nSg8ZG-bQDr-Jy2uWiBD57zpQj_4HwDVgRA52s5zOfc-N1eLZO75JumcJrFK5Yma9ykwO-yLgvwBPzMtGM3MjSXD-_Gw/s1600/britlistcrop-620x349.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="620" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQxU0VD_t9BdATInS-WcYwKEcrt2m2CySe5N0jWJ4uGGkwcm2nSg8ZG-bQDr-Jy2uWiBD57zpQj_4HwDVgRA52s5zOfc-N1eLZO75JumcJrFK5Yma9ykwO-yLgvwBPzMtGM3MjSXD-_Gw/s400/britlistcrop-620x349.jpg" width="400" /></a></div>
<br />
<h3>
</h3>
Thanks for reading, look forward to seeing you next time!<br />
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Richhttp://www.blogger.com/profile/14421806091074257127noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-91531782179618274952019-01-03T17:24:00.000+00:002020-02-13T12:31:14.004+00:00Happy New Year from Semaeopus! <span style="font-size: 22px;">★ </span>Happy New Year <span style="font-size: 22px;">★</span><br />
<br />
2019 is here and we are thrilled to welcome it! There are so many exciting things to come in 2019!<br />
<br />
Before we move head on into the new year - we just want to pause and reflect on all that came our way in 2018. <br />
<br />
We did a quick recap in our <a href="http://newsletter.offgridthegame.com/?p=subscribe" target="_blank">December newsletter</a>, but upon reading it back, realised we missed out some seriously significant moments. <br />
<br />
Without further ado, here are our highlights of 2018:<span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;"><br /></span></span>
<span style="font-family: inherit;"><span style="font-size: 14px;">1. Rich and Sarah attended GDC</span></span><span style="font-family: inherit;"><span style="font-size: 14px;"> for the first time - an eye opener!</span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">2. The team demoed at PAX East as part of <a href="http://www.figsand.co/" target="_blank">Figs and Co</a>!</span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">3. Made our print debut with a <a href="https://twitter.com/richmetson/status/1017734049778028544" target="_blank">double page spread</a> in GamesMaster magazine </span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsFxPbOKJG0qNpCfbRBwiQ2_uDxFOt8OjvoCjZlFjzITBzzn4QMk_7iyhgMKeI9nkmkIM7hhpbRjHKOm_TJqBaxl2NB3LdqcUafEvoXnmCfTENGIoINKYKDtumw0YZNLsci9ro1lod4Gw/s1600/GamesMaster12Jul18.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsFxPbOKJG0qNpCfbRBwiQ2_uDxFOt8OjvoCjZlFjzITBzzn4QMk_7iyhgMKeI9nkmkIM7hhpbRjHKOm_TJqBaxl2NB3LdqcUafEvoXnmCfTENGIoINKYKDtumw0YZNLsci9ro1lod4Gw/s320/GamesMaster12Jul18.JPG" width="320" /></a></div>
<span style="font-family: inherit;"><span style="font-size: 14px;"><br /></span></span>
<span style="font-family: inherit;"><span style="font-size: 14px;">4. Semaeopus was named as </span></span><span style="font-family: inherit;"><span style="font-size: 14px;">part of <a href="http://creativeengland.co.uk/ce50" target="_blank">Creative England's 2018 CE50 cohort</a></span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><span style="font-family: inherit;"><span style="font-size: 14px;"><a href="http://creativeengland.co.uk/ce50" target="_blank"> </a></span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;">5. Attended <a href="https://www.emfcamp.org/" target="_blank">EMF Camp</a> with a base at <a href="https://twitter.com/milliways2342/" target="_blank">Milliways</a>!</span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">6. </span></span><span style="font-family: inherit;"><span style="font-size: 14px;">We brought a <a href="https://twitter.com/SerKnowles/status/1047114421162713088" target="_blank">fun new artist</a> on board - shout out to Sophie! </span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">7. Rich started streaming and we launched our <a href="https://discordapp.com/invite/NDEVwBJ" target="_blank">DISCORD</a>!</span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;">8. Gave talks at <a href="https://2018.gamedevcamp.org/guests/" target="_blank">GameDev Camp</a> and <a href="https://www.indiecade.com/timetable/event/data-is-your-most-powerful-weapon-how-a-moddable-hacking-game-can-be-a-tool-for-digital-activism/" target="_blank">IndieCade</a></span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;">9. OFF GRID was featured in InsideIntel, a modern art show on privacy</span></span><span style="font-family: inherit;"><span style="font-size: 14px;"> put on by the <a href="https://tcij.org/" target="_blank">CIJ</a></span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">10. Spoke at <a href="http://swedengamearena.com/conference/" target="_blank">Sweden Games Conf</a></span></span><span style="font-family: inherit;"><span style="font-size: 14px;"><a href="http://swedengamearena.com/conference/" target="_blank">erence</a>, and <a href="https://twitter.com/richmetson/status/1053020783868616704" target="_blank">won the</a></span></span><span style="font-family: inherit;"><span style="font-size: 14px;"><span style="font-family: inherit;"><span style="font-size: 14px;"><a href="https://twitter.com/richmetson/status/1053020783868616704" target="_blank"> Indiecator award in the form of a giant cheque</a>!</span></span></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio60ziRislu464l-jCQWYyQmcrYsyZu7lW1p_hn-kueVJ9Tre3AXb5bF_Kwidf9iyP7wCJy0kwKNcHUxNTTApLB0fu4DooI79BlpsToAuw68BYMFqta2UH364eEF68kKu_Dcz2nD1xd6g/s1600/IndiecatorAwardChecque_18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio60ziRislu464l-jCQWYyQmcrYsyZu7lW1p_hn-kueVJ9Tre3AXb5bF_Kwidf9iyP7wCJy0kwKNcHUxNTTApLB0fu4DooI79BlpsToAuw68BYMFqta2UH364eEF68kKu_Dcz2nD1xd6g/s320/IndiecatorAwardChecque_18.jpg" width="320" /></a></div>
<br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">11. Ran a successful, overfunded <a href="https://www.kickstarter.com/projects/richmetson/off-grid-data-is-your-most-powerful-weapon?ref=537972&token=d84c779f" target="_blank">Kickstarter campaign</a></span></span><span style="font-family: inherit;"><span style="font-size: 14px;"> - hitting the first stretch goal! </span></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">12. Announced the line up of <a href="https://offgridthegame.blogspot.com/2018/10/surprise-character-reveal.html" target="_blank">real life hacker characters</a> to feature in<i> OFF GRID</i>!</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Fj0TzDK61hBSzOfGVzz8z-rN445ItzZjuCKiz0Uq3oTZlShdn_poBZOQ5CPAn4CpAhLsRVjobyjVC-q3Uqit3lXK5KdI8T6akj-f9djChxF4m4LsPsg_EPG2d3qLfL6Qnjaa_G7M9GY/s1600/Group_03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="968" data-original-width="1600" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Fj0TzDK61hBSzOfGVzz8z-rN445ItzZjuCKiz0Uq3oTZlShdn_poBZOQ5CPAn4CpAhLsRVjobyjVC-q3Uqit3lXK5KdI8T6akj-f9djChxF4m4LsPsg_EPG2d3qLfL6Qnjaa_G7M9GY/s320/Group_03.png" width="320" /></a></div>
<br />
<span style="font-family: inherit;"><span style="font-size: 14px;">13. Semaeopus won the first ever <a href="https://ukgamesfund.com/ukgfnews/uk-games-fund-awards/" target="_blank">UK Games Fund Smart Studio Award</a></span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;"> </span></span><span style="font-family: inherit;"><span style="font-size: 14px;"><a href="https://ukgamesfund.com/ukgfnews/uk-games-fund-awards/" target="_blank"> </a></span></span><br />
<span style="font-family: inherit;"><span style="font-size: 14px;">14. Kicked off our new and *exclusive* FIRST ACCESS programme</span></span><br />
<br />
<br />
<b>WOW. What a year 2018 was!</b> Thank you to each and every one of you for supporting us and helping us make all of this happen!<br />
<br />
...and now it's on to 2019: <b>GOOD THINGS ARE COMING! </b><br />
<br />
We wish you all the very best in the new year! <br />
<br />
THANK YOU!<br />
<br />
<b>The OFF GRID Team </b><br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-83141531408225203922018-12-21T15:52:00.000+00:002020-02-13T12:32:08.291+00:00Sprint Round Up - 21.12.18 - The LAST Sprint of 2018<br />
<i>Twas the last sprint before Christmas, when all through slack<br />there were messages pinging, of snow in Finland<br />tasks have been completed on Jira with care<br />with hopes of increased wishlists for the new year</i><br />
<br />
...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.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMGa3it9BWCpExnXiyvN8jCr-mKeT6m1HEPB9ftBkneaa9_iu7rq8Hkz4_GDC5QtVxwAHMCCAVDzRT8m34um0noMCoyznF1CgBUvgT3vlzvLtawgm3YerNOkGBGSxyTa3W4BrTeSStQfQ/s1600/IMG_FinlandSnow18.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMGa3it9BWCpExnXiyvN8jCr-mKeT6m1HEPB9ftBkneaa9_iu7rq8Hkz4_GDC5QtVxwAHMCCAVDzRT8m34um0noMCoyznF1CgBUvgT3vlzvLtawgm3YerNOkGBGSxyTa3W4BrTeSStQfQ/s400/IMG_FinlandSnow18.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Finland = Winter Wonderland</td></tr>
</tbody></table>
<br />
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:<br />
<br />
<h3>
App System</h3>
<br />
• Apps can define cost per action, and any continuously-running actions can apply cost over time.<br />
• Updated App scripting wiki page to match with the recent App system changes and to better explain all the features<br />
<h3>
AI</h3>
• Added generic actions to AI definitions (to perform tasks, change state, without the need of an InterestPoint)<br />
• Added stats to AI definitions (to track various attributes in a data driven fashion)<br />
• AI documentation<br />
<h3>
LevelKit</h3>
• Built the "Semaeopus Testing Facility" level in LevelKit as an example for modders, and as easy place to test new modded content and features<br />
• 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<br />
• Did a complete review of all the props and models in LevelKit:<br />
<br />
<ul>
<li> Made sure Models are not importing new Materials</li>
<li> Gave a box collider to things big enough to need one</li>
<li>Created a Prefab of everything </li>
<li>Added everything to Collections, cleaned up and re-sorted Collections</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5rqvIf2xFGHFNZzE7-FsxAi6S0Fo0tXtityjmkq3RBvqp-DjXDXWMq1qjfFXObeqp9Gj7JaXUyq_1wCLf0YNbN3RCV0ilR6POEp9ReBJOax5alvxKlDobiE5GUBQ_JGyQoDUEicqHCIc/s1600/MaterialOrganisation.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="309" data-original-width="1003" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5rqvIf2xFGHFNZzE7-FsxAi6S0Fo0tXtityjmkq3RBvqp-DjXDXWMq1qjfFXObeqp9Gj7JaXUyq_1wCLf0YNbN3RCV0ilR6POEp9ReBJOax5alvxKlDobiE5GUBQ_JGyQoDUEicqHCIc/s400/MaterialOrganisation.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Organising materials in LevelKit</td></tr>
</tbody></table>
<div>
<br /></div>
<h3>
FIRST ACCESS</h3>
<div>
• Sent FIRST ACCESS keys to relevant backers<br />
• Fresh build of OFF GRID with LevelKit tools for FIRST ACCESS users<br />
• Created <a href="https://trello.com/b/sJILcQhD/off-grid-first-access" target="_blank">public Trello board</a> for modders and FIRST ACCESS players to request features and report bugs<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2neVdrZxdWaim3vZ-myb3Dvh9Ab_gzTMDE38YNNvBaWrUpR7HDHwS02u2VGSU-G2IkVMB7b62g4DwoaP897HHQyH4tF53Cn1qE4PF4XOvdPsIVYRURobkgpconQKoPD1lSlHux5VCv4/s1600/Soul.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="110" data-original-width="843" height="52" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2neVdrZxdWaim3vZ-myb3Dvh9Ab_gzTMDE38YNNvBaWrUpR7HDHwS02u2VGSU-G2IkVMB7b62g4DwoaP897HHQyH4tF53Cn1qE4PF4XOvdPsIVYRURobkgpconQKoPD1lSlHux5VCv4/s400/Soul.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>The best NDA return e-mail we received! :D</i></td></tr>
</tbody></table>
<br />
<h3>
Character Controls</h3>
</div>
<div>
• design and planning for improving character control</div>
<h3>
Bug Fixing</h3>
<div>
• Fixed game crash in Map screen.</div>
<h3>
Other</h3>
• Final <a href="https://semaeopus.itch.io/off-grid" target="_blank">itch.io build</a>, and then added back all features & content that was disabled for it.<br />
• Explored documentation generation<br />
• Loads of improvement and additions to the documentation on <a href="http://wiki.offgridthegame.com/" target="_blank">the wiki</a><br />
• 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!)<br />
• A team holiday party at <a href="https://www.beef-and-brew.co.uk/" target="_blank">Beef & Brew</a> that left us all bursting! No worries, we took the leftovers home. Waste not, want not, folks!<br />
<br />
<i><b>A note on FIRST ACCESS: </b> </i><br />
<i> If you are eligible for FIRST ACCESS, you will have<br /> a) backed OFF GRID at the PENTESTER level or above on Kickstarter and<br /> b) already received an e-mail with instructions on how to join!<br /><br />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. </i><br />
<br />
...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.<br />
<br />
Thanks everyone. We wish you all the happiest of holidays!<br />
<br />
<b>The OFF GRID Team </b><br />
<br />
p.s. There's a HOLIDAY GIVEAWAY planned! We've chatted about it in <a href="https://discordapp.com/invite/NDEVwBJ" target="_blank">our discord</a> - and it's soon to be announced. <a href="http://offgridthegame.com/newsletter" target="_blank">Sign up to the newsletter</a> to get the details first!<br />
<br />
<br />
<i><br /></i>
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-31224870832503858202018-12-11T15:59:00.001+00:002020-02-13T12:32:48.915+00:00Improving AI PerformanceHi all, Steve here! Here's a look into what I've been working on recently: <br />
<br />
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:<br />
<br />
1 - the addition of a pool of Dictionaries to store states, and<br />
2 - making each state item immutable<br />
<br />
This vastly reduces object creation, which is slow, and reduces the number of objects in existence, which helps reduce memory fragmentation (another <b><i>Bad Thing</i></b>) - which, being C#, is harder to control than in C++.<br />
<br />
<br />
<h3>
Dictionary Pool</h3>
So what's a Dictionary Pool, you may ask! Well, <i>at its simplest</i> (which this is), it's a big list of pre-made Dictionaries, each with a flag on to indicate if it's being used.<br />
<br />
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.<br />
<br />
<h3>
Immutability</h3>
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?<br />
<br />
The answer is that while you can't change the object,<i> you can create a new one to reflect this change. </i>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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7506gE6DE9VhnNgbxUQWU7FUCtO9bbRByiAQa56CTbe1xkTL9YLumyilz344qeBi9bHAF8vFO9tBJsQRWWeMtwdTielDYKfnRRO4hytwJvSZdLrY269zPYrqU64Ktz05tcwblr2ZBdDU/s1600/immutable.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="759" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7506gE6DE9VhnNgbxUQWU7FUCtO9bbRByiAQa56CTbe1xkTL9YLumyilz344qeBi9bHAF8vFO9tBJsQRWWeMtwdTielDYKfnRRO4hytwJvSZdLrY269zPYrqU64Ktz05tcwblr2ZBdDU/s400/immutable.PNG" width="400" /></a></div>
<br />
<br />
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.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6naVEKa-Lv_jFlrtyHNoBHRfzCzW1EVpRV06JDWXcjR4N4tqofFu5W2IxPb9PuK6D3pHnJmQH-__IYS9p5QRTh5SEIBq_9bhXifqf3qjZ4slkarSbIqzfLA-udo_OAdLFM3zicRTTu0g/s1600/Garbage.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="245" data-original-width="1061" height="91" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6naVEKa-Lv_jFlrtyHNoBHRfzCzW1EVpRV06JDWXcjR4N4tqofFu5W2IxPb9PuK6D3pHnJmQH-__IYS9p5QRTh5SEIBq_9bhXifqf3qjZ4slkarSbIqzfLA-udo_OAdLFM3zicRTTu0g/s400/Garbage.PNG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Back within 60fps, but still a lot of garbage to deal with!</td></tr>
</tbody></table>
<br />
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.<br />
<br />
-Steve<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-33127236889039327972018-11-19T14:36:00.000+00:002020-02-13T12:33:50.359+00:00Sprint Update 19.11.18: The Longest Sprint<br />
Hello! This Sprint Update is a long time coming - there's been a lot going on, including a <a href="https://www.kickstarter.com/projects/richmetson/off-grid-data-is-your-most-powerful-weapon" target="_blank">successful Kickstarter</a>! <i>Successful Kickstarter </i>has a nice ring to it, eh!? <br />
<br />
If you followed along with the Kickstarter (and hopefully you did!) you will have had a lot of updates to read in the meantime. Nevertheless, here is the detail of what we have been busy with throughout this epic sprint as we prepared for and ran our first ever crowdfunding campaign: <br />
<br />
<h3>
AI</h3>
- Pooled dictionaries in AI state<br />
- Immutable AI state<br />
- Inevitable fixes for above<br />
- Extra cost for guards using stairs<br />
- Fixes to AI planning<br />
- Fixes for OffMeshLinks / AI using doors<br />
- Tracked down a bug relating to door GUIDs / saving and loading<br />
- Noise documentation<br />
- Updated AI used in the Harbour scene<br />
- Fixed a drone navigation crash<br />
- Added mechanisms for AI to prefer particular devices based on their personality<br />
- Added mechanisms to allow AI Actions based on their personality + Documentation for this <br />
<h3>
Controls</h3>
- Added UI to remap controls in main menu<br />
- Checked/updated all control settings & defaults<br />
- Limited repeat rate on analog gamepad sticks when moving around UI <br />
- Added dataview range control on mouse & keyboard<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgktl9SVIeUhVnyRTlmnZsShb02f5BKJq9ZKngrwNWwrCJds8Lu6YEiGfPc0nDD3eKel6XgBKg_0B6OTSuaMk90JqG5Dqxhqmv05IQHzumA7Ge640QOAoj_1wuQHIk9yMjiogb7ySpqAz0/s1600/4-AppsOffGrid.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgktl9SVIeUhVnyRTlmnZsShb02f5BKJq9ZKngrwNWwrCJds8Lu6YEiGfPc0nDD3eKel6XgBKg_0B6OTSuaMk90JqG5Dqxhqmv05IQHzumA7Ge640QOAoj_1wuQHIk9yMjiogb7ySpqAz0/s400/4-AppsOffGrid.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Apps being configured: choose if you want them available in the app wheel or radial menu.</td></tr>
</tbody></table>
<br />
<h3>
App system</h3>
- Completed new app system<br />
- added App system Lua API<br />
- unavailable apps are now hidden from Apps menu<br />
- If app can't be added to either appwheel or radial, it's now hidden in the App Menu (for exaple the password cracking is currently an app, but shouldn't be controlled by the player directly)<br />
- Apps are added to AppMenu, AppWheel and Radial menus when the app becomes available<br />
- Only execute currently selected app (instead of all active ones) when selecting a target+app in radial menu<br />
- Update loop for apps (so apps can run in background and do things continuously/over longer time)<br />
- Apply app action cost (both per-action, and for app cost over time for a continuously running app)<br />
- Status windows for apps<br />
- Support for displaying an icon and/or a piece of text<br />
- Support for changing icon & color<br />
- Rewrote Light Monitor app using new API<br />
- Created "Send Data" app (lets you send a file to currenlty targeted chaarcter or device)<br />
<br />
<h3>
Lua API additions</h3>
- Lua API for audio RTPC<br />
- Added normal (scaled) time support for scheduler API<br />
- Added notification messages to UI Lua API<br />
- Player API additions to get social profile data for currently targeted character<br />
<br />
<h3>
Bugs fixed</h3>
- Player character walking/crawling sounds get swapped after crawling first time<br />
- Removed hack that re-assigns all materials in scenes (original Unity issue that required this has been fixed so the hack isn't needed any more)<br />
- 1st person targeting should maintain the direction player is currently looking at<br />
- Character profile data displays color codes in UI rather than colored rich text<br />
- Fixed notification message UI animation setup<br />
- Fixed file viewer not displaying images<br />
- Fixed card scanners missing UI markers whe usign the Help app<br />
<h3>
Apostle level</h3>
- Checked all atmos colliders, added new ones where needed<br />
- Blocked staircase from lobby to 1st floor<br />
- Blocked door in 1st floor that would otherwise allow player to skip half of the floor<br />
- Checked navigation layers<br />
- Checked colliders, changed some to simpler ones, added some that were missing<br />
- Fixed colliders with negative sizes<br />
- Fixed typos in some device scripts<br />
- Checked all doors and assigned correct door groups and access levels<br />
- Removed drone from rooftop<br />
- Replaced a few hunded cardboard box models in level with prefab versions<br />
- Fixed missing/wrong static tags around the level<br />
- Removed some leftover invisible collliders blocking player and the AI movement<br />
- Fixed props not correctly aligned to walls/floor<br />
- Redesigned first floor of Apostle HQ<br />
- Implementated new hackable device <br />
<br />
<h3>
Art</h3>
- Creation of activist and hacker characters<br />
- Prop and asset creation for new levels<br />
- Set dressing and environment art for the Apostle level<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1E2Nlh-nSmecu1ydd66vbgie1NtTUM45pgRQkxsTfzn8MSRHNWNV-Z5a1-DH8HCH0-04Wi96jZ6j0rdTrq9Hv0inu1lj81S6juVTIBR8YhyphenhyphenXwEEp4hsJgQMpq_UAe56DJU_bOGC4NODQ/s1600/Group_03.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="968" data-original-width="1600" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1E2Nlh-nSmecu1ydd66vbgie1NtTUM45pgRQkxsTfzn8MSRHNWNV-Z5a1-DH8HCH0-04Wi96jZ6j0rdTrq9Hv0inu1lj81S6juVTIBR8YhyphenhyphenXwEEp4hsJgQMpq_UAe56DJU_bOGC4NODQ/s400/Group_03.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Models of the real life hackers featuring in OFF GRID.</td></tr>
</tbody></table>
<br />
<h3>
Other</h3>
- Enabled ultrawide display reoslutions<br />
- Added headers support in popup menus (menu item with no function becomes a header automatically)<br />
- Added splash screens when starting the game<br />
-
Data colors now ignore alpha value set in scripts and instead use
pre-defined opacity to make sure things look correct in data view and in
UI<br />
- Opened studio Discord!<br />
- Built a new website for the game<br />
- Quick update of studio website with new Semaeopus logo <br />
<h3>
Kickstarter</h3>
<h4>
Updated build for Itch.io demo</h4>
- Removed options menu from build<br />
- Removed other levels from the build<br />
- Forced loading straight to Apostle level in demo build<br />
- Added Kickstarter campaign ad in main menu<br />
-
Disabled save game loading (makes no sense for a single-level demo and
would cause issues when loading a save where the demo level is already
completed)<br />
<h4>
Campaign Prep</h4>
- Campaign page drafting, review, and finalising <br />
- Reward drafting, review, and finalising <br />
- Contact push<br />
- Press push<br />
- Newsletters<br />
- Update planning: every 3-4 days to all channels<br />
- News release drafting<br />
- Daily social media scheduling<br />
- Streaming planning<br />
<h4>
Events and promotion</h4>
- Game Dev Camp, Lisbon - <a href="https://2018.gamedevcamp.org/guest/speaker/rich-metson/" target="_blank">Rich</a> and <a href="https://2018.gamedevcamp.org/guest/speaker/steve-allen/" target="_blank">Steve spoke</a><br />
- IndieCade, LA - <a href="https://www.indiecade.com/timetable/event/data-is-your-most-powerful-weapon-how-a-moddable-hacking-game-can-be-a-tool-for-digital-activism/" target="_blank">Rich spoke</a><br />
- Sweden Games Conference - <a href="https://www.youtube.com/watch?v=lK9ZI4qGCFU" target="_blank">Rich spoke</a>, Off Grid demoed within Indicator and Off Grid won the Indicator award!<br />
- <a href="https://tcij.org/inside-intel" target="_blank">Inside Intel</a>, London - an art exhibition on privacy & surveillance <br />
- <a href="https://www.britishcouncil.mk/en/programmes/arts/our-work-film/playuk-arcadia/gaming-exhibition" target="_blank">PlayUK</a>, a videogame curation put on by the British Council in Macedonia<br />
- <a href="https://www.eventbrite.co.uk/e/devspace-london-mixer-hosted-by-big-pixel-tickets-51214065649#" target="_blank">Dev Space Winter Mixer</a>, London<br />
- Closing party and livestream to countdown to the Kickstarter campaign's end!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOLlqDo2hb21bBYmYV4zYWymLPzSBwMssn7gxaAGEq9SmJp28mGsnMOh6kU_cf2mDiCiUVgpzDiTEJmY4atjztzVzwpQHhLFkRoOMcqVxXa7RMFwVs1RPk38su4xHI7UvtsNti8mJU_Yk/s1600/IMG_20181117_124507-2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="899" data-original-width="1600" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOLlqDo2hb21bBYmYV4zYWymLPzSBwMssn7gxaAGEq9SmJp28mGsnMOh6kU_cf2mDiCiUVgpzDiTEJmY4atjztzVzwpQHhLFkRoOMcqVxXa7RMFwVs1RPk38su4xHI7UvtsNti8mJU_Yk/s400/IMG_20181117_124507-2.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The final moments of the Kickstarter campaign!</td></tr>
</tbody></table>
<br />
Whew! A long list to match a long, bountiful Sprint! <br />
<br />
To top all of this off, the team travelled to Dundee, Scotland last week to attend the UK Games Fund Awards. Semaeopus was nominated for the <a href="https://ukgamesfund.com/ukgfnews/ukgfa/" target="_blank">'Smart Studio' Award</a>, and we were looking forward to a fun celebration together after the month of hard graft. When the category for 'Smart Studio' was up, we were absolutely stunned to hear 'Semaeopus' announced as the winners! <br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5wg3WEBhVGJhpojmYu2RaRaeKh11_xgMb4YYaFIcBJ2AGyTna8Tqw3iw2Ty8VVAMHINu4r_MV3eUvYrAK_lLDSCRy1jocYbN3AGIVTfXUgodONaD1d7m5NyIK5eAyqmwRzV7eZtuCDno/s1600/UKGFSmartStudio.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="930" data-original-width="1024" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5wg3WEBhVGJhpojmYu2RaRaeKh11_xgMb4YYaFIcBJ2AGyTna8Tqw3iw2Ty8VVAMHINu4r_MV3eUvYrAK_lLDSCRy1jocYbN3AGIVTfXUgodONaD1d7m5NyIK5eAyqmwRzV7eZtuCDno/s320/UKGFSmartStudio.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Award winners! Sarah, Steve & Pontus pictured with the award presenter. </td></tr>
</tbody></table>
<br />
A <a href="https://www.kickstarter.com/projects/richmetson/off-grid-data-is-your-most-powerful-weapon" target="_blank">successful Kickstarter</a>, two new awards, and loooooads of new supporters - <b>we are so grateful to each and every one of you that has helped make the last couple of months so successful! </b><br />
<br />
There's been SO much going on - expect to hear more from individual members of the team as we each wrap up from the last couple of months. <b> </b><br />
<br />
<h3>
What's next? </h3>
<br />
It's onwards and upwards now. We're working on getting our FIRST ACCESS programme off the ground. <i>Anyone that backed at the PENTESTER level or above can expect to hear from us soon about what is to come. </i><br />
<br />
One of the two main goals of the crowdfunding campaign was to provide a bit of additional resource to support more open production of Off Grid. We're busy getting our ducks back in a row after the Kickstarter, and can't wait to move forward with you all behind us. <br />
<br />
THANKS EVERYONE!<br />
<br />
<b>The Off Grid Team</b><br />
<br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - *EVEN IF YOU ALREADY BACKED THE KCKSTARTER! Each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0tag:blogger.com,1999:blog-6020038240212681184.post-1098884112215630202018-11-09T15:48:00.003+00:002020-02-13T12:34:32.468+00:00126% Funded on Kickstarter!<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
We did it! <br />
<br />
<i>OFF GRID</i> was 126% funded on Kickstarter in the end - that's a whopping £5,252 over our goal. <b>THANK YOU!</b> <br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuwJLnUuusGUifqkMJfoJTlUva5pLjoSvGAD40LHbWwV_NJPlAmPg3EERPZTaF3FB8ZWElcT-OwNy_RyG5ZhnkxwLgq2fQhun5hE12-WVlnIsDJhjPMgByN71AB-qFv7dg9T7zgHNvm8k/s1600/FINALTYToKS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1438" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuwJLnUuusGUifqkMJfoJTlUva5pLjoSvGAD40LHbWwV_NJPlAmPg3EERPZTaF3FB8ZWElcT-OwNy_RyG5ZhnkxwLgq2fQhun5hE12-WVlnIsDJhjPMgByN71AB-qFv7dg9T7zgHNvm8k/s400/FINALTYToKS.jpg" width="400" /></a></div>
<br />
We hit the first stretch goal late yesterday afternoon, then kept building to our final tally of £25,252.<br />
<br />
That means <i>OFF GRID </i>has the extra funds dearly needed for art and sound, AND we'll be sharing even more with you as we shift into a more open mode of development!<br />
<br />
PLUS, by hitting that stretch goal, <i>OFF GRID</i> will benefit from the addition of an in-game social media app, and those of you that took advantage of that extra tier (and all those who backed above it!) will get the satisfaction of seeing a message of yours in the game. <br />
<br />
Thank you to everyone that followed along with the countdown - whether in person or via the livestream. It was great fun to share the success with you all! <br />
<br />
We will be back in touch soon with updates on the game, development progress, and importantly, details and questionnaires about your rewards.<br />
<br />
THANK YOU! <br />
<br />
<b>The Off Grid Team</b><br />
<br />
<i>If you haven’t already - be sure to <a href="https://store.steampowered.com/app/526720/Off_Grid/">wishlist Off Grid on Steam</a> - each wishlist makes a big difference to us, and we really appreciate your support! </i>Teamhttp://www.blogger.com/profile/13740343732149496901noreply@blogger.com0