 Perfect. So hello everybody. I'm super excited to be here today as the fun and games part of I Love Free Software Day and the Free Software Foundation Europe's event. And this was super awesome that we got reached out to about this because we've been working on this open source game for a few years at this point. And we really like showing it off to people and having people appreciate it. And so super excited for this today. And I'll try to go through my talk part as quickly as possible just because I want to get right into the game side of it. And actually interestingly enough, we have our 0.12 release coming out this Saturday. And so we have a stress test that we're doing today. It started 12 minutes ago. And so we have quite a few people on the server right now trying to break it. But we'll go into details a little bit about that in just a minute. So to get started a little bit about myself, my name is Forrest. I'm a student in Ottawa at Carleton University. I'm in my fourth year, but I've been at the university for like seven years. And so it's been a while, but I'm also a GitHub campus expert. And so this is a program where I took some courses that helped me learn more about like public speaking and running events and stuff like this. I'm a really big advocate of open source. And I'm also a Rustation. And I see some stuff here in chat. We got some Rust love going on. So that's very cool. And I also just want to mention I didn't know what this event would be too much about beforehand, but I was taking a look through some of the chat earlier. And it's super awesome to see the enthusiasm for a lot of different projects, a lot of different open source, a lot of different free software. And so I definitely want to say like, free software is awesome. I mean, that's why we're here today. And a little bit about how I got into it. Like when I was young, my dad taught me a lot about open source. And to me, it was just the way that software should be. We had Linux at home on our dial up internet. My dad would spend all night downloading the newest release of Ubuntu every once in a while. And so for myself, open source development and open source tooling and open source software was always a core way that software was meant to be designed. And I had like a stint where in the university, I would I went back to Windows and I thought that Windows was the only way forward. And I loved all my visual studios and everything. But now I'm back in Linux. I can safely say I'm very much on the other side of everything free. So a little bit about Valorant. It's an open source game. It's made in Rust, and I'll dive into Rust a little bit in this talk. And it's inspired by a game called Cube World that came out in about 2012. And the idea behind Cube World is this game where you can explore this voxel world. And it's focusing a lot on like RPG elements. It focuses a lot on combat. Whereas it does look a lot like Minecraft, both Valorant and Cube World have this voxel feel of just squares that represent, or cubes that represent everything. However, in Minecraft it's a lot more about like the core loop is you building, you mining. Whereas in Valorant it's a lot more about combat and a lot of systems that we've built around this. And so in Valorant, we have a lot that you can do right now. And I don't have as many pictures as I would hope, or as I hope to have just to kind of show some stuff off. But there's a lot of different people working on a lot of different systems in the game. And so there's one thing I wanted to echo from the previous talk that I agree with so much is the idea that when we are building software in the open, we have the leisure to build whatever features we want for however long we want because we want to build those features. Not because we have to, because it's on some task list or because we're running out of funding or we need to have it ready by a certain point. And because of this, we've had a lot of people come in and do amazing things like our world generation system uses very novel erosion systems to build the world, which is why we can have mountains that look so realistic. And sort of testament to this is the fact that all of the rivers in Valorant always flow downhill and into a big basin. And you can't see this in Minecraft and other other procedural generated games similar to this just because without simulating erosion, you can't have, or rather, there's not a trivial known way to have rivers look like this. And so this system was something that someone worked on for such a long time and eventually when the code was merged, it was like a 30,000 line diff to get the erosion in. So super cool stuff there. And we've been able to really explore a lot of like some different stuff with what the game can contain them. A little bit of an overview of Rust. And so I mean, everybody always has their favorite languages. And we love being one of the sort of flagship projects of Game Development Rust, because we can really make use of a lot of features that the language gives that we can say, or we can quite conclusively say, we wouldn't have been able to do this, like make this project as well in different languages. And so there's a lot of different reasons that it comes down to. But since this isn't a Rust talk, what I'll leave it at is like the idea that the compiler is really what helps us out with a lot of things. And so if you know very much about Rust, the big promise is memory safety. And what this means is that when you're doing stuff with data, whether it be in just a single thread or on multiple threads or just in any way, you can know that you're not overwriting data, you can know that you're not going to make a mistake that causes your program to crash in a lot of ways that we've seen in C++ in the past. And Rust is fast, it's compiled. So it's about the same speed as C++. But we also get the saying in Rust, this idea of fighting the compiler. And so we're not able to compile our code until all the rules are followed. But then the second, like we have a second saying, if it compiles, it probably works. And what this means is that we can have an idea of a contract with the compiler, where as long as we can get our code to compile, it'll probably work with the code that other people write, regardless of where it is on the project. And so this comes into play a lot in game development, just because there's so many unique systems working all simultaneously to make the game happen 60 frames, 60 times per second on a client on a server. And having this guarantee that the compiler will watch out for us helps alleviate a lot of pains when we go to merge code from people every week, and when we have new developers come on. And so let me see here. A few other details that I wanted to mention, just because there are questions from the last talk. We have, so our game is like an MMO in a way, where we can have a server with a lot of players playing on it. At the peak we've had our last release party, it was 183 players on the server at the same time. And so for our servers, I'll show you some graphs in a little bit, but the last presenter talked about the idea of not taking up too much bandwidth, and you're doing message passing. Unfortunately, in Valorant, we don't have that luxury, and we're sending out like six megabytes of data per second consistently, like with like 30 players on a server. So a lot to improve there. I mean, even during our release parties, we come close to like half a gig of it out per second. And so a lot of work to do there. Those are pretty big numbers if you've heard of them. Now, to finance our project, we do donations through Open Collective. And so this has been an opportunity for people to subscribe monthly and donate $5 or $10. And we make all of our finances public. And so I have like a spreadsheet that shows off all of the costs of everything. So anybody can go take a look at how much we spend on servers. I was really inspired by Lee Chess's document that they have on all their server prices. They pay like $100,000 per year or something like that. We pay like $1,000 or something, maybe a bit more. But we'd love to get up to that level eventually. And then also another thing, a dimension of copyright. Copyright for open source products is hard. We're at a point where some people have started taking the game that we have that's licensed in the GPL3 and taken the code, rebuilt it, changed it without making the source open, which is something you have to do with the GPL3, and then selling it off for what like, not selling it, but using it as trying to make it look like their company or whatever is doing more than they're doing it. So no fun stuff there. We're working on making a nonprofit that we can use to hopefully circumvent a lot of these issues and navigate the legal world a little bit better. Now, I think I've about five minutes left. And I want to talk a little bit about community. And so community is why a lot of us are here today. Free Software is awesome, being able to just install something on your computer and have it work and do everything nicely. But if you've ever kind of went below the surface and been interested in how a project is working, you're much more likely to be able to find out how a project's heartbeat is doing in an open source project than with some proprietary closed source software. And so for us, with Valoran, we're here because we wanted to make a game that reminded us, or that was inspired by Cube World. We wanted to find all the things that we liked about the game, being able to play co-op, being able to play in this box world, having cute characters, and really take it to the next level where we can have more players on the server, do really amazing things with the tech that we have access to, and just play with these ideas of design that maybe we want to see going a bit of a different direction. And so for Valoran, we are a team of over the last three years, since the product started in 2018, over 200 contributors, and probably more. I haven't actually sat down and looked at how to have people come in and say, I've done this work, I've done this work. Instead, I just looked at the get commits we've had, over 200 people contribute to the project on our main repo in GitLab. But I do also want to note, we have a lot of people behind the scenes that might not have made it into this list. And so, for example, we have a lot of really amazing artists and composers and designers, and this is made up of students from all around the world, professionals, people who do research and are going for their masters and PhD, and it's really awesome being able to work with these people from different time zones, different cultures, just different upbringings. And one thing that I think we do really, really well is show off the work that people are doing. And so I've been writing or editing this dev blog for over 150 weeks in a row. And so when I started on the project at the beginning of 2019, I saw that the blog wasn't really too active and I decided I wanted to do it every single week. And so I've used this as an opportunity to go and show off who has been contributing to the game in the past week to see what types of stuff has been happening from the developer standpoint. And so developers can write sections about what they've been working on. It will get included in here. Here's some issues about world gen, some entity config, so describing how different characters in the game and PCs in the game can work. And anybody can go and take a look at all of these really awesome things that describe a lot of lower systems in the game and see that there is a massive heartbeat to this project. And so I think that this is great for showing off where the project is, but it's also really great for encouraging new contributors who have come through the project to work on a lot of different things. And so I've got one minute left. Let's speed through this. And so we're going to be doing a, not really a play test, just kind of everybody hop on the server. And I've been asked like, what kind of thing, or we were thinking, we don't have that much of a tutorial. And so what would I recommend to players who are just trying the game for the first time? And so first off is just explore. There's a lot to do in like you just kind of go look around, view the map, see what's going on. One of the really interesting things that one of the developers suggested is on the assumption that there are a lot of new players coming in, they might be able to just manage a dungeon through sheer numbers. And so even if you don't have any equipment, like you start with a sword, even if you don't have a lot going, like you haven't equipped a whole bunch of other stuff, you haven't purchased other weapons, with enough players, you can still complete a dungeon. And so to get started, we're going to be downloading the game from Valorant.net. Then you can create an account on this page as well. And then once you boot the game, you can join the main server. And so pretty nice and easy steps. I do want to have a little bit of a call to action here where the amount of players that we have online. So I just restarted the server right here so that we could have our more beefy server for the stress test. If we take a look at the game server right now, so this is Grafana. You can go check it out yourself, grafana.volorant.net. We can see right now that there's like 60 players online. And this is pretty solid for a stress test. We can also see like the server is doing all right, networking. Oh yeah, as I was saying, like right now, 10 megabytes per second, not so great. We have like a server in Hetzner right now that is like a 48 core server that we normally we run on like a 16 core server. But yeah, for right now, we beef it up just in case just in case we bring in too many people. So we're at the end of my talk here. So thank you so much for inviting me to talk here. This is all really awesome to have so many people interested in free software and free games. And so I hope to see you on the server and I do have I won't be on too too much myself. I'll be there in chat, but I'm teaching a tutorial at my university in just a few minutes. So I won't be there too much myself. But yeah, thank you very much. Thank you for the talk and the quick intro into the game. Yeah, we will let you go and do a tutorial. Yeah, tutorial. I'm sorry. I think Marcel is also here. So if there may be any questions, he might also be able to help. Yeah, so Marcel is one of the other get our Valorant developers. And so maybe Xmax or Xmax their username, if he could unmute and then maybe answer some questions, would that be all right? Hello. Yep, I didn't want to interrupt you, but I can also answer questions if you come up with some trip. Okay, very nice. Yeah, thank you for the talk. I don't know if there are any questions from the chat or the project, then it would be a great opportunity to do them now. I do have some what are the like how many people are usually on the server? Any question? People are on the server? Usually, it really depends during the time of the day. So we are currently quite happy that we have at least like 10 people playing it all the time. But during the evening hours, it often goes up to 30 or 40 people. Oh, very solid. Yeah, we were quite happy the first time we had like at least one person on the server for over 24 hours. It was a long way to get it that far. Oh my gosh. Okay, thank you very much. There's another question, like two others. And then I would say we are heading straight into the gaming part because otherwise the time will run out. How do you lower the graphics resolution? Okay, let me find out. So if you press escape in the settings, there's a graphic settings. And if you scroll down, there's a resolution button. You can set it to some preset resolutions. People are saying they are using flat pack. Maybe that's the problem. I'm not, it's a bit difficult to maintain different packaging and versioning, especially under Linux. That's why we mostly recommend to install airshipper. And this is our own launcher. And with airshipper, then you will get the most current Veloan update. I think it's also possible to use airshipper via flat pack that would work. But if you install airshipper directly, if you install the airshipper, if you install the Veloan flat pack, it might cause problems. Sorry for that. And last one. How do you coordinate open collaborative game design? So we have a Discord. I don't know if Angel has shared our Discord server, but maybe this is also something we could share here. Let me quickly get an invite link. I know Discord is not the standard for free software. And we also had a big discussion about that. But it worked quite well for us. So we stayed with that. And we have multiple talents regarding where you're most interested in. So for arts, for coding, for network coding, word generation coding, etc. Thank you very much. I will stop the recording now. And then we will also take off the stream. And yeah, thank you for providing some answers there. And thank you for staying on and helping us with technical issues. No problem. Thank you for the interesting event today. Yeah, also thank you to all the other speakers that have been here today. And thank you to all of you who joined our small event today.