 Hello everyone. Thanks for coming to this talk. I'm pretty amazed about how many of you have come. So thanks for for coming I've been doing video games for more than 20 years almost about the same time professionally But before then since I was like a team I always have a deep passion for open source I started using Linux desktops for for like since like 94 or 95 It's been a long time. So when I started working professionally in game development most most one most of the game development is to industry users windows Which was always a problem for me because I don't didn't want to go to it to use it In fact, if you consider like the total revenue of the software industry about 25 percent Is the video game industry of all the total software industry? And for being something so big Open source has some like penetrated so much in the in the game industry as much as it is in enterprise and all the kind of industries so I always wanted to develop games with open source. I always actually did in the past. So After many years Different things that happen. I ended up being one of the original authors from gold engine You probably have heard of it at this point together with Ariel Mansour. I'm not sure if he's your own But he also came to to the Fossum So Goddard was open source in like four years ago I'll be a bit more probably five now and he's been growing a lot but so About this talk the talk is creating the next hit game with free and open source software tools The idea is to show that it can be made and I will talk a bit about how our process was for creating Our new third-person shooter demo, which you probably already saw in your booth So Let's get started What's the motivation Goddard 3 was released exactly a year ago? It we need a demo to showcase all the new rendering features before that Goddard was mostly a mobile engine to make mobile games But for version 3 we rewrote it mostly rendering So we can make something realize you can see those screenshots are our new renderer that came out a year ago But we don't have anything to showcase it So even if it was pretty good and you couldn't show that actually what it would actually do So we did a new demo to showcase it Our plan was we have these are the or simple 2d and 3d platformer demos Goddard It's a game engine where you can do separately 2d and 3d. They are like separate engines in one They work mostly the same but 3d and 2d APIs So we have this platform demo, which is almost the same code into the amp ready So you can just migrate from 2d to 3d, which is something many developers do at some point of their carrier But the thing is our 3d platformer demo. You don't look very nice The art of this one I made the art for this the 3d one the original one was made by an artist called Fernando Fernando Calabro, and I tried to replicate his style in 3d, but I'm a really achievable 3d artist So it looked pretty bad But I know that Goddard 3 was capable of much better So this is where the journey begins We use Donation money we have a patron if you're not one of our sponsors, please become one of our pensores We use some of the nations to to to hire an artist We actually hired the same guy that made the pixel art because he's actually a really good 3d artist Actually, he's a professional 3d artist and this was done as a hobby. So we hired the same guy To make this demo we started with concept and prototyping I've worked so long in the game industry that I'm very used to this If you do a really good concept and prototype and you do it properly you can get really really high quality later on You you will ensure that all the problems are solved by this face and and not later So well this we started planning it the idea was that It should look really nice It should be like futuristic design because it's very trendy to make futuristic style her it's where most artists want to do this Nowadays right ten years ago. It was like medieval. I know it's futuristic we wanted to make it cool because Something that looks very amateur when 3d is when you make like all square levels that are all lucky So we make wanted to make something really pretty which is like who which is way more professional looking We want to have multiple rooms. I had to be short but pretty so this is what kind of the idea It's kind of a round the level you go around the deck and then you get to a richer room. You will see it soon So first we started with level blocking the artist made the level blocking in blender He just took all all the ideas and he made a really basic geometry I'm not sure if you can see because from here the contrary contrast is not very good But he made all I'm looking my friend like everything that was going to be in the level He made a mesh for it, but really simple just no textures very flat. No detail nothing The idea was to test the game flow test the dimensions of the level and also test the lighting How was the general idea was going to be? So afterwards we character prototyping if there is something you learned in the game industry is When you're proper when you prototype when you prototype story You can make like a the art cannot be fine Now you can even put cubes somewhere or maybe more detailed geometry for your characters for everything But the animation has to be like near final or final because part of your gameplay is the animation always in a game Or most types of game if you're going to do something the animations have to be near final just using Placeholder animation is asking for trouble because animation is part of the core mechanic almost always in a game It feels pretty pretty much always So animation was one of the first things we do this are like a test model It looks pretty complicated, but it's not the final one. You can see this was done in Blender We did the model and an image it didn't in Blender. This was done by Fernando So yeah, never do animation placeholders if you make a prototype just from the very beginning try to make sure the animation is Final when you prototype or make three games, especially So later we try to do gameplay prototyping We didn't have a level that for some reason the video is not looking very good, but sorry We didn't really have a level yet It wasn't modeled so we started doing prototyping in this very like black-and-white scene Usually when you do prototyping and video games you try to use these squares Which I think are like two meters by two meters, so you have a better idea of distances This is just practices which are typical in the game industry Interaction and control must feel like final from a prototype You rarely try to make something that you will improve later. It doesn't look final in the prototype You're doing it wrong So this is the animation tree. I got a tree has a Actually, this is got 3.1 which is coming soon has an animation tree, which means you can Create all the animation interactions like state machines and changing states blending space This is very common in boring game engines It allows the animator to test all the interactions and all the transitions around the blendings manually from an UI And then the programmer can take these three and use it from the code like changing states from walking to jumping to Anything so animation trees are a very programmer friendly to like communicate between the animator and the programmer and make sure everything works as intended We use root motion root motion is a technique where the animator Animates with actual motion like for example originally in games You would like animate a walk cycle, but it was in place So when you put it in a game in the the food will slide that was very common I think that's as a squeeze was first game that actually did with motion properly So we use root motion, which means that you can see in the video. Sorry. It's a bit broken But that's what the videos about When you change states it changes animation and the blending and you can see that the the animation is like It's totally synchronized to the to the food of the character If you saw that the previous light this one you can see the animator actually moves with the with the object It's not in place So when in the engine will remove this trend this translation this transform I'm you use it in code that this transform is retrieved from code and used to actually move with the logic So bfx bfx is something that actually also needs to be pretty Final in a proper prototype may not be exactly the final final version But it has to be very close to final because again both bfx animation are parts of our interaction And that is actually part of a core mechanic. So bfx had to be final from the prototype Goalout is very cool It has something that no other engine has which is an animation system where you can pretty much animate absolutely anything in the engine You can't even change a mesh or change a texture called functions. You can do so much from the animation system in go All that you can like do a vfx really nicely So this is a combination of particles and physics and and shaders that change parameters all controlled by an animation Like this this shooting effect is done from there You can see a battle here in how the battle looks Sorry again for the for this So this is an interaction you can see that this explodes and then the states are trying to reach it body So they just blow up and and the fire starts emitting. This is absolutely all done from animation. There's no code involved So well texturing Before modeling usually want to do texturing So you cannot get off an idea of how to do it. I will explain a bit the texture workflow. There are two texture workflows you can use It's important to understand how to create textures if you're going to make a game understand where they can come from how You can use them and different things By the way game game the new game 2.10 is fantastic. It's really really good I will show you a bit later why and then you can find base textures somehow There are many royalty free textures around you can find on the internet people who just likes taking pictures of things just to make textures You can create them from photos. This is why I will explain later There is the I wish there was like a substance painter alternative as open source There isn't yet. So we are waiting on blender to do it. Hello. If anyone from London is here Please hurry up after 2.8 is out You can also be painted with Prita many types of game use like hand-painted textures If you remember remember games like Wind Waker. They have very pretty paint hand-painted still style Textures, I wanted to like go more in-depth on that workflow when doing hand-painted textures in Prita But the presentation was really long and you really need artistic skill to do it So I will probably skip it on one day extend on that I will explain how to make a texture from a photo you can do this both. I think in deep and Krita game is probably a better Switch it for photo manipulation Here's an example. I took this picture myself, but I was at a Roman Roman ruins while visiting Europe So I took this picture of I think this floor is from pretty old I Took a picture. I thought this was going to be a nice texture at some day This is like 10 years old, but I will use it to show you how you can make it in a in a texture So you first have to look for a region that can tile usually most textures have a region that could be nice for tiling In this example, this one is kind of obvious where it can tile of course when you Well, if it's not totally aligned to to a to a region to a fra fra texture You can use case transform or perspective transform to to align it to a box then you can crop it This is something pretty useful you can do in game. You can use a layer offsets by half the texture So this is pretty much the texture was moved half to the right and half down and then Just moved around like like tiled You can explore how well it tiles So you can see it doesn't really tile well Because of two reasons first it just doesn't match from one side to the other and the second reason is that it has a gradient You can see when we tile it here in 3d. There is such there's like a gradient each it makes the tile pretty bad so To get rid of the gradient you can use high pass filter. This was added to him 2.10 you use a high pass filter effect and then it removes high frequencies All ratings go away and just gives like pretty flat You can see here if you look in detail at the center cross It's not like matching still very well, but it's much better for tiling because it's just like the gradients are gone So to fix the tiling program you just use the the clone tool a bit and just fix it pretty much That's an easy way to do it that the most common one When as I say here it just you just use a clone tool There is another technique I will show in a bit which is pretty cool for fixing tiling So then you kind of just like brightness and saturation Contrast and hue and everything and make it pretty as you want you can see here that is tiling really well This has perspective in the bottom and it's telling very well So low contrast usually looks better try to make your textures like more color focus and contrast focus that will usually look better in the game I explain here how to create normal maps. I will do it a bit quick Usually if you want to make normal maps you have to start from what's called a Hague map You can see there in the in the middle. This is a Hague map. It shows like what is white is above and what is black is low So once you have a Hague map you can use the normal map effect in game I'm not sure if it comes with it or it's an extension. There are other applications You can download they just take a Hague map and return a normal map So this is why you can use it it shows like it has depth when you are working on it Some effects may break the tiling you can fix it again with what you have just learned Embossing may work for creating like a Hague map. You can see on top the embossing of the original texture You can use it to create a Hague map kind of like Here's a really simple magic trick I love for tiling textures You can see the original texture you can see that right doesn't really tile very well neither vertical nor horizontal It's a nice texture. It doesn't tile So what I do is I just like this is the base layer. I duplicated. I add another layer above Gimp has an effect it has a filter which which is cool make seamless But all it does is create a like a crossfade of the texture It really looks pretty bad, but it makes it seamless, but it looks pretty bad So what I do is just this above layer I make it like tile seamless with that effect But then I just use the eraser and erase everything but the border I just leave the border and then I merge it down to the layer below and you can see on the right It looks fantastic this this is in my opinion the best way to tile textures is like effortless It could be done with a script if you want like automatically It looks really well So it is just a small technique you can use if you can check back on the presentation later online And this really was for tiling textures So then we're going to modeling This is not something I use for the demo this technique, but I would like to explain it It's a very common technique in the in the industry You just make an atlas with shapes that may be like related to the way you are going to model a level or something Here you can see put like two planks of wood Something with a detail and then something's ground and then something that looks like a wallpaper or something You can paint the head map. I painted this head map myself With gimp And then from the head map you can get the the normal map there Then I converted this one to an occlusion and then you can use the rest for like Metalness and roadness, which is common in pivir workflows. I'm not going to explain pivir. You can find a lot about it So once you have those textures with your atlas with kind of shapes random shapes you put on it Just make objects that use those random shapes Just be creative like you make those shapes first and then you try to think and how to make objects that use them So they made some furniture like you have a window a table a chair another table And then you can use it and it's really quick you can model really quickly with that Because just just make the models and you will map based on the on the model on the texture It's a very quick You need to kind of use the same color for everything because when you use 3d and you use mid maps They will bleed a bit. So if you kind of use the same color, it's not really noticeable The big thing about this technique is that you can create content a lot It works really good like for futuristic things like uh, I think I read the document I think overwatch uses this technique for many of the levels. So that that can be of interest So this is an example. I made this and render it in Godot I made all this furniture and the walls and this took me like three hours or something like that It's really really quick. You just use this technique from scratch and you can make like a level really quickly So this is geometry based modeling Which is actually what we use for the the demo that this new third person shooter demo for Godot This is a really nice technique It's a very modern technique because you can only do it like know what days the GPUs are super fast and Amount of vertices in the model doesn't really matter that much So what you do is just model all your detail in geometry Just forget about painting a detail in the texture It may be very subtle if you are in the texture But most of your detail like 90 percent of your thing is just geometry You have like a hole in the middle of the thing just model the hole you have like a small Just a fin or something you're just modeling just every detail goes to the texture Model every every detail forget about like using the the the texture to paint the detail Just go crazy. It's okay. The new GPUs don't really care about so much polygons. No, but I it's little for the new GPUs So then what you can do is use tripler mapping tripler mapping is called also auto texturing. It's a way that just Just like blends between texture in three axis the texture files in every axis And blends depending on the direction the faces is having This is called auto texturing in godot. You have like this technique You can use uh, so the nice thing is that you can just set up a lot of materials And then you just assign them randomly where you you have like the metal material the tube material the screw material And then just put them there I know that for example many Companies in the in the animation industry like green roads use this technique We have somebody that that goes and models everything and then someone else makes the materials and assigns them to the object So this is a really nice technique and you can get really nice results like this is a picture It's using mostly this Then it has a bit of the Texture painting, but mostly you can see it's all geometry You can make it look really nice Here you can see there are a few more examples. It looks really nice. I mean you just can like You just go crazy with geometry. It doesn't matter. It will look good And then you just assign the materials for for everything So level design I will show it if I have time in blender Uh, still have a bit of time. So when I'm done with the presentation, I will show a bit the projects in live Um, so then uh artists converse all the flocking the blocking that was done initially It's converted to final assets. They are given more detail and they are textured This is blender The idea is that artists has full freedom the level is actually made in blender Many people think that it's better or usually better to just model different pieces and assemble them in the game engine Usually when you work professionally, this is kind of a mess because the game designer doesn't really know how to like put together a level with pieces so It's better we just agree on what the level is and then the artists can go wild and do all the art and do all the detail And everything that just conforms to that to what originally was agreed with the designer So the pattern is much easier this way in my opinion Collisions are added manually also in the in here like for example We have a something in godot. You just add like minus call to the name of the object when imported to the engine a collision will be generated for it So godot converts to physics shapes You can do just minus call so the collision has the same The same shape as the object you model But sometimes you make a model really complicated and physics inches Like are really slow when you have so many triangles on the collision So it's very common to just make a new version of the model that is only like the vertices in the faces just for collision So you make it and in blunder you you add like minus call only which is means this is just for collision No, no art when imported the art is the letter so Here's an example of how it works This is like the base model which is model and the collision is another object I put it to wireframe so it's easier to see like which one is the collision and what is the what is the The object using all these very complex geometry and the physics engine is going to kill the physics engine So you need to make something simpler And then in blunder you just make the the base material since blunder doesn't really support the sun kind of Well, it does it will now a new blunder But it's easier to just make something very simple in blunder as reference for the materials When imported to the game engine you set the actual materials and finish with the textures and everything and always use very Very variable's name. So when going to the game engine you find the materials Otherwise, if you have like blunder material dot zero zero one, you're not going to find it The same goes for lights. You just can put like lights everywhere when imported to the engine the lights will be in the engine Uh, I would keep this you can use like one thing to notice that is important is that most 3d application Usually in the industry everyone uses the fbx format for exporting 3d We can't use this in godot because uh, this has a very very restricting Restricting license. It's not compatible with open source So the only open formats we can use are die, which is colada, which is old and gltf2 Which is newer both work really well for exporting the game engines So there's no one afford for reverse engineering the fbx format. It's like a very close format There's no specification just as close library to open it But it's being reverse engineer So I hope we can still support it soon because people really requested the ones that use maya or similar So this is the last part engine integration. Uh, so it's everything making everything pretty In godot you just export to the project and it will open it I wish you with this later better on the running on the engine So the ds I will explain quickly you just import it then you just the materials you just put all the textures This is just just when you port it. It doesn't have any material. It's flat Here the materials were added, but there's no no lighting Uh Finally, uh, we are we start like modifying the lights and everything in godot You have some called instantiate like the scene that was imported You can't touch it because it can't edit like the colada or the gltf file So what we do is just instantiate that scene into another one, which is very common in godot You said that's editable and you can make local changes in the new one This way you can edit your original At the original scene that was exported from PD without like changing it. Why is this important because The artist might go and and keep changing the the scene in blender And then we'll re export it and if you made local changes directly on that sun in the engine They will be lost so in godot you instantiate the the scene From the artist and make local changes in the instance So the artist will just save the scene again It will be imported automatically and now all the all the changes are are kept Well, finally the same the lighting you can just set like lights and shadows and everything Then you have the final step, which is like global illumination, which is the light bounces Usually you set up the direct lights when you set that lights It's like the right lighting which means that this is just where the light affects Global illumination is what adds the bounce like if I like throw a very very strong Light to the floor it will bounce and spread across all the room So global illumination is pretty much that You can see the godot has something called ga pro We set use of an area and all lighting inside it will just bounce around it looks pretty pretty you can see the comparison above and below And then what you cannot like pretty effects like ambient occlusion screen space reflection depth of field blue You cannot fog Anti-aliasing and bloom and everything So in the end it ended up looking like this. You can see it looks pretty nice I mean it's like kind of what games know what I look like Has all the detail and it's and it's very nice Since we have still a bit more I will show you this Working and running on the engine. I will show you first the demo if you've never seen it before How it finished Give it a second Okay, this follows the the planning you can just walk around the stage You can see that the the character moves around and all the lighting from the environment affects it This is the real time if I get close to this you can see the this emission material is affecting the character There's there's the enemy. So yeah, that's how we we ended up looking So thanks I'll show you a bit how it is done in the engine So you can see a bit more detail about the process I will open the player scene This is the Player You can see here. This is something that god does what it says scene root You can see here that this is actually a colada file which was exported directly From from blender. This was instantiated in this current scene, which is the player scene The player scene like has a node a base node, which is like a a kinematic body Which allows for moving with with physics and everything Uh It has a lot of animations and everything you you may expect This is everything imported from blender or the animations in blender. This is the animation tree Like for example, you can see that there is a blend filter and like the eyes are a An animation that's running in parallel that makes it blind no matter what is going on. This is called animation tree Uh, you can for example, uh Where is this this is sorted for this is a blend added for aiming up and down A blend node for example this one shot node you can turn on and it's going to just jump Doesn't look interesting now. No, actually that's for landing not jumping. This is mostly machine. You can change like the animations When we will probably notice that when you put walk the guy is like totally stunning. This is because there is a blend spacing here So depending on where the blend space goes Actually, you need to activate the animation This is this one See this is walking with gun walking without gun. I can't change the blending and in this axis is switching between gun No gun gun no gun and this is just the animation speed if I change this like You can see it just changes the animation speed therefore according on where I am I can just Start walking then I shoot when I shoot it's it just like takes out the weapon and stores it back Well Now there's a lot of interesting things you can do with the animation tree. So let me show you the scene It's pretty big will take just a bit longer Okay This is the actual level seen imported from thunder You can see this huge green thing is the gi probe. This is what gives like all the light bounces You can set it up around anything and it will give light bounces. It's really quick to set up Here you can see just Everything like the lights on the enemies and everything You can see that this is what I mentioned. This is actually the the scene as imported from from from blender It's like instantiated here. It's great because it's like children notes. You can still modify any of the properties So when you import the original file, they will like keep the changes This is for the enemy scenes Here's the enemies. You have different like robots You have like areas for the sound you can for example Here you can see we have a mix of some mixer in the dot This means that I can for example like set up an area Around where this is I can give it any shape And I say that any area any sound that plays on any area is going to like the bass Which is outside In the outside I set an area say any sound here goes to the side bass and then here As you can see we can add a lot of effects audio effects like amplify delay everything just a lot of audio effects You cannot so we can for example have different reverbs the smaller area You can use a smaller reverb the big area you can use a bigger reverb And they are sent there The music is just a note you just can You turn it down and it plays the music pretty much You have reflection probes. There's a lot of things you can you can use here Particle systems and different types of notes so You can see here that it's It's very interesting if you had it out like this is the original designs pixel arts price made like 10 years ago for this demo This is a 3d the same artist actually made the pixel art 10 years ago under 3d 10 years later He tried to keep the designs as much as possible But it shows like how much this technology has improved over the years, I guess So well this concludes the presentation. So if there are any questions, we still have 10 minutes, I think So are there any questions? Hi, so during your talk you mentioned that the poly count doesn't matter So what I'm wondering is if you profiled this How can you speak louder because I can't So during the talk you mentioned that you said the poly count doesn't matter while you're making the models I'm wondering if you've profiled this on iGPUs and if you compared that to a high low detail pass with normal baking In general, um, how can I explain? GPUs keep improving. Maybe the artists like 15 years ago were very careful. I was not mean not adding to polygons I mean when I say it doesn't matter is that in general artists like still too used to using as least vertices as possible But as technology keeps improving you can still use more and more and more and it really is not that of course You kind of always make too many vertices or too many faces But for a while an artist needs to make it look nice It really doesn't matter so much like to know what it is if you make this main character and if you made it like 40,000 polygons, it's fine. It's going to run everywhere. It's not going to be any problem In Godot, it's sort of like compressed so when you open it, it's it will load fast and it won't run fast Uh, you can also see that the in the in the level the artist is He just didn't like model everything you see from scratch here. We used a lot of objects. So there's probably like 30 base objects that were already used like a section was put inside So like in a cylinder So there are not actually not that many Not that many pieces that make this level that you have just seen there's a lot of reuse for that So as most pieces are reusable, um, there are not that many pieces being round in general You just can't go wild with geometry in that. It's fine. It's not going to matter much It's not like you're making like something completely Everything unique professional 3d artists in general. They know That the more they can reuse what they do the faster they will make it They will be more efficient because just doing more and more and more is going to take longer for them Uh, so in general for a level like this normally you don't have that many pieces or anything like that So it's normal that that you just can use higher geometry and be fine with it If you're making something like I don't know like Assassin's Creed where you can have a 10 kilometers distance, of course, you probably need to use l o d's just to To make like less geometry used on the things that are far away and occlusion and different things But in general for what you see close nowadays on a game, uh, it really doesn't matter that much How many polygons it has because you have like mesh streaming for l o d's and everything No, it doesn't really matter that much. No way We still have plenty more time for question out there Yeah, it was about the use kit that you mentioned about Assassin's Creed if you have to see an object like 10 kilometers away How do you deal with it in Godot like I know that there are some techniques like desolation or a lot of detail Is the how does Godot deal with it? Uh version 3.1 which is coming now, uh Still doesn't handle l o d very well Because as I told you it has just one year. We have made a new 3d engine We're going to port the engine to vulcan next year and add all the missing options but the general idea that with l o d is that You make models with high geometry If you're going to make a game that has a very long, uh, the drawing distance Usually what you do is just you make version half that have less this geometry and are much simpler Uh, and when you import you set them as l o d So there are two two ways of doing either you just make two versions yourself Or when you import you set it like just decimate the model and make it useless geometry automatically like automatic loads This is also very common so one of the nice things from automatic loads is that When the game loads at first it's just those all the low detail versions of the polygons And only whatever is close gets loaded like gets streamed as uh as high detail So as you you leave the game a fixed amount of memory it can use for models So when it runs out pretty much because you're moving and it needs to load a new high detail one You use an earlier you Approach and it's going to like free the high detail version of the older one So you just move around the world and it's going to when what is closed It will load the high version high detail versions and what is Far away it will just free the high detail versions. That's how you actually move around Usually games like in the case of the Essence and screed the latest one the latest two ones They use a really complex cooling technique for like just showing very So in in cases of games that complex I mean you probably need like a few dose and million dollars to make a game like that You probably may want to write a custom rendering pipeline that that's better like hardware cooling or something like that But for something a regular team that is not one of the dose and big studios that can make a game like that It's just using streaming is going to be far far, you know, any more questions You mentioned in the title about you alluded to making the next blockbuster game using open source tools Do you have any major projects or game developments that are under development using your engine? If you check Or we have a reel of games that are being made we are going to make a new one in a few weeks There are many interesting projects made it's mostly indie projects Like you go to this like still pretty small in community compared to the the very known engines It's the fastest growing engine. If you check the global game champ numbers, it's like duplicating every year We are not like on the level of game maker or construct like it's still small compared like to unity Not that small compared to unreal But it's growing much faster than any of the others. I think Games that are like being made. I'm not really sure. There are many nice things being made if you check what the community makes Game published. I don't know. I don't think so because the the new 3d engine is like really new and making a game That is very complex with 3d takes like a long time So until we see that kind of games made with the engine probably a few years will have to happen But people is making my things and it's growing very fast. So I hope it's going to change in the in the coming years Hi, um, I'm not a 3d modeler, but um, I know a modeler in the industry and He doesn't like to recommend a blender to new people that he's training up because the workflow is completely different to Other modelers that are typically used in the industry. Do you feel that's improving at all? Uh, you mean that the problem is that they don't like to recommend blender Sorry, sorry, I didn't catch it. I didn't quite understand the question. Just the way in which you use it like even down to the Keyboard shortcuts and just the way that you use it is completely different. I don't use it myself. So I'm not familiar, but I thought it was an interesting point I can't you speak louder because the speaker doesn't reach so much here. Sorry. Sorry, um Um When he's training new people, he doesn't like to recommend blender because the workflow is so different down to Keyboard shortcuts and just the way in which you use it compared to the commercial modelers Ah, yeah In general, the thing is, uh, I think these kind of things are in large part generational We can you can check it very well in the like the dot community Like most load users are young people, uh, or people that has more, uh, will to try something different Older people who has been working on the industry for longer time Usually will not want to switch technologies. It's the same with linux. It started like being kids making our brain Our brain systems and 30 years later is like widespread and used by everywhere I think this kind of things are generational mostly at some point when it grows so much Others will have to like give it a try and they will have to adapt or die. I guess That at the beginning it's always generational in my opinion So, uh, I think blender is perfectly capable for this. Uh, I think in europe is used quite a lot Probably in in the states not so much because they have this Idea that they need to hire a company that sets up the computer with maya So they hire autodesk and autodesk will set all their computers for them with the rendering farm or everything Just for what they need. This is a very more more like an american big company mentality But as soon as uh time passes, I think it's going to change because this is more generational that people really think that is good I in my opinion Yeah, I just wanted to bring another point of view to this remark I wanted to bring another point of view to this remark because I really think the country Industry should not dictate this standards or a way of working and one of the reasons That we are also happy to and that's the way I use godot is trying to think If we can find other workflows many artists use it precisely because many artists use free software Graphics and free software imagery Precisely because you can intervene on the workflow eventually rethink The way you organize things eventually Do visual transformation of the norm? So I wish that I I agree the generational. I think is really good answer. That's that's a way of saying it But we can change our workflow. It doesn't have to be us adapting to the industry workflow And this is what is killing a graphic industry Yes, I completely agree One thing I know is that I have seen that uh impresses me so much about open source is the way it works Generally, it's like it may I will explain it sure because I know we have very little time But maybe on for this work is really amazing Usually when you have an open source project, it's the contributors are mostly separated into those who like create something which are Small and those who add something to it and make it good, you know, so For godot what happens the most is that we have a really big community of contributors And every feature that is added is tested a lot and it's criticized a lot and it's changed a lot We break compatibility because someone comes up and says we can this make much much better If you true it to the trash and make it again And it happens a lot and what ends up happening is that if you check the engine, there are a lot of workflows That are really amazing really well thought If you compare it to the commercial engines, they are like much worse than what godot is doing mainly because there is this kind of Internal competition the which is very healthy about how who makes the best version of every workflow or feature Or a lot of community complaints about something But maybe differently than if it maybe you're using I don't know you need your own real community will complain They don't like something and that's it In godot they will complain and they will make a pull request and then others will criticize the pull request And hey, why do you also make it like this way and it keeps changing and improving and we have some discussions That may take months to to to just decide how to make something and in the end Everyone agrees everyone always agrees in the end after months of like arguing And the best way of doing it that we have found out is implemented that is really amazing So when people trace out godot, usually what happens is that they are very surprised about many of the workflows because they They are very polished and very well designed Maybe they need like to click for you once you learn them But one you do is once you do it like wow, this is like very well thought out And it's not like there's someone who is a genius behind that It's more like there's a very well made community effort to discuss everything and make it good And make sure you work the business as possible So I think that I hope that kind of answers or complements what you said With a godot engine do you have to do a lot of Testing for the multiple so you want to it's a Multi-platform engine you have to do a lot of testing with different drivers different Vendors and hardware and everything or is it pretty much if you design it? It'll run on windows on linux on a amd or nvidia or intel For desktop drivers, usually it's fine. Nowadays the drivers are good both on everywhere The problem we have now is that we also open gl and open gl is getting kind of Deplicated by the industry and the drivers are withdrawing and they are very complex drivers which can be trotting. So we're going to be Moving to bullcam for the next version Because open gl is kind of no longer viable as it's very broken on mobile It's kind of unusable. So we have to go back to open gl is to from a while because open gl 3 is just broken But in general most testing is done by the community I have like I work on rendering. I have a lot of hardware But until the community tests and reports about it's difficult to have it like perfect But usually this is pretty efficient It just works quickly that they report and we fix even they submit the pull request with the fix Uh, hi, I was wondering if you do any sort of uh texture packing for your pbr resources For example, you can have a normal map, which is just two channels and resolve the third and Pack the roughness and mountainous into Textures as well. Uh, I'm wondering if you do this And if you could give some insight into what pbr equations that you use in go dot Uh, you have a you can you have right shaders as in goal You can use visual shader with nodes and you have a very very complete default shader Material that has a lot of parameters It lets you assign like every channel to everything of the texture if you want So it's quite easy to to to use if you want just to use different channels in the material You can use that you can use a you can do it in many ways if you want it's very flexible I was uh wondering how much time and with how many people How much time did you invest and with how many people into making that demo? I got here. Sorry He asked how much time, uh, the people Needed to to to to create the demo Uh, this demo was made in three weeks kind of if you put all the time together Yeah, if you're like very professionalize you can make this really quickly. Uh, so So, thank you very much for your talk. Thanks everyone