 My name is Jo and I've been working on the game for seven years now. So I just present two of the features that I've been working on this year. And so it's also thanks to these people because since September I've been hired by CNRS to actually so it's to promote a health gimmick walk. So the features I've been working on. So it's a smart prohibition based on one of gimmick algorithms. So everybody knows gimmick yet. So it's like it's a plug-in which unites. It's sorted by itself also and it's also plug-in and game and critter. And I think the big one of the problem in my problem is basically a bunch of filters. And it's made by CNRS which is the National Center of Science Research in France. So the University of Sikon and the University of Unicorn which is the University of Korn also get the same group. And originally I was still working as a volunteer for the data association. And also a mammoth project which also helped for these features. With Ion here, with the director of the mammoth. And the share of the input when it was wrong and when it was not usable. Which often happens when you're developing your ideas great and when it's not usable. So basically it's also first feature which is now in give to 10-10. So it's already exist and usable in stable radius. Which is sort of filled by Lime Art and Teclar which is often called smart prohibition. Even though it's not actually smart. It's not actually recognizing anything. It's not imaginary. So basically the problem to solve this is you want to colorize drawings. So it's really a feature for painters, not for photographers. So we have this and so there are two problems. So we have the bucket field too. Maybe everybody can think of this one. When you draw the bucket field tool there are two main problems. One is that if you have holes in your drawings. Because it doesn't recognize that I wanted to make a circle here. And so basically the total mix outside. And the second issue is that like you have this... I mean here you can see it's over your kind of white pixels. So like the bucket field tool adds right up to our algorithm. Which one is just filled by selection. If you have a selection you can fill the bucket field. I call it selection value. And fill similar tools which is what people are using. So this is basically when you take somewhere and it feels like the neighborhood itself is from the start point. If it's considered that the next door is close enough. So here like so how do you say it's close enough? Because you have a strict rule. I'm like you click on the white here somewhere and it fills. One of the problems which is why there's a white tissue on the side. But here it says it's not closing off. So in the end it makes some kind of ugly stuff. Like when you... People are to decolorize with old style method. That's what I almost do. Mostly it's like you throw the select inside and then you grow the selection. By one or two pixels it depends on your stroke. And then you can fill this selection. So we kind of improve this by a script which does zero step but still longer. So like this is the algorithm. What was the result from the same example? First of all when there was a hole it didn't leak out. And there's no white tissue. It just overflowed a little under the dark line pixels. So that's the algorithm. It's a very simple algorithm which is very nice. That's also why it's quite fast. So basically... When... I have a microphone here so... So what it does is we detect what is a line art. It's just coarse. So basically it's very stupid. Basically if it's black we say it's line art. And we don't use the eraser tool. And then after this we detect endpoints by the corrector of... So the curve basically of local curvature of each point. So basically when it's very high curvature like here until... So like say art that's probably an endpoint. And then it just tries to make lines between endpoints solids. That's like an internal representation which is never seen by people. That's basically how it transforms the image. So you see it as you can see it's nothing like clever. You don't recognize a dog or tree or whatever and just try to fill endpoints. And to name them which actually is enough to because you can recognize basic... It just works after when we do this. It looks like friendly. In the end I will make it more real. So we have improved a bit. I mean not me alone with people from GEMIC. The algorithm. Because there were some issues with the original paper. Like when you have very fat lines and people do not because they say... There was no big collage here. It was too big but then we used local... Local curvature. So to say like here it's actually not... It's big curvature. Small one. But locally it's actually big. So we see what kind of it is. So that's an improvement of the algorithm even compared to the research paper. And so like you can see like an example. Smallest problem here. Here it's fully raised up a few. So come on. It should be really easy. But here we don't have anything. You can see here it's like white stuff. And here it just feels nicely. So in GEMIC we had... So how are you going to make a new tool? Because I thought we have... I mean new tools are good. But when we can it's better to not add so many new tools. After we get lost. And so I decided to add a new option in the budget field tool. So there is a field selection. The original field by a similar color. And we have a field by another detection. So it's not... Depending on the image say it's not like instant. Compared to the other algorithm. So we do some computation in the background. Basically all the low light intermediate stuff here. This is actually done to be done as fast as possible. As soon as possible. And also I improved the bits and corrections in the budget field tool. I allowed this to click and hold. Because as you saw it's a problem of all the segmentation here. So if we had to click on this corner. What's the area which has been created internally. By the algorithm to be solved. So I just click and then when... And I will make a demo now. Sorry I know the one with RAW usually. Well it's hard to draw. Okay I feel this is like... Because of the... It's okay I don't like this issue. Because of the double screen. It's completely true. I will... Watch this. So let's say... We'll give some forms. That's our cat. Yeah. Come judge me. It's hard because it's different in my time. Okay let's try. I should have made it as another layer. So let's see. Okay. So here. Same. Okay here. Oh well. So it's not correct. I guess I don't know which part. Or I will just cheat. Ah sorry. So let's... Except from this one. Okay. I want to get... Another color for the eyes. I'm not sure. But of course. Actually I don't really know. So... But that's the idea. And... So... So that's the idea. Behind this algorithm. It works again. And it's actually fast. Yeah. It's a digital painting tool. Okay so it's... I mean... If you load a photograph and try to do something. You won't do too much. Anything interesting. But who knows maybe. So some people always have ideas to use some tool. Which I don't make for this. And... Right. My art is basically a dark pixel. I mean... It's a... Dark pixel together. So if you were to draw like white on background. It would not work. Currently. It would be easy to... Maybe... No motion to say. I want my lines to be white. Or whatever. With a threshold. But right now it's just simple. Okay. It could be optimized. But that's... Well it's just a bit more... Full HD stuff. Yeah. By 2000... 2984. This image. But when... Sometimes I am working with very new images. And... A lot more... Drawing in here. It can be a bit slow. So... Here... Most of all time because I was on the same layer. But that's... That's why I actually... Usually you... When you paint, you colorize. You paint in one layer. You make a layer below it. And then I can say here. I have my new houses. Okay. You can tell here what's the source layer. Which is... So it's a layer above. And then you colorize. From the layer below. Then it doesn't have to re-compute all the time. So which... Means you compute only once. Internal representation. Which... Makes it seem faster. So even when you have very big images. And if it takes a few seconds. To compute internal representation. Because a few seconds can be huge. When you know you want to work fast. So... So yeah. To maybe optimize my life. At some point. Color border like... I am saying what that's... Like to color the border a bit here. You know. So that's the kind of stuff when you're a developer. You say oh yeah it works. And my circle is complete. But then I am saying. Yeah but it's okay. So that's kind of stuff. I have original... I have some... Like fizzle edge. But it's still not like the same as... Actually when... She even has some drinks. After the colorization. She will remove the lights. Actually. And just sometimes you do this kind of stuff. I don't know. I don't have an example of this. So you need to have nice lights. For this space. With the kind of texture she wants. Last kind of stuff. Which this tool doesn't do. And... All of a second chance to manage you. That's like a real example from one of Ion's drawing. And why does he do this? It's because... She often use... We don't really see it here well. Because it's fine. It's kind of blurry. I don't know. But she... The brush she uses is like kind of very... Like... Fizzle edge. It's not like the wrong brush. And stuff. So the average is too many endpoints. Basically everywhere. So it tries to blend. And then you have almost... So here you really... If you want to fill it, you fill it like this. It's... So it depends. Like sometimes on some drawing. It can still be not perfect. Well, actually you can also just fill it here with a maximum length. You can put it to zero. And if you have no holes, you can use this like this. And then it's in effect. You still have like the overflow flow under the line art. But you don't have a gap detection. Which is a small part. And then you don't have the overall segmentation issues. So actually you can still use it like this. Even if you have like... Like complicated brushes. Okay, so it's actually a simple algorithm. It's not like normal networks or suffixes. But it works well. And I think that's... And it's quite fast to smart organization algorithm. I think it's very nice. So, yeah. That's useful for this first feature. Which is in-game now. So you can try it. So, second one I've been working on. Actually I started even before. But I cannot stop to make smart colorization. And that's actually how CNRS decided like that I could be able to do it well for them. Because it will help. Every people wants to make plugins and other kind of extensions. So what I call extensions is basically any data which can go in-game. So like plugins, create and receive. So like scenes. We have people like right now when you want to make a new scene. Proposem or icons for game or stuff like that. They just go on Twitter and they say, oh look at my cool icon set. And I'm like, oh we can do this. So you have to find it on some website and you have to put it to unzip it in some folder and everything. So you can share brushes or whatever dynamic phone is whatever. And so the idea is that so yeah. So that's a sad state right now. We have like a lot of data system in here. So plugins, brushes, whatever. But it's very hard to share that. We used to have a registry where registry.gim.org. But it's dead now. So the website is down for like it's been down for a few years. And anyway, even when it was not down it was like again and feel which is why if you put it down. Fill with pound and everything and no train of security check or whatever. So yeah. So basically now it's searching plugins plugins and everything and installing it is annoying and you can have permission issue. I mean you unzip it. Two minutes. Okay. So I will go fast. So basically the idea is to make them all that. We use we want to be able to it's like fast. We want to be able to search your plugins always queue us and not only create any extension. I want brushes for funny stuff or whatever and we want to be able to install uninstall just temporarily un-disable it and you want it to manage you know, dependency. So basically someone could say oh that's not working for plugins for games this fashion, this fashion. So basically it's just metadata all this. So they just we will ask people to add the metadata and they can publish on the new registry. We will have to see this with this because we have to make a website and everything. And then you should be able to get an application because updates for your extension because that's all the one problem. People install stuff and maybe actually the developer of the plugin still continue to update it but you still have like 5 years old and you have no idea because you have no ratio right now. I won't touch that. One of the main challenge for this project is will be code review. I think that will involve community and everything because especially for plugins if we want to allow people to upload the plugin well it means also and instead of using the plugin also it can be used for malicious code or maybe some other ways people can install and that's probably actually the main challenge which is not really a code challenge for me but probably for we will have to make this web website so hopefully yeah like for instance some test and you can have the brushes oh yeah I have my beautiful brushes which are like flower which I have an extension and then you won't be able to such extensions but yeah nothing. So yeah beautiful I did it myself yesterday I don't know and yeah that's basically it I don't have the time