 Starting up the engine. So my name is Tony Alatello. And I'm actually used to work on Blender development earlier back in, I don't know, five or more years ago, and started originally with the Blender game engine. And it's always fun here to see a lot of nice usage of that. But nowadays, we have a different project. It's a real extension. And we are using Ogre because we do real-time networked stuff. And here's the application. Here's one scene running in Ogre. And this is the, which is mentioned also in the text. It's modeled after, like, inspired by a real-life location in the United States. There's a place called Chesapeake Bay, which is quite famous for the nature there. There's, like, a lot of interesting animals, the Maryland blue crab and big birds and fishies and all. And then this beautiful white-tailed deer. So this is kind of a demo we made of this new platform. So all this stuff is with Creative Commons license and an open-source project on its own. And it's all made in Blender, the modeling and the animations. And then there's some games and scripting. Scripting, there's some, like, walk-path stuff that some of the animals walk around and so forth. But I'm also using this same environment to show my slides. So this whole real-extend project is, like, there's this word called the 3D Internet. And it's kind of an own thing. But it's sort of the background of the project anyway, that there's some people who have this idea that the Internet could be, like, a thing, like this kind of a virtual world where there's places that you can visit. And it's a lot all inspired by Second Life. And that's also where the history of the real-extend project goes to. This guy, Juha Holko, his avatar in real-extend is like a Finnish businessman. And after doing an earlier company, he discovered Second Life in 2007 or something and thought that it would be interesting to have this technology that you can just make spaces and have people visit them and meet other people there. But he didn't like the idea that there's one company that controls it all and that you have to pay money to get servers and stuff. So he started this open source project and gathered some companies. And I'm from this play-sign company. We are a small game company. And we are interested in this because we have been making game prototypes with Ogre already earlier, just single-player demos. But we want to make those games multiplayer. And that's what this platform gives us, that it's easy to make multiplayer games and other applications. So a little bit about the stuff that has been done. We made this kind of a project with schools back home. It has been in pilot use by both primary school and even 10-year-old kids and then up to high school, where you don't have to be a 3D modeler. You can just add your own images and sounds and text and stuff easily in a 3D environment and make galleries and exhibitions and presentations. And this system and the tools and this environment is on a public server on the net. So you can just visit it from the relaxedin.org. But so basically, our main thesis is that for people who know OpenSim and Second Life and that there's this kind of fixed model that what the world is like, that there's land and you walk on it and all that. But this system that we have now is totally modular and customizable so you can make any kind of application. I've been using this word application and I'm a bit scared that does that mean anything for Blender people, but I was really happy today to see that Japanese presentation about the school scheduling information because that was like a perfect example of an application. It was not a world or something like that and it was not a game but just an application that's using this technology. So we think of this as an application platform for all kinds of applications and games and multiplayer games, our one application. So here's a little diagram that I drew this morning that for technical folks shows a bit what we have. So we call this a Tundra software development kit and the stuff in purple is what is always there and like the core and the library dependencies that we always need and we try to keep that quite small. But then it's a modular system. So if you want to just, for example, make a game in C++ you can just skip all the extra stuff that you don't like but and write your own modular module using the core services and do that. Or otherwise you can just use the, like how it is by default and for example, make all sorts of functionality in JavaScript. Like for example, this slideshow thing is just a JavaScript thing and there's a couple of other examples. Here's a little beginning of a game that some French folks made that guy had used Flash earlier and he just made a test if he can make something like 3D and he managed. So this is just like a physics thing that you can, the goal is to try to like shoot with a cannon and try to reload the cannon and then shoot again and you get points when the boxes drop from the platform but you only have three shots. And here's another little game prototype by our company. The idea is that you visit these planets and for example on this planet you encounter these kind of enemies and it's like a fast action game. You see the game character and when you're actually playing then like this kind of controls that you just move the target where your guy goes and it's like rotating the planet and it's just a little prototype that we had made earlier using Ogre and have been now porting to real extent because it's planned as a multiplayer game and we get the multiplayer stuff with this easily. Okay, well I guess I have to demo the networking stuff so I'll try to do that quick so I get to show the planter stuff also. So I'm now starting another instance of the application so what is shown there is actually now running as a server in server mode so other clients can connect to it and this is what our client startup looks like let's collect two things. It actually works also as a web browser so it now just went to our website and from there you can log in to the public server but I can also just log in to the server that I'm running here which is showing on the background and I think it's connecting now so now in this client mode I get this custom user interface that's made for this place that I can use to start the games and stuff and if we look here, here on the server the guy should be visible here as well, there he is. So now if I position the camera correctly and switch to the client, oops, yeah now you can see a little guy move on the server on the server as well and these things here I can start to use to start the game so well I guess I showed here is the little guy on the server if nobody noticed and one of the games is where you have to fly as an osprey, like this kind of eagle-like thing and you have to try to catch fish by diving with the thing and then there's another game where you swim as a little anchovy fish and you can actually collaborate because this bird eats the bigger fishes that eat the little fishes that your friend perhaps is so that's how you can, it's like a three-step food chain thing and yeah if we look here and lucky enough we can see the bird flying somewhere, but okay now I go to the blender, blender part just a sec, killing these, don't you love those dolls? Okay so here's blender and well you could use the osprey so here's the bird that you saw in the game world and now I have this add-on install so there's this extra button called ogre I just enable that, I get these extra buttons this world thing, I can just click this and what it does now is that it exports the selected objects to the ogre format and then it launches the thunder system so we have it here now and then we can use the normal blender authoring stuff to do things for example I can just add a add a hemilamp and set the color for it and so forth, let's see if it's already by default yeah now I got some light there so the idea is that we can use blender for the authoring and we don't have to redo blender but we can still use this inherently networked and game suitable powerful engine and this stuff, the blender in the collection is really new, one of the new things there is now that it's quite handy to preview animations because you can just select the animation in blender and then it shows in the ogre, is that the lighting animation, yeah and yeah I can just also just move the object in blender and it moves in this game server and I can add new objects, so if I for example add a susanne here, somewhere, I think I need to select this both, now also, yeah susanne also appeared there now and then I can use, that was the lamp I can use blender to play susanne where I want and so forth but also this tundra application itself is quite, oh which button did I press so I don't see anything myself, is that the maximize thing oh doesn't matter, it has a quite nice editor where you can see the, like all the data and edit and the idea is that, for example here we see the susanne I think, that all the data, like we have this automatically generated user interface for manipulating all the scene data and the trick is that if you make a game with custom data, this editor and everything works for your data types also, your custom components and all that data is automatically synchronized over the net, so if you for example make a door and want the door to be so that you can lock it and then if you want some client side functionality for example that when the mouse cursor hovers over an object, depending whether the object is locked or not, the cursor is different. To do that sensibly, every client needs to know whether the door is locked or not and that's just automatic here, you just create the door component and put an attribute there that locked and then you just modify that one value and it's synchronized to all the participants and yeah, there's a lot of stuff I could show, I'm sorry I lost time because of technical stuff and the schedule and all, but that was the very basics basics anyway and yeah, we are using this to do projects for customers in several companies and well, all the companies want to grow as well so we are open for proposals if somebody wants some multiplayer game or whatever but it's also all there just free to use as is or as basis for your own engine or whatever. So yeah, if there's time, I'm happy, if there's questions or something, there's quite a lot in the blender user interface and there's nice demo videos of that now, how you can configure normal mapping and all sorts of stuff too. So if you just search for Blender 2.Ogr in YouTube, there's some pretty cool stuff these aren't, I think the newest ones but anyhow and yep, we also have a WebSockets client, perhaps I end by, oh, I can't see, sorry, I have to type here because I can't see them. So yeah, if somebody doesn't know what WebSockets and WebGL is, it means that there's now a new browsers, a new Firefox and a new Chrome, there's this functionality that, it went to a different screen. So what we see here is that on this right side here, I have this native client, which I was using, but on the left side, there's just normal Chrome but also this web client thing in Chrome is connected with WebSockets to the same server, so the movement is synchronized. So actually with this system, if I'm connected also from Blender to the same server, you can move objects in Blender and see them move in a web browser and the rendering here is just WebGL so there's no plugins or anything, it's just a JavaScript engine. So we are actually quite happy to have these both, that we have the powerful native auger thing that can render at least three or even six viewports for caves, like some people have built these caves now where you get really immersion and so you get all this power and you can use Kinect input and all that, but then for people who just need to see something and who don't want to install anything and so forth, then this is kind of like a light client with just a browser-based, but yeah, thanks for the interest. Sorry for the delay. Yeah, any questions? Yeah, we don't currently do any synchronization among like multiple blenders. It's because we are mostly using Blender just when authoring, when making a scene and tweaking materials and so we're mostly using it for this preview thing, but it could be used also to synchronize multiple blenders and I was myself using the verse thing earlier that and a little bit involved in the development then and but now we're actually using much simpler techniques and actually something that Theo has done earlier between Blender and real extent, we just send like Python pickles so it's easy to do anything and then for these like other clients, it's also kind of a simpler protocol. Yeah, it's an interesting idea, but we are not doing it. No, yeah, we actually use the same code base both for servers and clients. So even just on a server, there's also ogre running, but it's just not doing any rendering. It's like a headless ogre, but that's one I think big advantage that we have compared to this Second Life and Open Simulator thing because there's this one company that's making the open source client, but then there's a separate server project and they don't share any code. It's much easier to add new features when there's a single code basin and it's just an issue of a matter of configuration whether you are a client or server and perhaps we do some peer to peer stuff later on, but yeah. If somebody wants to try the application, I also have the installers for Linux and Mac and Windows on my memory stick so it's easy to test if it works on your computer and there's public servers online and so forth so yeah, you can test stuff. Yes, we use a bullet for physics so same as Blender and GameKit so no it's like the same code but so to author, you just do it like in Blender normally you put the rigid body properties and those are exported to Ogre then and they work the same there because it's the same code but it's just using the same library. So we are expanded and open-sync? Yeah, Modrex was what we had earlier because when we didn't have our own server stuff yet, we had this add-on for OpenSim Modrex which allowed using meshes and doing some custom game stuff and so forth so yeah, that's what Modrex is but currently we are not using OpenSim at all anymore usually because it's really complex with all the different servers and all the databases and this stuff is much simpler you don't have to do any configuration you just run it and it works and it's smaller and faster and reliable because OpenSim developers themselves say that it's in alpha still and we do commercial products so we don't use alpha software we use stable material stuff so currently the Modrex is not developed anymore but if OpenSim develops in the future it's perhaps we again use it somehow but now we use this simpler stuff Yes, Safari has WebSockets and WebGL at least in the nightly builds and I'm really looking forward to WebGL and WebSockets coming to iOS next summer or sometime like that because then we can run in these devices as well and it's cool that the game kit has been already running on Android so it's the same ogre that we use so we wanna run on Android as well we should have clicked the wrong thing Yeah, it's okay, go away Yep, that's good, thanks