Good afternoon, everybody. Are you enjoying SHA 2017? Oh, I made me scared a little bit.  Games, tools, hacking. I want to do good mornings, get any better. So welcome and give a warm applause to Rich Metzen and Harry Rose. H. Well, the talk disclosing your zero days in a video game mod might need a little explanation because there's quite a lot pumped into that title. So let's get started with that. If the slides will move. Just hit that. Yeah. Like that. Great. So disclosing our days in a video game, eh? Well, I think it's worth bearing in mind that the earliest video game was essentially a hack. The 1962 repurposing of a ballistic missile trajectory testing program at MIT to make the game Tennis for Two. I'd put money on the fact that half of you got into hacking through the video games vector, most likely modding the games you played as a child. Playing computers have gone hand in hand since their inception. Most people's first experience of code was reading type in code magazines and realizing that the files on your Commodore or Spectrum games could be edited to change the game. Several computer hobbyist magazines were full of examples of code you could input and repurpose, often spending hours typing in and squashing bugs in basic, or even be occasionally printed by the lazy writers assembly and machine code games. So whether through shareware and the reversing of Doom, so players could make their own maps in the 90s, or the use of Half-Life 2 as a modding platform for completely new games that we all know and love, like Portal being the biggest example of a game that started in the Source engine and was acquired by Valve and turned into a full standalone game. So we get the bit about hacking and games, that makes sense, but what about the off-grid thing? Well, off-grid is a video game we've been developing about data privacy and hacking. It's basically a stealth game where data is your most powerful weapon. It actually manipulates the AI characters by collecting their data and engineering their personalities. You hack and bastardize IoT devices around their environments to trick or trap them or further escalate your network privileges. So without further ado, I'll throw up a live demo because it seems like that's the easiest way of showing you all what the game looks and feels like. Fingers crossed, all goes absolutely fine. So this should have some audio, maybe not. Cool. Oh, we briefly had audio. So I'm just going to cheat and skip across to a new level here. Show you a bit further into the game. This is a little animatic intro setup. Should be some sound here as well. But basically this will be fully playable when the game gets to release next summer. For the time being, when you see behind the character, that's a bit that's playable. So you're delivering breakfast over to your daughter. She gives you a present because it's your birthday. Turns out it's a set of Google Glass-style AR glasses. But these ones are open source because Jen's a bit of a hacker and knows how to tool her data. He's a complete technophobe though. So essentially he pulls out his phone and doesn't know how to connect anything.  And she goes in for the hug. Happy birthday, Dad. But then smash.  Essentially he gets given a national security letter that says, your daughter's in processing will be in touch in 90 days.  So anyway, that's the basic setup for who you are in the game. I'll skip this over. While he's passed out on the floor here, some of Jen's compadres have all been raided simultaneously. They give him a phone call saying basically everyone's been bundled up and like Jen has except for one of them. And he's on the run. He's a hacker who's going to teach you, the dad who's a technophobe, from absolute scratch how to hack into the devices around the buildings and hopefully find information about what's going on. So we're getting just some sound. So here we have these little crypto chat conversations that you have and you get taught by this hacker how to manipulate data and networks using kind of like a wire shark, AR visualization, sort of a packet sniffer, but for your glasses. You have an array of apps that they'll take you through how to use. Spectrum, data delete, debugging tools. You've got a light monitor set on your glasses, all these kind of little apps and you've got them down the bottom here. You can use them to scan and save data and do all kinds of varying things. So here we'll just delete a couple of data points. Oh, that one's protected. So yeah, I'll skip over back to the presentation and we can come back to the demo of some of the mechanics. So the gameplay logic in Off-Grid all runs on Lua under the hood. All the computers that you hack, whether they're desktop PCs or IoT devices dotted around the buildings, they're technically their own Lua virtual machines. They essentially run as many computers in the game. They can input and output data. They store data and inventories from character and NPC interactions. And so the gameplay kind of revolves around hacking as many devices as possible and acquiring as much data as you can to profile the NPCs. This allows modders and hackers to create their own Lua hackable devices, hacking tools and data types as well as levels and character personalities. This will allow anyone to model real life or cutting edge hacks to whatever level of detail they're interested in. So next time you find a bleeding edge exploit, why write a white paper when you could model it in a mod and pass it on to people to play? So a little bit on where Off-Grid's sort of thinking came from. We always wanted to make something that even though satirical had a dose of realism and felt like a very near future dystopian tomorrow, a kind of imagination of if SOPA had gone through and continued on with a generous helping of dark, ironic British humor. We actually thought back in 2013 when we started making prototypes of the game that one of the villains could be an all-powerful Theresa May-like figure dedicated to safety. Little did we know that we'd actually predict the future of British politics. Consistently along the way, we've held off being two out there with the fiction in the game. And again, back in 2013, it didn't seem like a world where all of the devices in a building would be IoT and connected, would be something that people would feel was realistic and maybe was too futuristic. Unfortunately, we've then throughout development gone on to implement our then more far-fetched ideas as they've unfolded in real life. We've had to make the networks and surveillance tools more pervasive, having previously felt people would think our implementation was too over the top. So unfortunately for the real world and sadly fortunate for our game design, the last three years have seen an incredible public affirmation of some of the Orwellian fears that most of you folks in here will have been shaking your heads at for quite some time. To add to this, development of the sorts of products that manufacturers think should be connected to the internet has been like something straight out of Terry Gilliam's Brazil. That is to say, underwhelmingly implemented technology prevalent everywhere, toasters that pour coffee on your breakfast, air-conditioning vents that stop you leaving your house. In 2013, we really did think that that was going to be over the top, but then this kind of thing started happening. But the real world is basically outpacing us. The fiction we can write at quite a rate. For instance, Slow Cook is running Linux because hackers might want to SSH into their BBQ beef. So the origination was make a game about data privacy and in the modern world that means by default cloaking or hiding or even interacting in a way that produces no data. Our thoughts were hiding, covering our tracks, reducing visibility. We should make a stealth game and then put a twist on the conventional hacking genre by putting it in a 3D world and using some poetic license and setting up the data as a tangible thing like a kind of breadcrumb trail. So understanding privacy and vulnerabilities and ultimately surveillance circumvention seemed to us to be something some people in the wider public had a hard time grasping because it's invisible. We hope making data physical would help with that as well as make for good game mechanics. You play a character who's a technophobe, as I've said before. The player learns about this world as the character does. Off-grid is an opportunity to take those abstract concepts of data and privacy, social engineering, et cetera, and physicalize them. And then get the player to explore on a basic level some of the infosec techniques you can use to navigate this world safely. Experiencing something is better than telling someone about it. So to some extent we just want to give players the opportunity to vicariously experience being totally surveilled and invading the privacy of others to try and realize what that would mean in their real lives. Who knows, this could be a way of engaging people to take a step towards trying out what can be a very intimidating set of privacy tools and technology such as PGP or TOR or whatever else. So the basic structure of the game is you gain access to a building. You scan for data to gain access crack or social engineer your way into different levels of the building's networks. You then use the personal data you find on those networks to manipulate the behaviors of NPCs to move them out of your way and avoid discovery, pranking and spoofing in increasingly funny ways. You then manage to exfiltrate some sensitive data on one of the machines in the building to help build an image of the case of what has happened to your daughter. And then you get to the roof and set up a mesh network node to link the information over. In this world the idea of an open internet is a long distant memory. And of course, don't get caught. We want to set up a kind of TOR onion router like mechanic where you, as the player, had to be careful in what way and how many times you access the networks so as to avoid being traced. The more devices you can hack around the building you are in, the more nodes you can add to a cascading proxy, extending the time you can scan in the data view for. We started with the basics of needing to essentially be able to clear your logs as you move through an environment. And so each time you connect to the network you do leave a data point around that you need to be careful about as well. This has evolved into being able to scan an environment with, like I said, a sort of showdown style API that works like a visual packet sniffer. Looking for open ports on devices and looking for packets of data that you might be able to use to manipulate people with. And then you find those devices and take control of them to build up a proxy chain or to make them do something even more interesting. Essentially finding and owning vulnerable devices extends your powers. So you have a set of tools that give you the ability to see the data characters in the world are leaving behind. Data is generated by characters personalities procedurally and these tools allow you to collect that data to profile them and manipulate their behavior based on their interests or what kinds of things those guards would be easily distracted by. Essentially you're socially engineering the AI. Each device you gain access to can also receive this data generated. Data can either have an effect by modifying a device's behavior based on what is received or you can actually get it to do a callback or ping data to other machines and have various effects across a network. You can then use this to find other data containing passwords, keys, hide your own data move your adversaries out of their usual patrol routes and get to your goals. Collecting data is the name of the game for all the above reasons. On a character you need to gain access to and you should be able to collect their data and build up a contextual map of their personality or build a dictionary to speed up the time needed to use a brute force tool to crack a password on a machine, almost like a rainbow table that you collect actual physical pieces for. But just collecting interesting data and sending it to an NPC can have an interesting effect too. Why is that? Well, how NPCs react to data is interesting. We've written GoApp AI that's goal oriented action planning. It's an implementation in C sharp for using Unity. This essentially means you can throw new actions at the AI in real time and they will find the best way to use them to get to their objectives. This allows us to do quite a lot of interesting things by manipulating the AI's environments and its solutions to navigating those environments and naturally the AI will do emergent things in order to try and re-root themselves. So you hack a device or let's say you hack a light bulb in a room and a guard doesn't have a flashlight he will need to either find a light switch or flashlight to get through the room but he plans that on the fly. So I've got a little example of how these hacks start to come together. So this will be actually more difficult to play over there. There we go. So here you can't see because of the bloom but someone's actually been looking at the char wiki on this laptop that they've left open. So we connect to the network because we've got an SSH into it. At the moment you just get this kind of end curses style back end for all of the SSH windows but we're building a couple of different moddable UI setups so that you can have a desktop or an industrial control system or maybe various others. So we're looking on this laptop for Bluetooth devices and we've just turned the Bluetooth on and discovered that there's actually a radio in the room next door. So these guards are in our way. We move around the room and then scan over here again and we can see that there's an open device that's a radio here. So we then are able to SSH into this because it's discoverable on the network and this takes a second because I pressed the wrong button. And so once we gain access into the radio we can do various things. So at the moment this one's quite simple. Change the music to the soundtrack in the background. Set it to play and turn on social media interaction and turn the volume up and this creates a noise distraction and because of this wonderful bug with the flashlights of the guards you can actually see they're running past us on the other side of the wall. And so then we can evade them and get through to our next bit. So there are various other interesting hacks as well. So another example would be this vending machine. So these devices can be chained together. In this instance we're just hacking directly into the vending machine. You can set up particle effects, animations, lighting effects as modders. So it's not stuff that you only get to see from a developer providing it to you. You can do all of it. So here we're firing coat cans but you could set up a CCTV camera in the room that when a guard walks past it is set to recognise the MAC address of his phone because phones all have generated IP addresses and MAC addresses in the game and they connect to networks with handshakes. They're simulated cell phone towers. So all of the networks have a sort of logic that you guys would naturally understand. So you could take it that this camera that you've set up needs to recognise a guard's MAC address as he walks through it, it pings a message to instead of the fire alarms it pings it to or the burglar alarms it to the vending machine and the vending machine is set to fire cans at him. And so you knock the guard over by chaining together different weird and spooky IoT hacks. So these are all kind of far-fetched examples for the sake of a kind of video game setting and playability. Well, hang on, I'll get rid of that. But basically this can be used to do all manner of more realistic or accurate infosec techniques or showing to a kind of a non-technical audience what you're talking about when you've found a new exploit that you think is worrying. To summarise we've got examples like exfiltrating compromising personal data from a phone and sending it to printers on screens in the area near the affected character so that they're embarrassed and have to run over and try and shut down the printers. Scanning smart TVs that are listening for voice commands and have accidentally picked up the head of IT's conversations and stored the admin passwords in clear text. Turning on smart light bulbs on and off remotely and then turning up the thermostats in the room to 38 degrees or covering body temperatures in order to get past thermal cameras that you've now plunged into darkness. We're hoping players will find all kinds of new and interesting ways to combine these kinds of strange hacks and really the types of stuff that can be done grows exponentially as we add more props, more ideas as players ask for more features within the modding API. So, yeah all of the kind of modding stuff is done from the perspective of how we make things as devs so we've basically built up a toolset that works within the Unity engine which the Unity engine although proprietary is free to use so in terms of 3D game engines it's about as good as you can get the only real open source 3D engine out there is the blender game engine which has not really been reliably used to ship a kind of mainstream kind of level title so here we've got the level kit toolset that we've put together these are all different bits and pieces that you can use for geometry to build your levels but the kind of interesting stuff gets into when we kind of start to put the lure scripting together one of the first modded hacks that we put together because we use these modding tools to make the rest of the game so that they work just as well for players, modders and hackers as they do to make the core content of the game one of the first mods we put together was inspired by a talk I saw at StillCon in 2016 last year and so to show you some of the possibilities of the modding tools I'll talk you through the basic mod and how that was inspired so this was inspired by seeing Scott Helm talk about vulnerabilities within the Nissan Leaf electric car app he and Troy Hunt had done some really interesting research on how it could be exploited in essence they found that the JSON API for the car's remote control app could be manipulated with a get request that required no auth other than the VIN number which is a vehicle identification number the VIN number is actually legally required to be visible from the outside of the car so as something that you'd use as auth it was pretty big fail and because it's a production line based number it's like a serial number if you get one of them you can just increment them and then find all of the cars so they found some pretty scary flaws within the Nissan Leaf that took a long time to get them to come around to fixing and in the meantime Scott gave this talk so the basic principles of it is by using HTTPS intercepting proxies like Fiddler or BurpSuite to watch the comms going back and forth between the app and the main servers they were able to start mapping out the API just stripping the SSL and seeing what was kind of in there and what calls were being made and they saw that in those calls literally just by dropping out elements of the get request they could get the server to return that data to them so if you dropped out user ID but you had a valid VIN number it would send back the user ID so you could get a VIN number and essentially call to ask for the owner's name so it got scary quite quickly and they got to the point where by dropping in the auth get request dropping everything except for the VIN number they could gain access to the entire API basically if you can get the VIN or you can control, you can guess it, you can control someone's car the kind of things that they could return the requests could return were the user ID of the owner which is usually their name or their email address the geo locations of the cars restracking, battery status of the electric vehicle, lengths of journeys and they could also control by charging and discharging the battery they could control basically the health of the battery and its status and they could turn climate control on and off so they found they could even void the warranty of the Nissan leaf because there's a clause that if it's been high charge which is when it just goes to a high 90s percentile and then goes back on charge repeatedly you'll reduce the capacity of that style of battery they found that you could remotely void someone's warranty on a 5 grand battery so this seemed perfect for mocking up in a mod as there's some nice physical elements with the VIN being displayed on the dash and I'll show you a little video of that one so here we are in a car park let's say this is Scott or Troy having a little look around, I guess this is Troy and this is Scott's car here so Troy spotted Scott's car he walks over to it and this is a pretty simple work in progress version of this so you'll see that we can add to it later essentially you try to use your SSH tool to aim at the onboard car computer but nothing comes up but that's fairly straight forward because there is a VIN license plate in the window you just get your data save app up and scan that to download the VIN number and then hey press though we should be able to use that as well now so now that's identified that we've got the VIN and you can get to the control system and here we've just got an example where you can open the car doors and turn the interior lights on and off and so then we find that in the car because we're in a high security harbour, one of the guards has had his security card slip out his pocket so there are other kinds of things you can build up with sort of semi-realistic or not realistic at the moment but a kind of first pass a realistic hack that could be built upon so there's only three kind of lure elements that you need to write to set this up in the game you set up the car computer as a device and what it can control and this is pretty much all of it that's all the lure that you need to write for that set up the VIN plate to contain the VIN data that you scan the objects for the elements that you want to control via the car computer such as the car doors, lights or alarms this is fairly naive at the moment but it's possible to build out as we continue to add to the game so off-grid supports devices reacting to data sent to them so the Nissan hack being based on get requests to the API filling in missing data as long as the VIN was present we could set up a data type that you could leave with an empty payload or that took the VIN number and took a get request to send that piece of data to the car computer and get it to pull back with the user ID to you and then use both of those pieces of data as credentials you can basically start to build up as you'll see with when Harry goes through the technical details of it quite interesting complexity and although it's not simulation you can model kind of some of the technical detail of your hack rather than it being kind of a top pass like these examples I'm showing at the moment so the interfaces that we've shown at the moment are just kind of end curses like I said kind of back end type basic UIs but we're working on a couple of different types so that you could have an industrial control system or a normal desktop environment you can run logic in these devices to make certain button presses reveal different information so there's quite an interesting heatmizer thermostat vulnerability that was to do with HTML elements of the pages not being properly secured so if you went to left-htm which was this left bar down the side window and pulled for that in the URL finder you could get just the left-htm turn up with all of the elements including the clear text passwords before you'd logged in so that's the sort of thing that you could mock up as a hack just in the kind of devices window itself is that right so on top of this who knows what kind of things still contours might inspire coming going forward there's all kinds of terrible IoT device ideas with horrifying XSS vulnerabilities requiring only an email address for login etc so on top of that the internet is a great resource for coming up with fantastic takes on IoT hacks and traps but for off-grid take two ridiculous IoT devices off of the internet put them together and you have the perfect trap for off-grid looking forward to seeing whether people make attempts at things like this like an IoT air freshener hooked up to a poker stop so that when a guard goes to collect some Pokemon they get sprayed in the face maybe combining Bluetooth hands-free gloves with some pelvic floral training shorts that are IoT connected so that when the guard gets pranked by you he gets a buzz and this one's actually done the exercise for me already and it's advertising hacking the happiness of a foes health tracking Tamagotchi drinks bottles so they have to spend the majority of their shift at the water fountain keeping it alive and actually in fact we already made this one includes doctors appointments and there's actually a little bit of mirai functionality down at the bottom how did that get in there we're already seeing public systems that take control of entire rooms in real life so here we have two flavors of the same system repurposed by rent a kill one that tracks the pest control traps in a building at the top and then using the same system another installed in public toilets to track and alert if people don't wash their hands I'm fairly sure if a few wires got crossed that would make for an interesting mechanic so essentially new hacking apps and tools in the game can be created this way and we'll all run within the Lua framework we're hoping to see player invented devices data types hacking tools and apps they can all be created and of course levels of missions to be filled with all the above so I'll hand over to Harry to talk you through a little bit of the more technical detail on how we've implemented the Lua side of the game and what kinds of things are in the API that you'll be able to mess around with so I'll pass over hello I'm Harry I've been a systems and tools programmer on off grid for just over a year now I'll give you a brief kind of technical overview of what making a mod in off grid actually entails so making a modern off grid kind of has two main components the first is making the mission geometry so the world that your player is going to walk around in the second is setting up the mission logic so as rich mentioned earlier we're using unity as our main game engine and also our level editor we're really keen to make sure that we use the same tools that your use so that by the time we're shipping out modding tools to customers we'll be fairly bug free as things go so unity is what you're going to be using to make your geometry it's also what you're going to be using to mark up important objects or we like to call them mission objects in our modding tools as far as geometry pieces go we have over 850 so far and that number is increasing those are pretty small objects but we're using those to make much much bigger ones like we have preassembled rooms buildings stairwells doors door frames of every kind you could imagine so you can really be as complex or as simple as you want I'm not really into design but I really like coding so I tend to just throw some preassembled rooms together and make my geometry that way so this might work that might work so here's a little example of setting up a laptop as a mission object let's let's try it cool so yeah it's really simple as just clicking this laptop if you've used unity before this might look familiar but it's just adding what we call a component in this case you can't quite see the text but you have a drop down for the type of mission object so in this case it's hackable we also have things like trigger volumes generic mission objects which is kind of like moving around and interactions which is kind of how we saw the Scott helm scanning the VIN number so different interactions can have scanning animations or they can have grabbing animations or opening door animations and we're probably going to add more of those too let's get that back so and the second part is mission scripting so that's all scripted in Lua the main role of it is pretty much the set of your initial state of your mission and also the logic that reacts to important or mission objects and we have a load of APIs already and that's also increasing quite heavily I want to give like a very tiny introduction to Lua just as a language because you might not have heard of it it's really really simple it's perfect for game scripting it's been using thousands of games so far so hopefully modders can jump in if they've done work on previous games we're using moonshark because we're using a C-sharp game engine or our code is C-sharp and that allows us to do the bindings for that I'd recommend it if you're interested just a little bit of intro to like the Lua syntax it's typeless it's got strings, it's got floats, it's got ints it has... it doesn't really have arrays or dictionaries it has tables which are both and neither so I've given you an example of using it in both ways it's a really good language except for the fact it's one index we kind of like to think of mission scripting in off-grid as like a story or a film script and in the sense that you're going a lot of what you're doing is marking up a list of characters that are going to be in your world at this mission the objectives that you want players to go through and to tell your story as well as marking up the physical items that are going to be in players' inventories for them to use or that are going to pick up along the way even if those are just kind of storytelling world-building items that don't progress the story we also have the data files and these are things that could be dropped by guards be in the players' inventory by default a little bit maybe this is the PGP key of the player so you're going to have a bunch of those for leaked documents that you might want the player to pick up or pre-defined text messages that might contain identifying information and these are data files that are going to be thrown through our virtual network so you also set up the networks because you want to define whether or not it's a mobile network, it's a mesh network, what the creds are on the network, what the names are loads and loads of things you might have an office with just one network or you might have a big harbour with each room having its own for some reason and also the fun bit you're going to be setting up your hackable devices in here here's a very brief example of how that kind of example I showed before will map into actually being used this static date up here was in that previous screenshot it's Joe, Joe's our main character so we have the characters table inside that we have Joe Joe has a few values here which is display name that's going to be anything that the UI tries to use it's Joe Harman internal name is kind of like an ID you can think of it as it's got to be unique the character type here is player but it could be guard or anything we add in the future prefab is like the 3D visual aspect of the character it's just going to be the player, we're going to be providing screenshots and a load of possible ones for that, spawn point is something you're setting level it's literally where the player spawns you have to provide the same thing for the guards or any character with a physical representation this setup mission is something that we're going to call for you but you'll need to set up in your lower scripts and you're going to be adding the main character here at the top so it's literally as simple as mission.addCharacter which in this case is mission.characters.jo and we'll scan this data and we'll read it in and do all the interesting stuff so setting up the network is pretty much the same thing, here we set up a mobile network called Samayapas 4G and then we're just going to let the game know that we started the mission so it's going to be a very simple mission with not much in it but it gives you an idea of how you might use that static data in a way that's a little bit dynamic I mentioned that we had different types of mission objects so here's the triggers mission object an example of how you do that so you can't really see because of the bloom but there's a kind of a cube, well that's a bit getting too close to that feels weird there's a kind of outlined cube which is the trigger volume and when the player runs into it we just want to start an objective we want to say right the player ends the building give them a pop-up and maybe send them a text message to say hey there I saw you got into the building here's the blueprints for that building so it's really as simple as giving that trigger volume a name setting it as entrance trigger slapping a mission object on it setting it to trigger and as soon as that's done that's the principle in Lua so now you can say right I want to set the on trigger enter go back name is whatever's entered the trigger and if it's the player I want to start the objective so really really quickly you can get something in Lua reacting to the physical state of the world and Rich mentioned briefly that we have this N-Curses UI this is all in Lua too but not only is the devices kind of behaviour in Lua so you get updates on the game update you can scan for things you can have it trigger things every X amount of seconds but also the visual representation of it is in Lua so here we were using some Lua static data to create this UI so you can change things like the header at the top background colour the highlight colour this is a particularly garish example of the colours being used as well as the buttons if you set up buttons on the highest level then they're appear on the left and the sub buttons will appear once that's clicked on the right and those all have on clicks so they can be used to trigger pretty much anything you can trigger in Lua or do any kind of logic that you want here's a few examples of the stuff that we're allowing you to do at the moment and this as I said is increasing you can manipulate the AI when you press a button you could potentially demotivate them or change their path you can trigger animations if you're an aspiring animator or modeler and you've made something in Blender you can animate that in Blender and throw it into level kit and get it triggered when a user hits a trigger point or presses a button in the UI that conversation that you saw in the game demo that's totally in Lua as well it allows branching conversations that affect the game in any way you want using any of these systems devices this can be used to turn devices on and off doors why not open all the doors why not shuttle the doors why not change the keys that affect certain door zones particles if you're into pyrotechnics you could do some of that or make an explosion you can also trigger sounds to distract guards if that's your wish as well as manipulating the player's kind of UI and sending data around the network so this is actually not even the full list there's an insane amount you can do it pretty much any place where there's Lua to be typed in you can have some fun I've thrown a hell of a lot of you so yes we're going to have a lot of documentation so don't worry this is an example of some of the documentation we have just one of the functions we're going to plan on having a really extensive wiki we also want the community to get involved in it so if that's something that interests you please do that's kind of part of the fun we want everyone to feel like they can contribute and whether that's posting a code snippet or actually editing this because the description doesn't sound quite right to you also we've set up like atom snippets for we're kind of targeting the atom IDE but I've also got this working on visual studio code and if people want and there's a demand for it I'll pretty much generate these for any IDE that you want to edit Lua in so here we just got an example of like this is what it does and if you hit more this links you straight to the wiki page for that function so thanks for listening to me talk very quickly about a lot of stuff at you I'm going to pass back to Rich well so I suppose it's worth summarizing that although it does all sound a bit kind of overly complex put up on slides we've actually more recently been testing out modding tools with friends so this is our mate Spoonzy who has no game development experience at all he does write a bit of python here and there so he basically came in spent a sort of short kind of four or five hours with us having a look at the tools and getting up and running and he put several brand new hacks into the game based on his ideas for hacking things that would be interesting as mechanics so you can see in the kind of left here he's dropped a server cabinet into a room then down below it he's actually just searched for some shell code online and pulled that up and then copy and pasted the content of it into a file that will be generated within off grid and when he sends that file to the server he's able to root the box with it he then went on and developed that a little bit further and we've got another friend who's well into his crypto currency so Spoonzy made a Muscoin Muscoin essentially can only be affected once you've rooted that box so essentially Spoonzy set it up so that once you rooted the box with the exploit you could then steal Muscoin off of it and so you could start to kind of envision the types of things that people could actually start to do and tell interesting stories about the game to be like the south park of data privacy and hacking games so if you imagine episodes of south park when something happened in the news that the creators Troy and Matt thought were was particularly hilarious it could end up in an episode as little as a week later and with the modding tools I think that people will be able to have something interesting happen within our community and talk about it or share it or show their take on it within a mod in a day or two to some detail so on top of that we're doing a couple of modding workshops later this afternoon that will take all of this that's been sort of condensed and thrown at you and break it down and give you the opportunity to mod your own hacks into the game if you'd like to come and join us there's one at part 1 is at 335 and then part 2 is at 815 and they're both in the PI 10 is somewhere there yeah it'd be great to have you come down basically you can blow in and out have them as you wish even if it's just to try playing the game but if you have the time and you want to sit down through both workshops then because there's a bit of downtime and getting everything set up we'll be able to get you right the way through making a couple of your own mods it's worth going on the wiki ahead of time and checking what bits you'll need like if you've got a laptop that can run Unity then that's brilliant get Unity downloaded and go to the links on the Frab and then any questions if you don't have any questions right now feel free to tweet at me or at Harry or at the game and yeah any of that sound particularly interesting or particularly stupid so are there any questions there's a mic in middle there we go devices in an area can you use that to do Denial of Service attacks yeah you could you could set it up that way I mean essentially any device can be set to behave based on Lua commands it receives so I mean Harry you could take through improve Lua coding in my head this is okay so yeah you could definitely do that if you set up most of devices that they kind of knew about the ability to flood another device and another device knew about the ability to be flooded you could definitely make a coffee machine that would refuse to like give a guard coffee which could affect them or affect their motivation and they go and sit in a corner and cry because they're doing night shifts and so yeah definitely in generally you're designing the levels in such a way that there are multiple ways to solve problems yeah that's definitely something that I want like all good stealth games there's myriad ways that you can play through each level with the fans of the Metal Gear Solid kind of uvra and the idea of being able to solve some of the rooms with multiple complex hacks in order to be able to come back and play through them multiple times this is something we're aiming to do gentlemen in the back hi I was wondering if you're developing all of this in your free time or are you busy with this all day basically we started out just in our free time it sort of started in 2013 and we're still going but actually we got funded by of all things the UK Government to make a game about surveillance that is something that we get worried about by the UK Government so yeah we've been fully funded for a year and a half and Harry came on to help us with really sort of making the modding tools flourish about a year ago and there's three of us so we're a little three person full time for now studio and we hope to manage to keep things rolling to the point that we release next summer we've got everything in place to be able to get to a full release with the three of us next summer even if it's a bit tight thanks so does anybody have a question for them any plans on multiplayer unfortunately not it's the sort of thing that you should definitely plan into a game first port of call and we kind of decided that for the type of gameplay we couldn't quite get our heads around how to plan for that kind of thing if you can get that working at lower though let me know I'd be very impressed amazing talk really looking forward to this game you mentioned the social engineering aspect and also the 100% staying hidden aspects will there be an opportunity to interact with the guards maybe disguising your physical appearance and entering into a dialogue with them to try and talk your way into buildings or past doors or is it going to be 100% traps your sort of home alone style cascading coffee machine exploding traps or will you be able to talk your way around hitman comes to mind from that perspective you go and rob the food delivery van and put on the chef's clothing and kind of work your way through we haven't got plans for that kind of thing yet it's one of those we have a huge list of interesting potential but probably won't ever do them backlog tasks and that's probably somewhere at the bottom of it that's the complexity of implementation however there is the chance that you'd be able to you saw the crypto chat window at the beginning actually spoof someone else's number actually I know this is something you're interested in Jake but basically using spoofing techniques on SMS or messaging services to pretend you're their wife and maybe have a conversation with them that does engineer them through make them leave the building via an emergency yeah exactly so it would be via the text and chat window and it kind of indicates to the kind of thing that you're talking about oh very nice, thank you next question hi, hello it's a very interesting idea but you mentioned that that was the government that was funding your your idea have you considered maybe that as for example the military used 3D games for training their troops it could be used for intelligence services to automatically map and facilities the network and make it able for their agents to try different without getting there trying various strategies to explore and enter those places I suppose it's like any tool kind of an inner thing that we don't really have control of as to how people would use for making mods so yeah you could end up with if security services had enough of a sense of humour using upgrade as a way of training their next gen agents to infiltrate buildings it's not something we've built it for it's not an intention but on the other hand it could also be used for young hackers to explore the realm of infosec in a slightly safer environment rather than them just going into the big grey area of the deep dark web and pinging.gov addresses and getting themselves in trouble they get to learn maybe a little bit in a safer environment while they get their heads around what you are and aren't allowed to do so maybe there's a payoff there having a positive contribution as well as possibly being used the idea that you have a script for the game it has specs for automatic scanning of getting from google maps and synchronising things and writing it right up so people can explore well there are ways of getting 3D models from open street map so if you can get those into a mesh and you want to throw them into level kit and run around then that's something you could do interesting thanks so is there another question I was wondering if you've also thought about the maintainability of the code and the data model because suppose you launch this in the next summer and a lot of people they start creating extra mods enthusiastically for this it looks like it might get out of hand quite quickly possibly if you haven't thought about that properly actually Harry gave a talk at a development conference to game devs and one of those elements came up as a question it's definitely something that I'm thinking about and I've come up with a few ways that we can potentially do it that aren't yet implemented but definitely it's very very high on my list I don't want modders being frustrated about the fact that we put a patch out that's broken all of their mods or I definitely don't want to contact a modder and ask them to rebuild stuff so yes I understand that that's definitely a concern and it's on my mind heavily one of those things that even kind of the larger scale mod that you see like City Skylines and Kerbal Space Program they make mistakes in updates and patches that do break mods and usually if that happens a developer as long as they've got enough resources make time to help then repatch and make sure that those mods survive in the second update we're definitely going to do our best to support modders in that way yeah okay is there another question nobody well give both Rich and Harry a warm applause and thank you for your speech thank you very much


