Showing posts with label developconf. Show all posts
Showing posts with label developconf. Show all posts

Friday, 1 September 2017

Develop 2017!


This past month Rich and I attended Develop conference, which is one of the UK’s largest game developer conferences. I’d attended Develop once before about 5 years ago when I was a student, in fact I remember bumping into Rich there and having a catch up! The conference is a magical blend of socialising, knowledge sharing and unofficial indie dev football matches.

The Talk


I was lucky enough to give a talk called “Making a hacking game hackable: An approach to modding in Unity”. My talk was aimed not at modders, but at other developers who might be interested in making their Unity games moddable.


Here’s some of the things I talked about:

What is modding?

For some the idea can sounds a little scary. But the truth is a lot of devs will in some part be familiar with the process of making their game data driven. Essentially modding is the process of making your game incredibly data driven, as well as creating the tools that the public can use to create that data.


It also includes hooking into a distribution platform, for a large number of developers this will be a system such as Steam Workshop.

Why make your game moddable?



Making your game moddable can increase community engagement hugely, as well as the lifetime of your game. If you look at examples such as Skyrim and Minecraft, these games wwere release 5+ years ago and yet are still heavily played today.


I believe this is in no small part to the amazing modding community surrounding those two games.


If you’re a dev considering if you should make your game moddable, a couple of suggestions are: plan modding from the start and use the tools you’ll give to modders for building the rest of the game.

Deep dive


Some of the lower level information about how we’re approaching modding in Unity included:

  • Technical information about how LevelKit works under the hood, using Unity editor scripts and the asset bundle system

  • Information about how we’re using the MoonSharp library to allow mission scripting via Lua

  • Some awesome C# features that allow you to easily create documentation for your community

Live Demo


Lastly, I finished off the talk with a live demo of LevelKit, showing off some of the features like the ability to use Unity’s native animation system and the networked communication between LevelKit and the game. The demo consisted of me making a little cactus on a table dance when a player pressed a button. While not particularly in tone with the game, I think it’s nice to show how flexible the tools are, and how quickly a mod can be mocked up in Off Grid.


I got some great feedback about the talk and I’ll certainly be applying to present more talks in the future!

Podcasts:


I also bumped into Keir Miron from the Darkest Dungeon team and we managed to record a podcast whilst crouched in a corner of the conference. Here’s a link if you’d like to listen


Overall I had a fantastic time and I’d highly recommend any game developers attend if they can.


Until next time!


Harry

Wednesday, 16 August 2017

Off Grid Sprint Update 16.8.2017 - Imma chargin ma lazer





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

Develop 




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




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

SHA2017




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

Steelcon

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

Mod hacking workshop with Spoonzy




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

New Networking




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

Tools!

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

Spawning




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

Templates




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

All your data belong to us

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

No Rest for the Wicked

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

Progress and Affect

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

Wiki

 




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

Character customization

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



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




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

2nd Floor of the Apostle level

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




Other changes & fixes

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

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

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

Biz Rumblings

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

New *MOAR* blog posts

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

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

Wednesday, 5 July 2017

Off Grid Sprint Update 05.07.2017 - Modder-dod-a-ding-dong

We have spent the month hard at working putting together new changes to the game’s interface and the modding tools. We have also brought our wiki documentation forward so that it is usable because we have had our first modder working with us this month!

Our First Modder

We were lucky enough to be contacted out of the blue by Dominic who goes to college not far away from the studio and was looking for a place he could do work experience at a games studio. We jumped at the chance as many of us got our first breaks in life through being bold and asking
for work on a whim and we were glad to be able to offer the opportunity.

Dominic has been testing our modding tools and helping write up documentation on our wiki on how to use them this last week, but we’ll let him tell you what he has been up to…

Tuesday, 12 July 2016

Sprint Update - 12.07.16 - What has 6 legs and green shoots? Us!

Greenshoots

Hoorah! We have been selected by Creative England to join their Greenshoots program in partnership with Microsoft, which comes with a solid amount of funding and will help us ensure we get to our aim of getting the alpha in your hands sometime next year!

This means we can continue working full time, plan towards some kind of release date, and have enough funds to guarantee we’ll actually be able to get the game out in it’s alpha state and that people will be able to get it around next spring/summer (assuming you are brave enough to grab early access copy)!!

Friday, 5 July 2013

Develop Brighton Conference




We’re gonna be down in Brighton for Develop Conference next week, if you fancy catching up then look out for us, or drop us a line on the contact page, or tweet us @offgridthegame!

http://www.developconference.com/

Look forward to seeing you there!