 The closer you will be to the microphone, the silencer it could be and the sound is better. What do you think about it? From the vendor it is, normally we don't start from the vendor. I'd say it depends how much we have. And we have some lags still in the game. Sorry I had to jump. So I think we can start right now, good luck. Hi everybody, I'm just going to play the game for a short time so you get a good impression of what we built with Blender game engine. While I'm playing I'll just tell a little bit about the game itself. So you are Brian Lofield, you are a convicted marine that has been convicted for murder. He did not commit and they locked him up in an abandoned prison and from this abandoned prison you had to escape. It's a third person action-adventure game combined with stealth elements. And you have different kind of challenges in this game. Because the main objective is to get to escape unseen. This is the main goal of the game. And I can show you some of your challenges. It's a little bit difficult to talk and play at the same time. Or I can just look here. Why is it so difficult? For example these guys over here, they are your enemy. And they are very attractive to sound so you have to be very silent to escape. And I can give you an example. The sound, the voices at the moment are not open. You can play the game with the Xbox 360 controller or with your mouse and keyboard. And currently we are also working on the UJER controller support. And we have been working on this game for two years now. That's in about six people, six to nine people. And we are in beta currently and in November we want to go into alpha and we want to release in December 22. I don't know what to do. But sometimes we still have a lag. At the moment we have a lag in this level. We did something wrong, I think, but the logic is still quite fixed. So you have these kind of challenges. You know door locks, you know, typically gameplay elements. So I need to get out. I need a kit, I guess. Oh, what's that? I like this game. Maybe I just play it for half an hour and you guys just watch. Isn't that a good idea? Then I don't have to talk either. Yeah, these are the kind of things that we still need to fix, you know, camera glitches and other stuff. And we attend three gaming conventions now, two in Belgium, one in the Netherlands. Quite big, first look, facts and game force. You have your inventory to see what you collected. It's a soap. Ben Dover, I picked up the picture of his daughter. Definitely this is a placeholder. So yeah, this is what we've done and what we achieved till now with Blender Game Engine. I'm quite happy with the result. We still can improve it a lot, but we really want to wrap it up now and thinking of the release. So I'm just going to quit it now. One of the few that uses Windows as a... Sorry, guys. Well, anyway, my name is Wesley Blyliffens. I'm from the Netherlands, from Rotterdam. I'm 28 years old and I'm working for quite a while with Blender for over 14 years, I think, now. And I still enjoy it. I already showed you the production of... We were working on it for two years now, ready to release. And the goal of this presentation is to give you an insight about how we work, things that we come across and how we handle them. Unfortunately, I'm too short in time to go really into that. But if you have any questions, you can come over later. If you want to have more details or just buy the game and see how we made it, or torrent it, it's also a possibility. So how did we start it? Well, two years ago we just wrote a plan and I wrote the story first from the story. We wrote down the amount of levels and I wanted to have a goal that at least you can play this game for like three to four hours. And from that we cut it into quarters of 15 minutes. And from there we started to design the gameplay per level so that we had a good overview of how much we had to make. Well, apparently we had to make too much. So we deleted some levels and ideas. Yeah, this is a part of cutting it into pieces. Doing it completely wrong. I've worked at the game companies before. It's not so long but it's a professional. And then I was convinced that I would do it better than them. But that was a mistake. For example, when we started we just started making the levels and thinking, coming up with crazy ideas, scripting the gameplay elements, the control, the character, et cetera, et cetera. And after one year I realized that we did almost everything wrong. All wrong decisions. It wasn't solid enough to make a good system where you can keep on building up on. So we had to delete everything. So we actually built the whole game again. And that's why it took two years now. These are a few of the things that I would do differently now. Instead of just making the gameplay and the levels directly, you can better just focus on the assets. Just let the artist model the assets. You know what the genre is going to be. You know the time and place it's going to be. So just let them model for three, four months. It doesn't matter. But don't go directly into deep and start making that level and the gameplay. You can write it down first. And that's something I would definitely do differently. Per level see that, okay, which gameplay elements will I put in this level? What's going to be next? Then you can see the build up of your gameplay and see if it's good and logical. Not going too fast. Are you giving the player a chance to learn the mechanics? So we have quite some assets. And what we do is we make packages of assets. So for example, a vehicle asset package, pipe assets, et cetera, et cetera. And then we link those assets into our levels. And I just want to give you an example of such an asset or such a package. Let me see. Something nice. Vehicles preview. So this is just one vehicle. Oh, sorry. Why aren't you seeing it? Because I have to do this. So just a vehicle. This is just one object. For example, let me get something else. This is good. Loading the shaded mode down here. You can see the packages. So everything that is for the outdoor, outdoor environments. We just put them together, see what fits together. And from there, we link them into the blend files. And this way you can really, you know, can keep track of your assets. And it's better for the artist. If you want to change something. And we have quite some assets, as I can show you here. And of course, organizing your game and your workflow is the most important thing, which something seems logical. But when you're starting and you want to make something so big and you're new to it, you tend to forget these things. So planning is better than directly going into production. We also used Photoshop and all of the Texas Army and DDS files, maybe some PNGs, because that's the best for the game. And if we can make another game, the next chapter, then we want to use Krita so that the whole game becomes open source and also by coincidence developed by Dutch people. Which is extra cool, I think. So let me just show you this. Another mistake that we made is when we were making buildings because we have quite some buildings, we were making floors and we were putting them on top of each other like a real building is. Well, that ain't so smart. And if you look at games in general, you also see that they don't really do that a lot. And why? Because of the cooling for the assets in your level. It's a little bit more complicated. So in the beginning, we were modeling like this, putting floors above each other. And now we are modeling like this, more from the left to the right. So when you want to go up to the second floor, you're actually not going above it, but you're going to the side of it. And if you really want to put it above each other, you have to put a big space between the two floors, which is just better for your cooling of your assets. So these are also things that we just learned by time. And we didn't analyze the other games and how they do it because, you know, you don't think of these kind of things. And these are the things that we have learned so far. Yeah, another thing in Blender is the logic bricks. They're nice for if you don't know how to program, you can make some funny things with it. But really in a production like this, you don't want to work with the logic bricks. So we try to avoid them as much as possible. And we really make use of properties a lot because it just makes it more solid, less buggy, and we are more in control. And I'm going to show you right now what I mean. For example, our light source. I have here a picture of our light system. We just have one light that causes the shadow. This is the only way that you can keep the frame rate acceptable. And what we do is we have those cubes all over in the level, and the light just follows you and follows and gets the settings from the cube. And as you can see here at the right, you see the properties. And we almost do that for all gameplay objects, for doors, puzzles, sounds, pickups. With a raycast we check what the properties are and then we see what we have to do. And this works quite well. You have various of settings. The light source is just a property that the engine knows that the light should go here. RGB, we can set the color values, the amount of how fast it changes the distance. So at what distance it should be activated. Color speed, how fast do you want it to color blend? Blend is if it actually has to blend or not. And the strength, how strong the light is. And what we do is it starts from zero and when you come closer the value becomes stronger. So you don't really see that we're using one light, otherwise you just walk into a room and all of a sudden there's a light. That's something that you don't want because that's a little bit strange. So we just fix this with blending the light or the value of the light, that's what I should say. And I can give you another example of a door. We just have the cube with physics and here again you see that it's an interaction and it's a type of interaction door. The door type is locked so it means you can't open it and what kind of sound you have to play, the volume and that it has a camera collision. And this really works well in Blender because your system becomes much more solid. Then you don't, if you do this with Logic Bricks you have to check, am I using a keyboard? Am I using a mouse? There's all the things that you don't want to do. So this is really one of the best ways to fix that. Same goes for sound, I can show you the last one. It's the floor. We just tell it it has a ground collision, the material and that's all and we can put anything there but we have in a sound system we have a crazy amount of sound that it knows how to play the sound when you're walking on a certain surface. Is there anyone that has a question so far? Yes. We do it with the rate cost. We ask which object it is that you are colliding with. No, I wanted to know how do you read the input because all the examples I've seen so far they have a block for key W expressed and then you link it to some motion of your character but if you don't use these how do you get the input from the user? Okay, that's the next slide I'll talk about this. Oh, I explained that. Yes. Please repeat the question to the microphone, okay? Where you are. You are doing the level design. You are not putting the floors above each other but next to each other more or less. That was for the overview to keep a good overview of the level? No, for the culling. It culls better the assets away because the culling doesn't like it when there's not enough space between it. He doesn't know what to do. Okay. Yeah. I don't know if it's really something you blend or in general but you see and I pay attention especially to the PlayStation 2 generation games that they almost don't do it, build above each other and another thing is with the light example it's also easier for us when we just keep everything straight because if a light has to go one floor above we also have to check that yeah, is it not too high, not too low is it really that room that the light has to go through so also that is an advantage for us to work like this. So it's more creating space in the environment to keep the calculations down, let's say? Yeah, to actually give the engine a chance to handle it better that's what it's all about. Thank you. You're welcome. No questions any further? I see another hand raised. Just to then because I'm a little bit short of time. What was your motivation to go with the Blender game engine? Because I love Blender. Because I know that it was possible to make a game like this with Blender and I just wanted to prove it has been a dream for me for like for a long time and to keep it short I've been busy with game development for a long time and 13 years ago Blender was like the only package available that you can actually make a game and create anything with it not that you're sticking to a first-person shooter like the Unreal or the SDK at the time or the source engine it was really a free and open thing you can do anything that you want and it was the only thing that was free available. Nowadays it's changed a lot the indie industry has changed more opportunities about 13 years ago that was completely different so yeah it's more of a dream and the love for the software. No questions? Okay. Yeah, so the question about the input we made the character the first time and it was really horrible we just had like the mesh of the player and then we just had empties everywhere around it following the player and I was like this is not gonna work so we just throw away everything and we started from scratch again and we just sit down for like three days with three guys, one of a friend of mine Robert Saunders helped me he had like a 25 year experience in programming and we come up with this solution as it says again take the logic brick and run like I said you don't want to stay in Blender when it comes to the programming why do you want to have control of what's going on so take the logic brick and run away as fast as you can you see there the input keyboard mouse and xbox controller uja controller but they're actually the same it goes into a Blender controller the python and then it goes to our staff and what we actually did is we built a command pattern for the input and this works really well and we just take really take our time to make this so solid why because from that point we can build upon it and even till now I think it was almost like eight months ago we didn't touch it anymore we just build it one at one time right and we could continue from that point so what it does is just takes the input translates it into a command put that in a stack and it just pops up the commands from the stack and tells the player what to do walk, turn, so on and so on the same goes for the camera just a stack with commands that's all and later we actually realize that we built a command pattern and another important really important thing of our system is the state system in the beginning we just have like if and else statements all over the place if it's not Monday you're not crouching and you're not turning and not doing something crazy then you are allowed to open the door that ain't gonna work so we had to come up with something else and we come up with a state system and what we actually do is the following let me show you sorry what you mean? sure, yeah sure thanks, thanks, yeah this is our string library and this is how we handle it it looks a little bit chaotic but it works really well and what we actually do is we make different kind of states the player can only have one state at a time and tell the player is that listen when you are in this state you are allowed to have another state for example if you are in a shaft and you're crouching you can't stand up and what we do is we just tell that here which state it's allowed to go so then we don't have to make an if statement because it just knows that it can only go to states that are allowed in a certain state and this works very well after that we the state system became so much much more simple and you can also activate states from another state it's a little bit technical so if you really want to see it more in depth just come over after the presentation I'd love to show you how we build it and to come up with this command patron and the state system just took about like three days in pair programming and from there we just build the rest and then I have to press F5 you said just press every F that you have so the new refactored system is our AI system you just saw the guard we don't use a navigation mask in blender why because we want to have control again I really don't like it it's not full screen I'm so sorry stupid you should go to Linux and not stay with Windows this is my punishment as you can see here on the screen there are certain waypoints and we use the A star algorithm to build a path for the enemies and the enemy can actually also put a new waypoint in the level in real time for example when you're kicking somewhere making sound you just put a waypoint there and build a path through it so he comes to see and check what you're doing because sound is also an important thing of one of our game mechanics and we have different enemies like dogs, cameras and helicopters and we are building an enemy manager so that there is an overall manager that knows what the player is doing what's going on and then the enemy manager can start making new situations for example when you're kicking somewhere he can send a guard tell another guard that he needs some help go there check what's going on or the dog is barking then the enemy state manager knows that the dog has discovered something the guards, the two nearest guards can go there etc etc so that's really nice and it's really becoming an advanced system it's an enemy it's a state veteran that they built I didn't make the AI system so I don't know 100% in depth how it works and also crazy stuff like that they can walk on the stairs for us that's really nice when they can do it when they achieve it nice where's my mouse I have one minute left yeah well I just wanted to talk about these things when I have some time left but I think I'll just answer the questions for now does anyone have a question so far yes it will be distributed through Steam and Desura and we're also thinking of retail distribution but we're seeing the possibilities license what license it's not true that you can't release GPL license products on Steam we are Greenlit by Valve itself and we have a launcher where we do the DRM check and later in the game somewhere else we do again a check to see that you really got the copy legal of course you can continue like this forever you can break it blah blah blah it's a sort of small check to see that you get it legal or not but we don't want to spend too much time on security issues we just hope that people that like it support us and buy it and if not then you can also turn this but it is possible to release a game on Steam with Blender why did you say I didn't hear you the source code is available you can just check it doesn't matter yeah it's open source you can do everything the assets the whole game everything I think that something that we really should do people can learn from it but also we can learn from it unfortunately we do not have enough time to refactor everything there is some ugly goat in it but we hope that if we sell enough we can make another game and we will make a better system and at the end we want to see that we can make some sort of template that we can give back to the community so that you can easily also with this system the last thing that I want us to show is that we also did motion capture so much to tell it was the school of art and design and Rotterdam supported us to do the motion capture we're really thankful for that because everyone was nagging about the animations and we recorded the motion capture put it into motion builder and later we cleaned it up in blender with a script that was somewhere on blenderartist.org and that's how we got the motion capture into blender we also shared the motion capture data on the blender art form you can download it if you like we are finished thank you one last thing sorry I'm going to set up a computer upstairs if you like you can play the demo till the end if you're good enough thank you