Thank you. So first of all, I'm delighted to be here, and I was lucky to meet Maxim long ago, so we met the very first Monday of September of 1980, when Maxim just becomes 16, like a week ago, or maybe like 10 days ago, and he, at the age 15, he entered Moscow State University, at the age 16, turned 16, he came there as a freshman, he came to the Gelfand seminar, and so that's where we met. Actually, I heard about Maxim as about this great high school kid two years before that, but didn't see him, and so we were talking ever since we get to the same point of space-time, and it was kind of incredible joy of my mathematical life to be able to talk to Maxim and to be able to discuss what happens in mathematics, what is mathematics, and how to do mathematics with him and what's going on, and I should say that there's many things you all know, Maxim, but among other things, so it was great that Maxim always thinks about things in a very simple way and very non-technical way, and so when you have a chance to talk to him, so you get the picture in, you know, the best possible way, and he explains this picture using the minimal number of words, and sometimes even less than that, and on the other hand, I mean, it's his universality, so again, we all know that, excuse me, this reality, I kind of imagined when I was flying here that Maxim met three great mathematicians, Euler, Thurston, and Grottendijk, and they kind of begin with his career, and he would come to them and say, I have some simple story to tell you, so he would tell the story, and each of these mathematicians would think that, yeah, this is a guy who picked up my style, this is my style mathematician, but then notice that this three mathematicians probably would never talk to each other, so that's kind of universality of Maxim, and this universality was present from essentially from the very beginning, I cannot say like 34 years ago, because he didn't know maybe too much mathematics years, but definitely in a few years, so his approach to mathematics was kind of universal, there was no divisions on branches of mathematics, no geometry, no algebra, so it was all together and trying, attempt to try to understand the simplest things, simplest terms, and at that time, some citation from Maxim, I remember, if somebody approached him, me for example, asked some kind of question, which wasn't quite kind of special, Maxim said, I'm a specialist in general questions of mathematics, and so you remember that? This somehow disappeared later on as far as I understand, I mean, you no longer say this, but that's, so this universality and simplicity was from the very beginning, so somehow it was kind of internally in him from the very beginning, and again, so I'm very happy that I had a chance to somehow to see how Maxim grows and you know, talk to him, and so I can only hope that for the next 34, yes, I would be able to understand what you're talking about, okay, sorry, let me start now the talk, so I'm talking about Hodge quantum field theory, so I'll start with analogy, so well, so let's suppose that we have m, which is topological threefold, then let's suppose that we have two loops here, a and b, which are homologically trivial, I mean, sorry, the class of a is the class, and the class of b equals zero in H1 of m, so a homological trivial, then we can talk about linking number, we can think about the linking number, let's note this like a b, so this is some integer, and b, and so this is more than one h2, you didn't say h1 is t equal to m, or dependent? I mean, let's suppose just homological sphere, or just, yeah, you didn't say the same, I've got a central one. Yeah, so, so, so, and then that's, I was going to say, so this is actually the simplest correlator in Chernesimus, like Maxim was considering this 20 years ago, this is simplest correlator in a TQFT, and then you can talk about Chernesimus as Maxim did, and develop the whole theory, so this is topology. Now let's look at, I would say, analysis or arithmetic, you have a Riemann surface, then let's assume that you have two divisors here, and let's assume that their degrees are zero, and so the picture is like that, b, you have a, and then there is a notion of a green function, g of x, y, let me remind you what is a green function, adjust the solution of the differential equation dd bar of g of x, y equals delta function of the diagonal, so diagonal, yes, it's a real value function which solves this differential equation. So it's a green function, I tried to use the last number of words, but so it's a green function, you're right, you're right, it's a real valid green function, actually it's a current which generally solves this equation, so here's the harmonic representative of the class of the diagonal, otherwise it doesn't have solution, and it was a great idea of Partian and Arakilov, so it was suggested by Partian and Arakilov, to say that if you consider this green function and evaluate it in these two divisors, then it's independent on the, it slightly depends on the some choices here like choice of a matrix, then this is completely well defined function, real valid function, and the Arakilov says that this should be considered as an intersection number at infinity, I don't want to elaborate further to that because then you have to talk about algebraic curves defined over rational numbers and about height pairing, and then this will enter as a key, it's a number, yeah, this is a number, it's a real number, oh yeah, yeah, maybe I should say this is like G of A0, B0 minus G of A0, B1, and so on, it's a number, what's the problem is that? You take green function, it's a function of two variables x and y, so for every pair of points on the curve you have a number, now let's suppose that you have two points which you counted as plus, science plus and minus, and then you extend this function by linearity, so you get a formula like that, it's still a number, and so Arakilov suggests that this number is a kind of intersection, intersection, it's a part of height pairing, but it's kind of intersection index of these two divisors in the sense which is a little mysterious and the whole Arakilov series, you know, coming from here, now let's do this analogy a little better, just a little better, so we want to say that this G of AB is actually a linking number, it's a hodge linking number, again it's not clear what it means, it just works, and so but still the picture, the mental picture which we have about this is the following, that we imagine that we have some space x which is like it's 3D, now it's 3D, it's still come from our surface in a certain way, and then the space is fibrous, and the fibers are actually remote surfaces over some space which is one-dimensional, 1D, and so this is a classifying space of some group, algebraic group I'm going to talk about, hodge-gallow group, and so it's not clear yet what this is, but the point is that whatever it is, it's like a book here of circles, and in particular there is one map of this single circle to here, and so now talking about linking numbers, any point x in the original curve gives rise to a section, let's call s sub x of this of this imaginary vibration, so again we don't quite say what the section is, but then we kind of postulate that if you take sections, these sections evaluated as an SB, then their linking number in this 3D manifold supposed to be is defined as a green function which has been defined before, so it doesn't, it's just an analogy but it explains what I'm going to do, so what I'm going to do, I'm going to take to as a motivation the story which going on for odd-dimensional manifolds, and I'm going to develop something like that but different, quite different, which going for complex algebraic manifolds, where the green function will be the simplest possible thing which I get out of this, so the goal want to define this quantum Hodge field theory such the way that first of all it should provide another language for usual Hodge theory, and secondly it is kind of Hodge version, it can be viewed as a Hodge version of Chern Simons on odd-dimensional manifolds. All right, so before, and again this is the last thing, so it's not going to be some discussions about this, we will be talking about some concrete things which come in of this, and so we define by, we define correlators. Now before I go to that I still want to make this analogy more precise, a little more precise, and so I need to explain what the Hodge-Galov group is, and so I need to say what the Hodge theory tells us, so the next topic is what is the Hodge-Galov group, yes? Is there any relation between this linking number and the way you define it as a correlation on the Riemann surface and something like W is it W models, which would be column work? I didn't, Sergey, let me try not to go into this, because I didn't even define anything yet, so let me get this back to you first. Yes, so otherwise I will run out of time very quickly. So let me start from some definitions which many people know, that a weight and pure Hodge real Hodge structure is a very simple data, it's a vector space V over real numbers and filtration on the complexification of this vector space Vc such that this vector space Vc after that is presented as a sum of its components fp of Vc intersect fq of Vc bar where p plus q equals to n, this is a weight and Hodge structure and they form categories, category and the category of pure Hodge structures is equivalent to the category of representations of group, I mean algebraic geometers will kill me unless I write this thing what it really means, this algebraic group whose complex points are just c star cross c star and it's over real, so the complex conjugation x by interchange is the two, so it's basically representation of c star cross c star with some reality conditions, that's why you get this p and q numbers and then this is just a pure Hodge structure, that's what we find in the cohomology of algebraic varieties which are compact and smooth and then there was the lean who said that there is a thing which is more general works for any varieties, it's a mixed real Hodge structure and so according to him this is just a vector space V over R and it has two filtrations, the one filtration on the same vector space which is going up, it's called the weight filtration and another filtration is going down and it is on the complexification of this vector space, so this is a Hodge filtration, so it's linear algebra data and the condition was that if you consider group W, N of this V, R, this is pure R Hodge structure of weight equal to N for any N and then it was a very surprising theorem, if you think about this, that this guy's four-manabellan category proved by the lean and then using this fact to gather his observation that there's a fiber funter, so let's call this category of real mixed Hodge structures and again the lean proves this is an abellan category, this is not at all obvious and I mean hard to believe, I mean I don't know how the lean get to this idea, so I mean from some argument from some ideology of motives and so on but I mean it's not it's not that easy to see us right away, so there is an obvious funter just to the vector spaces over real numbers which assigned to this Hodge structure is the original vector space, now we are in business because as Tanaka and Grotin dictates us we can take the ophthalmorphisms of this tensor funter and this ophthalmorphisms form a group, a prolgebraic group which is called G-Hodge, so this is the definition of the Hodge group and there is a structural theorem which says that this group looks as follows, that this group G-Hodge projects down to the group GMC over R, the one which was introduced there and the kernel of this map is a pro-unipotent group U-Hodge and how we see that this is true, there is a funter if you just consider the associated graded for the weight filtration from real mixed Hodge structures, by definition of what mixed Hodge structure is you go into pure Hodge structures over R and then of course there is a funter back and this means that there are two maps between the corresponding groups, between the Galois group of this category and Galois group of that category and this means that not only we go this way but there is a section here, so okay now one can summarize this whole discussion by saying the following that this second funter taking associated graded for the weight filtration is the equivalence between the category of R mixed Hodge structures and the category of LiU or just U-Hodge models in the category of pure Hodge structures, it's a little maybe a little complex, looks like a little complicated way to say that the original category is category representation of G-Hodge but you can phrase it in this way using the semi-direct structure of G-Hodge that is just representations, category representations of the unipotent part but in slightly different richer categories and vector spaces all right why we need to this let's go back to our linking numbers so now I can say more precisely what all this analogy supposed to mean this one so if you just take first dimensional homology of this curve x minus a modulo b with real coefficients then this is as Deline tells us it's a real mixed Hodge structure and therefore it has to be understood as a representation of this Hodge group and so first of all we have to take associated graded for the weight filtration and has three pieces two of them are very easy just one dimensional vector spaces in degree I mean of weight 0 and minus 1 minus 1 and in the middle stays a homology of the compact curve and then so this just this guy is element in this category in the category of pure Hodge structures by definition now if you want to have a mixed Hodge structure we need to act by some unipotently algebra here which makes weights go down and the only non-trivial operator which we're going to see is this operator GAB so the little theorem is that this green function which I thought about as an intersection number or a caliph as an intersection number or as a linking number there's nothing else but precise descriptions of this mixed Hodge structure by a single operator oh and then one can explain I mean more analogous what this has to do with linking number taking exercise I'm not going to talk about this so I assume that you have a family of surface of an actual circle and then exercise define linking numbers the same way so it's you can do this as this kind of monodring so what what this operator means I want to emphasize this again that over this oh here it's good over this imaginary I mean not quite imagine and now we define this group so there's a class fine space which topologically book here of circles and there is a single circle here and so what we're doing we kind of taking monodrama around this circle and we get to this green function that's what it means there's one another way to to interpret this okay now after this kind of easy analogous let me go to a little more sophisticated analogous which grow from here and so again we we run analogy between arithmetic and geometry so analysis so then the next step we have gala world and we have a Hodge world and let's suppose that we have some field k and let me even assume it's embedded to see then here we have some algebraic variety over k and here we have some algebraic variety over c and here we have the gala group the absolute gala group now here we already know that we have an analog of that so what is this analog so the point is that the gala group acts on the cohomology et al cohomology no matter what this is of this variety and so if you want to have any look of that that's what Deline provides to us it's he says that the cohomology of this manifold I mean variety of complex numbers with real coefficients is a mixed hodge structure over r so this is Deline and this means as I just explained that the hodge gala group acts on this vector space but this is not how did the link how Deline construct this hodge structure he do this linear algebra and uses linear algebra definition he never used g hodge but if you go to arithmetic the analogy is much finer I mean the story is much finer because the same gala group acts everywhere it acts I mean if you ask a question how did we get acting gala group on something like et al cohomology and the Grotten Dix says that it acts on et al site and therefore it acts on et al on categories it acts on categories of et al sheeps and therefore because we can take constant sheeps we come from here to the fact that it acts on the cohomology because this is just the x group between the simplest et al sheeps and because gala groups act everywhere it acts there as well now when we go to the hodge story nothing like that happens so far and there is no et al site no I mean no et al site basically and it was it so it was a dream of Balanson I can put it like Balanson's dream to have something like hodge site but he didn't quite say what it could be but just said that it's very unfortunate that we have et al site here nothing there and so the proposal which is the main idea of the story I'm talking about is that one have at least some approximation to this hodge site and it's given by this hodge quantum field theory and it generalizes dream functions and so on so that's our proposal but let's assume let's first of all give yourself some data let's assume we have a map of complex algebraic varieties let's call this my p so we want to do things relatively and then the proposal is that there exists some structure you can call it open string structure where on first of all they derived category of all holonomic d models on x on original x I draw here x carly now again as stated so far it's not clear what it means just a slogan but in particular it includes as a data which we kind of can construct observe some some correlator functions which I call hodge correlators it plays as a base place a role but no it does play a role in the properties of this situation but and actually okay so there is a hodge correlators between holonomic d models between reducible holonomic d models and let me explain actually now more carefully what this means so first of all you start what does mean to have open string serial data or something like that so you start with a topological surface which have holes and in addition to holes it has some marked points on the boundary and it's oriented and the smart points are considered modular isotope so then actually it's convenient to shrink holes which do not have marked points to puncture so you may have puncture here which also kind of consider red and call special points so I have special points it's a puncture I mean let's not discuss this so special points mean this red points and this one so it's marked points and punches and so what do you want to do we want to assign to special points objects actually irreducible objects of our category let's say it's db whole but could be something else and then the geometry it says is that between two consecutive objects there is orientation so there is an arc which go in between two objects so you can have some point s here and some point t here and then there is an arc which go in according to orientation of the surface and then we want to assign to this our home of as the objects let's call this object as so to s we assign this between as and and at and people recognize that that's I mean I call this open string serial I'm not sure how I can call this but that's what happens a lot and for example the subject of paper of Greg Moore and Graham Siegel I mean and Maxime and Kevin Costello work in station which like that so that that's that's happens quite often such setup and so now what I wanted to do I want to say that these correlators so this we should have some this correlators they assigned to this to this data to the surface which is decorated by some objects and morphisms all this data so we have we should have hodge correlators which are something which lives on the base so the point is that this we should have hodge correlators which assigned to s and some some data for your main category and this guy lives on B s is a topological input it's a it's a decorated surface so this s this is decorated surface yeah that's a good point and then it's not only decorated but it's inhabited it's by by some objects of some category who have some social relationships like they have homes to neighbors which live to the right and so to this data we associate some something on B no this is topological yeah but the input is algebraic variety over B so so let's let's me so I'm not going to do this full strength of course but I'm going to give some examples so for example who is our green function on a curve so this will be the correlator which assigned to this picture so you have a disk and on the disk you have delta function at x this is little x delta function at y then you have I mean in our station which I consider that I just have a trivial local system constant local system here and then as soon as you have four objects like that constant shift maps to delta functions in obvious way and duly delta functions maps uniquely to constant shifts so there is a data like that and so you can ask if you believe to what I said you can ask a question what's going to be a correlator of that and the answer is this is a green function it turns out to be now you can ask question even more generally what will happen if I do this like delta x so I started with a curve here I started without brick variety which now I make a curve yes now I I'm slightly cheating here but but I said that I consider delta function x and delta function y and I explained that to talk about green function I need to have a little bit more of data but if I replace delta x and delta y by this delta of divisors then the statement is completely accurate so and I can make state sense of this I just don't want to proceed there but more generally you can have now x any compact smooth algebraic variety over c and you can have any two irreducible local systems let's call them l and m the irreducible local systems on x and then there are again there are trivial morphisms here obvious morphisms this way and there are obvious morphisms the other way so this diagram gives you immediately some some guide for which you can take the correlator and then again I kind of postulate that this will be the green function but now defined uh depending on this pair of line of uh local systems and I need to define what this is so that's my next goal so I need to define you what what this what what this guy is and then you will see what the ambiguity is and so on so before I do that let me uh be a little bit more specific about correlators of whom I want to consider in the lecture well I want to define the lecture so so I want to consider the graded category which I called probably not me or Carlos the category of harmonic bundles of x and so the objects of this category are semi-simple local systems on x and the homes are defined as so if you take home between local systems l and m in this category this is just the x group between these two local systems in the category of sheeps on x so it's a graded vector space and why actually I consider this strange gadget because there's a very deep work 20 years ago so Hitchin Donaldson and Simpson uh I mean if you combine what they were saying then you get the following situation the following result that if you have l which let's say a simple local system on x then uh Hitchin Donaldson so they prove that there exists a unique harmonic up to constant harmonic metric on l and then Simpson so he took this harmonic metric and he worked out the classical hodge theory package as Carlos was saying there were some revolutions and so this revolution was to realize that you can run hodge theory on arbitrary local system not necessarily on variation of hodge structures or something like that and so you can do that and in particular this provides the usual setup d d bar and d d bar lemma and harmonic forms so all this you can do on the diram complex of x with coefficients in irreducible local system now after that I can tell you what the green currents are in this setup so so the green functions again a solution of the differential equation the d bar of some current equals to delta function but one need to be just a little more careful by setting this so green currents so given l and m as before as on the right-hand side on some variety x which has dimension over complex numbers m there exists a current not uniquely defined which one can call the green current g l m which is a current on the n minus one comma n minus one distributions on x cross x with coefficients in a local system which is basically home from l to m tensor home from m to l the only problem that this local system leaves on x so you have to pull it to the square and you have to pull this to the square now get local system on the square so you take distributions at local system and it satisfies the famous equations that one over 2 pi i d d bar of this phi of this g l m equals the delta function of the diagonal which may be defined because we take delta function with values in some vector bundle but there is a natural constant shift sitting there because this is just home l to m from m to l minus a harmonic representative of the diagonal now the co homology class of this is zero and so d bar lemma and carlos simpson tells us that there is a solution and we take the solutions not unique defined up to d or d bar of something but it exists and this is what i want to put as something which corresponds to this diagram and you see now that it again it has these two local systems but it actually correlated it involves other two points and it makes this whole thing somehow run over the base which is x cross x it's no longer a function of the base the distribution and actually i mean it's generalized form is this it's differential form degree n minus minus one with generalized coefficients but still it lives on the base and that's what the correlator tells you i still want to present this in a little bit more picture way so how we think about this green function so again we have l one local system m another local system we have x cross x which somehow i think about as these two points and i have homes from l to m and homes i mean our homes from m to l and so this whole picture uh is a kind of image for for this green function and i want to emphasize that this picture is symmetric so you can rotate it by 180 degrees you will not notice the difference you might you might arrange the things in such a way we'll get exactly the same kernel green function all right now let's run now the the construction using this green function so so as i said we want to associate correlators to arbitrary surfaces of arbitrary genus and so we have to start with something so we take some surface so something which looks like that it has points on the boundary and we put some local systems at this point l one l two l three and so on this is inside of the surface unfortunately this is just a disk but it could be something more complicated i just don't want to go into drawing of this thing uh so let's just stick to the simplest picture and then you need to take some ideal triangulation of that so this means that you draw some diagonals inside and so in general you take a decorated surface s and pick an ideal triangulation uh it was called t of this decorated surface so now uh uh i also need some other gadget that appears from nowhere is a twister plane c2 this coordinates z and w this is the twister plane the same one everybody talking about when talking about twisters and then when i have an edge uh let's say i have this edge e internal edge i want to put to this edge uh green function the following conversion of this green function so i call d c e uh of g e and this is by definition the following so you take differential two one form on this twister plane and uh plus some linear differential operator z d bar so you apply this to the green current you have by theory of harmonic bundles and then you also multiply it by some something looks innocent some formal element which has degree plus one which corresponds to this edge i'm not going to explain right away at least what the mean has but then if you count you will see that this whole fellow has degree two n because the form has degree two n minus one then you have one form here or differential operator degree now two n minus the form has degree two n minus two then you have degree one differential operator and some other degree one element now then what you do you cook up uh the the product of these guys so you take uh this uh these guys which are signed to the edges to all internal edges and it doesn't matter in which product you multiply them because they are or they even then you take a trace of this i will explain this in a second but you also need to multiply this by some harmonic forms which you put on the external edges and that's important uh on its own so here so we have green forms here and so here we have some harmonic forms let's call this alpha one two or just called alpha f assigned to the which f so we put some harmonic forms here which represents some classes from here to here and we take the product of all of them somehow and then what we get we get a differential form with singularities that's one problem but another thing is that it takes values in some very complicated vector bundle this connection and so we kill the vector bundle by taking traces it's a little technical thing to do we'll tell you in a second what this is and then in the end of the day you just get a different a differential form with generalized coefficients now who are these traces are i can say it here if you have a triangle in this triangulation let's call t then you have like l one l two and l three sitting here and you take home from the next to the from the previous to the next one three homes appear here on the sides and there's a natural trace map to see so this is a trace map over the triangle and then it takes the product over the whole triangles and that's the form which you co-op on the base so where it sits it sits uh it's a form on what yes i if you ask i also in seconds again the structure yes yes yes all the triangles t under try is that the tau so t is tau oh that's that is a t this is t this is t so what i'm doing i'm saying that i have i i have this green current sitting here harmonic form sitting here they're leaving some vector bundles but then the this vector bundles as you can can you did I raise this oh sorry did it raise this so oh no it's there so so you associate these homes to kind of orient it in two sides edges here so i'm going like this way and one sided here are in here then you can shrink all the triangles to apply trace on each of the triangles you kill the coefficients all right so what is this is not yet what it's supposed to be the last step we need to take summation over all triangulations equivalence class of triangulations and so the last step of this definition is this so the hodge correlator of this harmonic classes is defined as the following so you take this form kappa t assigned to a single triangulation you take the sum of these forms over this with the weight over all triangulations equivalence class triangulation equivalence azimuth class of triangulations then you take sum over all surfaces isomorphism class of decorated surfaces which you can somehow put using the same data on the boundary and then you all this you integrate over rate sits it sits on x over b raised to power given by the triangles of of this particular triangulation t and the point is that what you integrate is a current so you can run the integral and so in the end of the day you get something what is this something so what this integral means again so you have so originally we have differential form which lives on x to triangles of t oh sorry x of on yes triangles of t and then when you integrate it down you get it just as x over b you get just to the base so you have a bunch of varieties which sit over the base and you take the fiber product yes yes yes yes yes yes i'm sorry yeah it's a fiber product yes yes yes yes so get something on the base now the question is what this is on the base and in principle the construction tells you all the algebra behind but algebra is nice and let me work it out so what's what is on the first of all once again so this is a key key point so let me kind of summarize what what we get so we start with a single decorated surface and we put some inhabitant some object on this decorated surface they have homes from one to the next one and we represent these forms by harmonic forms and then we do something with the inside of the surface create some kind of current using green functions integrate get something on the b actually not on the b we get something which lives on b close cross c2 twister line because if you look at the definition of the green farm the green farm becomes a differential zero or one form along the c2 variables as well and that's very important to get something which lives here now what are the properties of this something so let me just say the format first of all i want i consider this construction as a multilinear function of this harmonic classes and i can do this just by saying it's a kind of formal remark i can put on each edge casimir of f which is element in home from l1 to l2 which sits on this edge to the dual space to this home and so my harmonic classes sits here and so i can take just the identity map which sits here integrate over these classes and then on the output i get something which lives on the dual to the home spaces so if i proceed with this then i get some class so i get a single class this is hodge correlator class which looks like as it lives in the sum the round complex on b tensor forms of degree less or equal than one on c2 and then it lives in some linear algebra setup which is related to this harmonic category and so now the question is what this guy is where it lives and it's very easy to see what it is because when we're talking about this construction so we take a surface and so we put some objects on the surface and then after this dualization what i put here i put here dual to homes to each of the edges and so i basically have tensor product uh cyclic tensor product of the homology groups here dual to homes and then take symmetric product over all holes which i have so it this is what the construction gives you and i didn't know that just by some letters so that's kind of huge linear algebra guy which you are assigned to to your category uh so i will define in a second but uh so the main uh claim about this is going to be the following that this guy has a bv lee oh sorry bv algebra structure and therefore if you take this guy shifted by minus one then this is a differential graded lee algebra structure lee algebra and so i get differential one form which lives in some dg lee some universal dg lee which relates to your category so now the main claim which i maybe put here tells you uh what is this single property which this correlate this this correlator satisfies i am i will tell the definition of this little later i just want to give you somehow the setup so the key property is that if you consider this guy let me put here little zeroes so i take some over connected surfaces this i mean if you don't follow it's fine i just want to to make the correct statement so the main theorem is that there's a differential here because it's a bv algebra this is not just a bv algebra i mean this is a variation of bv algebras because you have a base and over this base you have your varieties sitting and each of them you have these categories and to each of these categories you assign this some bv algebra and all together the whole variation which is a variation of pure twister structures or let's talk about hodge structures just restrict to hodge local systems so hodge structures so but in particular you have a connection which i don't know by d and so now the statement is that if you consider this d plus g0 this is just a dg connection on this b cross c2 and uh this is the first claim that's already a claim because you have lots of forms here and some complicated graded object here differential greatly algebra and so all together it still sits in degree one and uh the second property that if you take this connection it's not flat but if you restrict it to the line where z plus w equals to two and this is flat and that's the main property of this construction so you get flat connection with values there's there's a c square which appears from nowhere it's it's still in the board above you so you have yes thank you don't so you have z and w which was part of the definition of this kind of modified green function so the modified green function was a function which was a form which depends on this z and w and the key property of the object which i get that not that it's flat it's not true that it becomes flat when you restrict to this twister line now uh let me reformulate this again postponing discussion of what this s c is in a different way so here's a different way to say this so just from linear it needs a little discussion related to hodge structures so so far i just said that i produced flat connection but now i claim that this flat connection has uh some hodge meaning and here's what it means so first of all uh given this is some some kind of result given a complex of variations let me assume that the pure hodge structures real hodge structures uh let's call them m m on b uh i can define a funtor which takes this m and and makes a complex out of this c h star of b with coefficients in this variation there's some construction but the properties of this construction which i'm going to use as a following that first of all the meaning of this c h is is that this c h uh b m is nothing it's it's calculates it's quasi isomorphic to r home in the category of r mixed hodge structures from r of zero to this m so you can just say this is hodge cohomology or people call it's called absolute hodge cohomology of this variation so it's a complex now uh there's a product structure in this complexes there is a so if you have two variations and one and m two then you can take c h i'll skip b and c h of m two and there is a map to c h of m one tensor m two and this map uh is commutative and associative on the nose this is uh its main property not up to something but on the nose therefore and and the last and only two black balls here so the last property is that if you take any element which lives in c h one uh of this fellow on b with coefficients in endomorphism of a certain variation and you assume that it satisfies Maurer Cartan equation then this produce you a variation of mixed hodge structures on b that's called m which mixes the original one which means that the associate graded for the weight filtration of this guy is the original variation m and so basically it says that if you want if you start with some variation of pure guys and you want to get something mixed all you need to do is produce some Maurer Cartan element in this hodge c in this in this complex c one which calculates absolute cohomology group not very surprising the surprising that there exists such complexes which are commutative associative but then it's kind of natural but then if you do have such a machine then you can say that if you started with any kind of linear algebra dated for example you started with from a variation of b v algebras like in our case it was s c of category of harmonic bundles then you apply this machine c h and you produce another b v algebra this was variation of the algebras but now you produce another b v algebra just ch of r x b and this is just a b v algebra so this is a variation over b and this is just the algebra of a complex numbers so now i can formulate this theorem in a different way i can just say that this is equivalent to another serum serum 2 which says that the total hodge correlator class which i can denote by g first of all this is the exponent of the one which corresponds to the connected surfaces secondly it lives in ch zero of this b v of this s c of harmonic bundles and finally most importantly it satisfies the quantum master equation so there is a total differential on the thing which i didn't actually define yet and so it kills this element so this is the b v differential as i said i didn't define yet the b v algebra structure but if you believe me it exists in variations and there is this b v algebra there is this is a b v algebra so there's a differential there and this is just equivalent if for those people who know the formulas the b v formalism you immediately recognize that this is the same as to say that if you just consider this g zero and shift it by minus one it satisfies the mower carton equation uh with respect to this product which i was talking about there notice this is mower carton in a quite quite non-trivial b v algebra you have to start with this linear algebra uh game uh on your category and then you apply c h funter to this so you get this b v algebra and so you get mower carton elements there or solution of quantum master equation or flat connections they're all the same now what is good for so how we get back to the goal which was originally formulated uh connect us to us when you say b v algebra do you mean b v infinity algebra or b v b v algebra uh differential graded algebra with a with a pass operator b villa plus operator differential etc that comes from a very careful choice of our home or oh it's the specific choice of c harmonic that allows us to choose the formula no no no no i mean this is a formal construction uh it's you take any category like graded category you can run the construction don't need any assumptions but your your explicit your representative depends on shares of for one in four yeah no this is another story so you're mixing two stories so first of all the the definition of this b v algebras is quite universal uh but the properties that you get solution of you get element which always satisfies the quantum master equation but if you choose a different representatives it will be uh not exactly this one but the one which differs by the b v differential so it's it's co homology class is uniquely defined so let's let's just summarize what we have so first of all as i promised we should have something when the base is just a point and so if the base is just a point then i claim that what we get is just a lee algebra map i'll explain one but you get a lee algebra map from lee uh u hodge to this b v algebra s c b v lee algebra uh connected of r x to get that lee algebra shifted by minus one so uh this is just i mean it's just a reformulation one more reformulation of the of the properties of the hodge gallo group and what was done but now you can say that uh this is kind of quantum situation so this is of a point but this is like g quantum you use all surfaces to do this but if you decided to go to only two surfaces which is on the disk so then you get g classical so this relates only to the disc disappoints then you go to something much smaller which is the cyclic homology complex of this category uh tensors of fundamental glass of your manifold shifted by two as far as i remember and there is a natural projection from here to here and uh so now uh the scotch correlated construction it gives you this map it gives you this map but now the classical one i can interpret because uh we can say this is the last thing which i'm going to say but let me still do it um there's some kind of formal arguments familiar to the people who work with this algebra that if you take cc of the category uh let's say um tensor is h to n then this maps to h zero this maps to a infinity fanters h zero here uh from your category to itself again i i'm explaining this in a very loose way because i i don't explain you why i just saying that that's true so this gadget h is zero this maps to infinity fanters on your category and that's where your algebra goes so this means that it goes here to this that you go here to this fanters a infinity fanters on your category but on the other hand this uh the there is a part a piece of derived category of holomorphic demodels which is consists of smooth demodels d smooth of x it's the models whose complexes whose homology are just smooth local systems and you can say that this is just fanters from let's say bar construction of this applied to this category two vector spaces no matter what this means it's just that you you have your category and then you take something like dg fanters from this category somewhere and you get your recovery category so they i mean again forget about details the point is that you start with this nice category which simpson considered harmonic bundles and by formality it knows and recovers the whole d smooth on x in a funtorial way it's just triangulate envelope of this and so if you have anything which acts by infinity transformations here and that's what i'll leave hodge doing attacks by infinity transformations here this just means that it acts here and that's all that's what was promised so i promised that in the end of the day when b is a point so b is a point we are going to actually did i ever say this sorry oh i didn't sorry then sorry i i need to do this i need to say what what the output is i thought i did it just one more minute this tells you what you get in the end what the structure so this is the summary of what we get so what this quantum hodge will see retell see so when you're on the disk the classical hodge field theory which is the disk situation it's by definition what goes is this gives you the hodge side and what this means how I understand this this means that I get funtorial uh homotopy action uh of let's say liu hodge not talking about c star cross c star by a infinity equivalences of uh the big category this now i'm talking about what it should should be in general now and this is what was hoped for because i started with some manifold x which was complex manifold and i was saying that the dream is that there's some manifold if this has dimension n over c there should be something of real dimension 2n plus 1 which somehow is fibrous over b over hodge group in particular b of u hodge and this means that in some sense this group have to act here but it doesn't it doesn't act on this there is no space like that and it doesn't and there's no action so what is what is happening that instead of this picture we take these this this thing so we take that this g hodge or u hodge subgroup x by a infinity transformations on this db of holmox and that's what we keep in mind when we say that there should be some kind of picture like that that's that's that's this arithmetic side this is like uh gadgets for arithmetic side and what replaces the action of the hodge-gallow group on the category but this is just a disk sector and this is actually only the case when b is a point now you can ask what happens if b is not a point for any b i'm not going to elaborate with this i don't have time but oh yeah i have to stop just so for any i i i get i get some language to develop hodge theory of the base but now the last word is that now if you do the real quantum uh hodge field theory and the correlators uh we have the correlates this is my master equation so this should go to the deformation over the case when b is a point let's go to the deformation of this picture thank you could you say something about the um whether or no uh she's with ultraviolet singularities ah it would be better if they were i i i i didn't see them so the integral seems to be converted this would be better if the but i mean i check and check check many times that over the days there is there's absolutely nothing and i think i check that there is nothing in general and i wish i i have them yeah there are arguments i mean why i know i don't know no i'm saying that that i think i prove that there are no none of them but i tell them to kill would be nasty if i had them but i don't think i have them because the story can be run as a parallel to churn simons and somehow it's true there it's true here i mean i think a related question so like you know in my scenes proof of modality theorem there was no counter terms but you have to work very hard to show that the master equation helps yeah so here's the fact that you have a distribution this is where the story sits this is uh that you have the current that you integrate the current this is a delicate statement so that's where the convergence of the integral sits and i was saying that if i just sit over the point so i think i'm very confident about this one but on the other hand if they are slightly different story would be just nicer that's all so in your point two deformed situation oh yeah it's more about say what's the deformed db whole well i i better not because uh it's uh first of all there is this uh deformation uh which you guys consider and uh i thought i'm going to run to that but i don't quite see this so what i'm saying here that that i i produce this total green classes and where is this picture i think i raised this so there is there is this big bv algebra and it projects to the small bv algebra and when it project to the small bv algebra the data which you have here is precisely the action of the hodge-gallow group now when you lift it to the to the the action of the hodge-gallow group on this d smooth on the categorical only d models now the big bv algebra is a deformation of the small one and so it's supposed to act uh and and what it it acts on many things and what it acts on you can say this is deformation of what you had before so this is this kind of argument but i am unable to even for the case of the curve i am unable to get to to see directly that this is a quantization of the local systems it's expected but it's it's it's it's not clear i mean you can see it's a deformation but i can't and i don't see non-community deformation