 Welcome to the first pig cast Pig cast is my podcast and we are going to talk about game development with people that actually make games so in this first episode we are going to talk with Joseph Manley Joseph, please introduce yourself Awesome, let me just see with the chat if we are actually getting this If they are actually getting the voice correct, let's see with the chat. Just just to get some feedback I'm not hearing a team. Okay. Let's do this again. I can't hear pig that. Okay. They could hear me Could you please introduce yourself again Manley? Sorry about that OBS didn't Can everyone in chat hear me now? I mean, I'm Joseph Manley and I'm an AWS community builder And I contribute to open source games from time to time. The most recent one kind of big one has been a Tetra Force Which is a Zelda multiplayer game. I've been doing some of these like server-side networking cloud development, build automation, that kind of stuff with that Oh, so I can see you on stream now. I can't see you at this point Yeah So this is a very How can I say that? This is just a chat. We are going to chat a bit about game development how How the how is your vision for the future all sort of stuff related to games? So let's start with how did you end up with making games? How did I end up here in game development? Just just kind of fell into it. It was it's I mean Not really kind of a funny story. Just kind of happened. So when I was Very young and I first got into programming. I was nine when I built my first Like PHP website and before that I was even making games and like scratch, you know And it was like like the like soccer demo stuff And then as I started getting older starting with some game maker and then I was like I think like 16 I started being really in the unity And you know the over the last two years of so I've been poking around with the Godot community and having a tons of black Huge blast. So it kind of just happened. It was just a hobby that I kept doing And I kind of brought me to where I am now Nice so how old are you just so we can remember because this song I don't remember a scratch like in the past 10 years Yeah, it was like I was in my But I don't know probably like seven or something. I'm currently 20 I've done a lot for my age. Yeah So You're told that you're you started with scratch and from then you start with playing with game maker and With good old. Yeah good old has something that you'd really like. I think that's been open source Oh, yeah, yeah, yeah, the big things that brought me to Godot where it was open source and The fact that I had a scripting language that was similar to Python, which is kind of what I use professionally so the The the idea that it was a lot simpler and I can write like smaller scripts faster was super nice and then if I still needed like the power of compiled language C sharp was still right there and Like open source is amazing and I love that it's open source But if you like put that aside for a moment, like that's a Having a really easy to use scripting language and a really fast compiled language I mean even with like including JD native that's just really something only Godot has There's no comparison out there Yeah, I didn't ever Try to to make like those benchmarks or stuff like this because I don't know I don't believe that I will make a game that would take that much of resources. So I really really need to scratch stretch everything and try to squeeze the GPU for that, but I think that I heard that that girl is really fast for its purpose Talking about yeah, and yeah, I think the team's trying to make me even faster, too Which is always amazing How about your daily because you you told us that you make games for a hobby at least for now, right? So, yeah, could you talk more about your daily job or how how is your going in your official? Yeah, so my Yeah, so my my my official career is a lot more boring But it gives me a lot of skills that I bring back to the development. So I work as a doing like cloud consulting for a consulting company and most of our clients are in the financial industry, so Banks mostly banks some some like stock websites We kind of go in and we kind of Look at their how their cloud infrastructure is and secure it automated kind of bring in it to a modern DevOps cycle That was I think that this is a very key word Yeah, it's a it's a it's one of those buzzwords, but it's a buzzword that's been around for a while So I'm very unaware of what actually DevOps is actually I know that that that is something related to continuous integration and development, right? But could you like introduce this this topic for us? I believe that so So there's a lot of different definitions of it There's some very like specific definitions that open it up to pretty small communities And then there's other Companies that are like we have a Jenkins pipeline. So we're a DevOps company, which I don't think it's necessarily true So I think like there's there's like the practical definition and there's like the cultural definition DevOps the cultural definition would kind of be like your your developers and your ops people are on the same team They're working on the same project. So Everyone is there from beginning to end. So and it's never if if it don't, you know, if it doesn't work in dev it'll It's it's devs responsibility and it's ops responsibility because it's the same team. It's the dev ops team On a practical point. It's it's it's the idea that you can have automated processes from your from dev alloy to production Using like a very similar environment a very similar workflow with very little changes Uh, I'm not very familiar with the the word ops. This is the operational side of the enterprise or the company Yeah, like delivery They're the people that like have like they're they have like their cloud server or their VM server And they're the ones I like that get to take like it's like for example, if it's a WordPress site they're the ones that Install WordPress on on on the server and then take in the plugins add in the plugins Then make sure that all that's secure make sure only certain ports open. Those are those are people are generally considered ops So that they're not at the development of the actual app, but they have like they are all the way Into the production and the delivery of the product Yeah, yeah, and they're always there. They're kind of maintainers. They don't touch the code. Okay In some cases they are actually maintaining Maintaining the application like the application gets no more updates But they still have to make sure it runs on like the most modern stuff And that's why I can see a lot of like enterprises having a lot of weird problems when it comes to like moving over to the cloud I Cloud development is something that seems like grow up like really fast, right? I think that I first heard of like cloud actually in like five or seven years ago and now it's just like big thing now Cloud development and stuff like this don't I don't even know what this means I don't even know how a cloud works to be a very honest All these things that I like a hidden forbidden knowledge Yeah, yeah, it kind of blows a lot of people away, but it's it's really very simple It's it's somebody else's computer And you have an API to interact with With it so like instead of instead of having to go and buy a big machine and put it into a rack Instead you make a API or call to Amazon and they'll spin you up a virtual machine and you can SSH into it That's kind of the the basis of cloud, but then it offers additional services like a key file store That you can integrate with your application or a secrets manager to encrypt and manage your secrets So that they're not just like manually placing your machines But the biggest reason a lot of places are moving over to cloud is Because it you can implement auto scaling and auto configuration where you're when you create a machine it automatically Configure itself so it automatically installs its game server and starts it up. So it's running and then it will Automatically scale based upon that using auto scaling groups you can scale based on latency If you use usage so you always have an application that's high availability, but you're not paying for the you know maximum on the servers you use Does that has something to do with like Docker and those Yeah, yeah, so yeah Docker is Is containerization? It's a really useful way for deploying applications So instead of having your entire operating system and sending that out to Amazon or to Azure or to wherever you want to play it. You can just take your application take one That's gonna figure send that attendees or Amazon ECS We have a small delay on your mic. I think that it was on my side So just just before you finish your sentence about Amazon doesn't Require that they set up everything you can pass. I think that the image, right? The doctor image Yeah, oh, sorry. Yeah, so the the Docker image is just a container container of your application So instead of having the entire operating system, you just have what's needed to get your application to run and it will So if you you send that out to Amazon or Azure or Kubernetes Maybe even I'm like like I have some raspberry ties that run Kubernetes. So I can run containers here at home So you can you can just send that out to your Whatever container orchestration you have instead of downloading the entire operating system and configuring it They'll just take that container and what's needed And run your application like so that could be some people get it down to literally just your application And there's no operating system, which is kind of crazy But you can get down to like such a low level. I bet that emacs users Do you Experiment with making this kind of development with games We'll get to the actual deployment that you make which I find it Amazing the the city see I to that you made for good, but do you believe that this is a Good scenario for game development like using these Yes, I Yeah, I think I think cloud development. I mean, it's I mean, there's some major problems with it, but it's definitely looking like it's gonna be the future of of games Not even not even just game. Well, just technology in general of server-side hosting I mean, we're pretty much already there I think was like half the internet goes through cloud providers like Amazon and Microsoft at this point Which is I mean, there's some there's some like ethical concerns there But it shows that how how useful the services have been in specific respect for games There's a lot of really nice benefit additional benefits like for example, if you wanted to create a An MMO right now you would have to host it and in Brazil from your house Or maybe go right out of the server box nearby and hook up your server there So that means that anyone in the United States anyone in Europe anyone over in Asia They're gonna have really high latency trying to connect to that But if they're in But if you have like you're using the cloud you can use the Amazon Center in Asia you can use the Amazon Center in Europe You can use Amazon Center in South America And therefore you can use the most Servers that are more closer to your users and have lower latency On the like build automation and deployment side. There is a lot of cool things you can do there with games from automated testing of actually I have a A github action for running gut tests for Godot, so if you So if you want to start running a unit tests what you can do is you can you can plop that into your repo and Anytime you make a push to the repo it'll run the tests and they'll give you a little green checkbox or red X And what that allows you to do is a lot really big for kind of like QA and making sure that you have clean code Because when it's like it's really nice for open source projects to because if someone makes a change to the code Went before you even open up their project or the PR. You'll know if those tests passed or not if their project is you know running as expected at least to with these functions Unit tests are like like really interesting especially for application. I think that they got like The amount of applications that we have for especially mobile is I think that is due to the unit test I I've been Following some trained. I don't know if we can call this a train on the the site that games as a service So yeah games Yeah, so games as a service I believe that they try to make many updates and stuff like this and Probably will broke the application at some point. So with unit test we could like deliver a reliable application Fast and every time yeah more more reliable because unit tests tests for specific things generally tested a very little level You can add integration tests as well Which are kind of like overarching tests which are Generally look they're like we have here's our game server and let's poke all the endpoints and see if anything breaks There's a lot of different testings like a huge field within itself Yeah, it's I mean, I mean, I mean that's why QA engineers are Or a thing and there will probably be a thing for a lot longer But being a testing does give you a lot more stability with your code because you can you can know for sure these certain things were and a Big one is you know that you know that your code compiled Let me just drop my mic a bit Yeah, because I was thinking I was always thinking like Game development, especially for indie game development. It makes sense to make quick deliver you add content on it We've been following in we've been following a trend of early access very premature game development Like selling the game even with nothing actually working and with games like this like you take a prototype and start to Allow the players to test it It makes a lot a lot of sense to like make quick Integration make quick development make quick deliver because you have to deliver fast people are already paying for your game So they are expecting it to be complete, right? So, yeah, how do you see this this scenario of like game development with continuous integration continuous development? Yeah, so I mean for like early access games and stuff It's super useful because you can you can have your your changes out the I mean the really the hour you make them You can you can have your you can go ahead and create like if you're making a platformer And you add health you're a health bar. You can click your Once you have all your entire pipeline setup, you can have you can click your deploy button will run your test You'll say oh it's everything's kind of working as expected and then you can make that risk and say hey My tests are working it worked locally So I'm just gonna send it out there to for early access people to test it out and click that button and it's It's right there right all the way out there and for smaller projects. It's nearly instant It's not even within the hours within minutes Yeah, I I can see that like really It brings the players close. I think I think that this will bring players closer to the developers because I Imagine making a report for life. Hey, this is not working. I don't or actually Kenny I Would really the key key way. Okay, sorry. Yeah, I will I will really Appreciate if this Health bar would be like this instead of that We will be discreet instead of continuous something like this and the developer could just okay. Let's let's Make your wish come true. So One one button away from from the report seems like something that will really bring the especially in the game development a step a Step further Yeah, it's for first stuff like that It also opens up the door to like a B testing as well it makes that whole lot easier because you can send out different builds to different users and Depending on feedback you can kind of decide which build is the one you want to go with And that's a lot easier if you you're getting out builds faster Have you had you heard about game analytics already? I'm familiar with game analytics. I haven't done a whole lot with that, but I've done general analytics for So maybe they I think that they are experimenting with a B test already So I think that what you say will be is very is a very close future Maybe some people are already making something like this. Yeah, well, it's already here for certain services like if you uh, I believe Azure PlayFab, which is like they're they're a Microsoft cloud gaming Platform I believe they already have like a B testing of the service like out of the box You don't even have to really do anything you can kind of just set it up to do that And I know it's mostly a Good dough kind of space, but in the unity world the unity cloud has a B testing built-in using the unity cloud stuff Or you can literally go in and you can have certain values change on different machines and you can get in you can look at like metrics feedback from Like how efficient the game ran whether any crashes and stuff like that Yeah, I I can imagine like a designer getting those Unlimited analytics life. Hey people are dying too much on this boss So let's make two builds one where the boss has less health, but it stays the same Difficulty and one that the boss is kind of dumb dumb But has a other statuses the same Yeah, let's see how they behave with it with these two builds man. They sound like amazing I really start to trip on those kind of possibilities Yeah, yeah, it's a lot of Really cool stuff. I'm I'm surely some some package out there for Godot to kind of get started with this already But it's it's really not not super hard stuff to implement really you just need some sort of like Variable like door dish really a dictionary store that gets just updated by a server So you just hit it. There's a server out there You're either in the cloud or it could be even your local machine if you're you're willing to make that risk And I'll just return some JSON object and Godot could read in that JSON object and run it And you could give different users different JSON objects But this will would run like in the server side, right? So the server will provide like these database with two possibilities of Yeah, yeah, so yeah for for this one way. Yeah one way of doing it is with that Yeah, of course, I'll do the other way with with just sending out completely different builds Is the alternative? Yeah, which is that's that's just another no level So talking about builds Finally we reached that point Man, you did an amazing tool that allows for I would like to explain everything. Please introduce your city CI Can we say like this? Yeah, I can I can talk talk about the the Godot CI CD tools I've built so they're Yeah, so I built a build Godot action and a push to itch action and a run gut test action which are all part of like a suite for running CI see CD for Godot on on GitHub actions And pretty much what What that means for people not super familiar with CI CD or GitHub actions So that means that there's a little you can add a little config file into your GitHub repo And it will allow you to automatically run your unit tests like at once you push Automatically build it and automatically push it to itch. So Pretty much what you can have a shot up to whatever it was on your master branch pretty much Is what's currently live on itch.io Let me see if I can open the repository just so we can have a quick a quick side of that because I find this amazing because you actually pick the the very I Would call the the major indie game development platform, which is each among like many other platforms like Is it possible to make this in steam for instance? I'm I'm like 99% sure it's possible with steam. I just don't have like a I don't have any steam published games to test it out on For like build-out tool, but I'm pretty sure I could just go out I can make one with no, but you made a good choice Yeah, I like I like itch it's a lot more usable for and this is targeting, you know I built it for for honestly myself for doing game jams So and most game jams aren't itch. So and it really makes a lot of sense because thinking about it What what we can make is like oh, we are actually just going to create the first repositor the first initial Initial version of the game and especially for game jams. You can keep iterating on it especially working with like the Let me just see if I can find this You can like working with your teammates someone can like make a quick Like a small tweak on the game and already delivered the next bit to the to the game jam Yeah Yeah, yeah, so it's really really cool in that sense So it's not even just with was kind of pushing it to itch for the game jam So it's live. It's also so I mean if you're working on a team of the game jam I'm sure everyone's experienced it where everyone's working on different things and nobody knows what kind of the state Like the state of the game is right now like they they saw their friend on discord say that they have movement working But they never saw it work. They never gonna actually test it, you know It could be working, but like everyone could be moving one pixel per second, which you know, that's that's probably not what you want But with like this this automation stuff you can have your friend can say hey I got motion working and then you can go oh cool Let me download it you click download or if you can have it with just html version So you just click the play button on itch and there you are testing your game With the latest version Yeah, and I think that some game gems on itch that don't allow you to make updates on the How's it called on the? Judgment phase something like this But yeah, if you push a game and the judge the judge already start to judge your game. You can push a new updated version so It already happened to me that I Had a version fixed with all of the everything fixed already on my computer, but I forgot to push it So with something like this this kind of Person my kind of wouldn't run into this kind of Situations, you know where you actually is being judged by something that could be on a better That has a better version for testing Yeah, yeah, that's a situation. I have so happens all the time, but I mean you're not alone Pretty much the entire development world. How's that issue? Well like in games out of games Like indie not indie. I'm I'm sure Google and Amazon have hit the issue. Are they oh, I just why isn't it working? I forgot to push it How about those do you know that? Do you know if any of those big triple-a company companies are working with this kind of deployment? Already, or is it too risky for dance? Yeah, I Dare there I can tell you that if all print and I know that Amazon and Microsoft are kind of the the leaders I guess in the CICD world of Especially I mean I mean club the Amazon is cloud Google is cloud Azure like Microsoft is cloud they are the cloud providers if they didn't exist there would be no cloud because there has to be the somebody paying for the millions of machines that people get a rent out But but I mean like or And for like a Infer for like github. I mean github zone by Microsoft. It's literally kind of just a wrapper around What's called Azure DevOps, which is their their cloud of solution? And for for kind of the CICD processing games I I can tell you That there's a lot of games companies out there that are that are hiring DevOps engineers and cloud engineers and kind of trying to get their their hands into like DevOps automation stuff game games is kind of all over the place when it comes to the the automation side of things because Because there's there's a lot of there's a lot of engineers in games. There's a lot of artists in games There's a lot of designers and games and there's a lot of mixed and because like, you know, it Sometimes that like the the DevOps cloud stuff is just something that kind of gets forgotten about Because it's I mean, it's a niche. It's a specialty It's sometimes why you don't have an environmental artist or a technical artist on your team. It's just it's not because it's not important it's just because it's Your your your resources are focused elsewhere and just kind of put to the side Yeah Between like environment artists with is something very very specific and very very specialized You can hire like a general artist and yeah the environment That you something that you can't deliver actually Just just something that you can deliver instead of like the best you can deliver Yeah, it's more about using the resources wisely Yeah, yeah, and like yeah, so like the same thing happens with like a DevOps engineer sometimes you just hire a Just a you know, just a general programmer and he's kind of in charge of your entire code repository Or you just have a you kind of just designate somebody on your team to say hey Make sure you're make sure builds are working or you sometimes they even give it the QA and QA is in charge of like that Tired process that that can be a rough time because you know Once it gets the QA and the QA has broken code there You know They're just gonna start you know sending that back to them when the problems begin Is it like like is it? How can you say that? is it is it to hire someone to make the Implementation of those automations that this deployment automations at in the middle of the project like a Point to all is that how you call like just one one mission like they made one mission and made implementation and can Can follow that their lives already, you know They don't have to stay with the product since the beginning and until the end of the products to maintain those Yeah, so I mean generally you want kind of DevOps build automation testing You want that from day one because the one of the biggest benefit of of having a DevOps pipeline is productivity Because you know, there's there's last time focusing on I'm making sure it builds work. There's last time testing builds It's just testing features and kind of Moving on so generally you want as early as possible Yeah, but but generally you can Wait a while up until you have something working up until you you know, you know that this is something you're gonna be working on for a while When everything starts to burn you can I mean, that's that's Yeah, that's That's an okay. That's that's the most often time people start reaching out for a figure the people but There's generally that that's the worst time because then you're paying them to fix your stuff And put in the pipeline. So generally you either get half the efficiency or you're paying double the cost Which isn't what you want so probably like wait before everything starts burning because if you do it right before everything starts burning Then you get it at you know, you just get it done by you know, if it's a contractor It's the contractor or freelancer or whoever wherever you're getting it from if you're in D And then and then the flyers start happening And then you catch the flyers immediately because you have a water sprinkler Joseph do you have already some games that you are working in or do you made the the city CI and Stop working on the games Are you asking whether I build my pipelines before or after I have a game No, I just want to just see the amazing things that came came out of your Your head. Oh, this besides this amazing to that you already made because Before you actually joined the the the chat now, we are talking about Let me just see who say that but like something like oh, I Meet I met with Joseph in like my server and he just like jump in and say oh, I'll fix every network thing Related problem that you you got and I was like man. Yeah, this is very Joseph because He made like the same thing with mooncheeser. I don't know if you remember that but was like quite the same thing I was like man this game is broken The version that I have on github doesn't match the version that I have on each I know you just like oh Can you give me right access to that and everything got fixed? Yeah, I I mean, I love helping out people especially Yeah, especially with with like open source and and stuff So then anyone in chat needs help feel free to feel free to reach out to me Of course if I if like trillions of people reach out to me You know then then you know the issues might occur but right now right now my inbox is not full just But as for like other projects I have he was like a medium article I wrote about touch or forth Which is what he was talking about in chat when he first jumped in and this is a This is a if you're familiar with the you the youtuber Frank like this is his Like his multiplayer is all the game He's been working on for a while and I can't and I came in and it helps built out some CICD pipelines and I built Built a an API to interact with cloud servers and I created the infrastructure for that So it pretty much what this this allows is it uses just again, you know the normal Godot enat multiplayer But it has a API that for for doing connections So that if you type in you type in a lobby name and if it's the same the lobby name is another player You'll both connect to the same cloud server interesting so, uh You already work with and you really have this specialization with network already Yeah, I'm pretty heavily focused on like networking and and and kind of automation as a whole Seems like cd ci dev ops right seems like a good match. Yeah Yeah, yeah, yeah, it's uh Yeah, so like networking is kind of where uh, I mean I can do some non networking stuff But I feel a lot more comfortable with doing networking stuff because it's generally something Uh, a lot of people have to put um more time into figuring out um, and And so I feel like I'm a lot more useful there and where I'm more useful, you know, it's uh It's a lot easier to to get in whenever I'm like, oh, thanks. This is helping a ton. Wow. I didn't know that Yeah, this will be completely me because I'm completely on letter in anything related to network Even web, I don't know how how hml works and nothing like this not even network nothing So, yeah Once you start going down the rabbit hole The the complexity starts going away. Um, and then uh, and then it comes back and then it goes away again, but I'm sure you've seen like the the learning curve. That's that's pretty much networking. It's like, oh Everything's just data packets. Oh everything's and it's just ip. Oh, it's using some fancy networking thing that goes from Instance that goes from switch to switch And somehow uses some gpg value to whether decide whether or else through california or through texas And then it's And then it's back to you know kind kind of just being oh, I just want her out I want to go through texas. So I go I put in this number, you know We are talking with uh, I was talking with a friend. Uh, I think that a month ago And we're not talking about like how object oriented programming is not very good for networking And he said something like You can't say it sent a because like objects are I didn't actually got everything right, but objects would be basically just Part of the memory and you can send the instance which would be memory through the network So you have to serialize that into a package and and send and answer live that and I was like so What should we use instead for for networking for games because for for games It seems to me that it makes a lot of sense to work with object oriented design and stuff like this because game seems to be like a very It seems to be a very useful paradigm to work with games But when it comes to online games, maybe we should start to think of something else It's uh, I mean, that's that's a pretty complicated question I can I can kind of give you my thoughts on it. So like please Like the uh, yeah, you you cannot send objects Well, sorry, you can actually send objects over on the network But it's just going to be a bunch of binary googly ah That the server doesn't understand and if it has if it happens to have like the same object in its memory So it does understand it Um, then you then if the if you ever update the client the server will suddenly be invalid And that's a very big issue um, so Things are starting to get a little less complicated now now that we have like now like json and YAML and that kind of like formatting is become becoming the norm Because then we can just send instead of sending over entire like, you know objects We can send over a json file like some json text and it can read that json text Um, but that's not as fast as sending over just some binary data. So generally, so like if you mess with like uh, like the enat based in um Well, really if you use like vanilla enat, you're still going to be sending over but not uh binary data And you're going to want to be Pretty much you're going to want to keep that as concise as you can to reduce latency as much as you As much as you can so generally you'll have like a flag on everything. Um Yeah, it's It's a it's a tough question. Um, I'm I'm I'm definitely not at the the point of my career where I can say For matter of a fact You should use object orientated over I really think that this will never happen for anyone because Every game will be a game and we will run into just different situations But we uh, we this all this all this discussion was because um, this friend of mine say that uh, we should start working with um Functional programming for games and I was like man, I don't know how this works, but I think that it makes no sense for games I don't think that we could I think that we can do that That I wouldn't I wouldn't say that it is impossible But it's just that it's not convenient to work with functional programming from a game development perspective Yeah, that's I mean it's I mean functional programming just kind of a little bit. Uh, I mean, it's not the norm So I I think it has that against it Is that uh, you know, everyone thinks about Uh, well, uh, once you get to a certain point into programming you think about all I have my sprite object And if I change this property, it'll do that um When when functional programming just says Ignore all that do it by hand When it really doesn't mean do it by hand, it just means instead of Instead of creating a property you create a function and you pass on an object to a function Not an object, but you know data Some data property Um Generally, I'm more comfortable with object oriented myself, so It's the norm You're a good person You started newbie game developer it starts with some big projects like making an MMO RPG for instance Yeah, my my right now my father is kind of like He's been playing a lot of EverQuest and he's like I can make this He's trying to he's trying to make his own MMO right now. Yeah, believe in yourself. If you see if you see this dad, I'm calling you out Yeah, so MMOs are like the first thing everyone wants to jump into yeah me included I remember that I think that I was 12 Yeah, 12 something like this and I say to my friend I was playing like Ragnarok online Don't know if you'll ever have any contact with this game. It's very old Yeah, uh, I haven't played Ragnarok online. It sounds familiar. Um, yeah You would remember it's an amazing game and I was like man, I think that when I grow up I'll make a game like this Never even even try to do so Okay, yeah, yeah like I mean we're getting closer and closer to the point where developers will just be able to make their MMO and the weekend um One-bottom MMO Coming together with Well, I mean uh, like like right now for example, um, if you wanted to create a uh An MMO 10 years ago You would have to go and you'd have to create create an authentication service where you create the password Password news and aims you keep that all secure you have to deal with that security And then you also have to deal with the hosting side of things where you have a server that I can communicate to And you know the DDoS protection and all that um This when you reach the point where you you would actually have everything such to have a server a client and stuff like You wouldn't even have content for for something like an MMO still Very complex to work with that Yeah, yeah, uh Yeah, sorry, I kind of got thrown off there. What'd you say? uh, I was saying that Even even uh from what you're saying what you were saying like you have set up a server you have set up uh all of these um networking Yeah, uh, this this part is very very hard I can imagine but like the to have like one character Punching a enemy you would like have to oh, yeah We'll work with c which is very very slow to develop you have to have a lot of libraries to detect collision stuff like this Is not Yeah, yeah, so and but think but things keep keep getting easier. I mean like if you want to create a uh uh Some sort of server authentication now you can just use o off and pick one I don't know you want you want to use uh Google Firebase you can use Google Firebase. You want to use amazon cognito? You can use amazon cognito You want to use off zero? You can use off zero? There's There's a like so many options out there now and they're just growing every day um And the same the same thing's kind of happening when it comes to like, you know game engines. I mean you know 10 years ago something like unity was kind of uh kind of crazy It was right Actually, I think that unity is like 15 or more years old So, uh, when it when it pop out on market, it was like man We can make games that easily now And it wasn't even easy Like I remember switching from unity to good luck because back back then You had to like code the whole interface like you had to say oh at this point on the on the on the screen It will have a rectangle with this side and I was like, man, this is so hard. Why do you make Things so hard and we got out. I had like just like a Button note and I was like, man, if I click this I can actually make it work It was like amazing. So yeah, this uh, what you say is is very very true I think that at some point we'll have like a An engine that is specialized on making on me more rpgs and you just have to like Change the name change some some status is some Calculation some formulas for the damage and there you have it Yeah, imagine a future where asset float ups are now MMOs Yeah, I imagine a future like this Oh talking about that had had you Had you heard about artificial intelligence that is made to create RPGs just text just text RPGs And I think that is based on this GPT-3 artificial intelligence Okay, had you already heard about it? Are you talking about like AI dungeon? Yeah That's that's the way how to play it. Yeah, that's super cool. Yeah, it's super cool. Yeah, uh, very very addicting though um Well, it gets very surreal real quick That's the problem you have to to tweak you have to to squeeze it a bit like no, you shouldn't be going into that direction but um Had you heard about the art breeder or something like this? I think that is art breeder Where you can? Yeah Yeah, I watched uh, I remember watching a Gdc talk about a year ago over about like using ml to generate um, like game art Yeah, so I was thinking about making that in real time like you wouldn't even have to to um To design anything you just like have the the AI to do All of those things in real time. So when AI would seem like oh Could you make like an environment with some landscape and some mountains and a lake there and the art breeder was like, yeah, okay There you have it You know, imagine a future like this man where you can just press a button and you have art you have music I don't know any AI that actually composes music, but Yeah, they exist. They exist. Yeah, probably probably they probably exist Uh, but yeah, I think that uh, this future where you had to focus more on the On the design where you have to just have the the click of oh, I I think that I can make him a name in more pg about like pandas and bears and stuff like this You just have to tell the artificial intelligence what you want to create and boom You will have yeah, yeah, that's That I think that I don't I don't know how likely that is in our lifetime Um, because I think in our lifetime, we're still gonna have like at least human assisted AI um, but I mean You would think like in a thousand years, it'd be definitely something we have on the table Do you think that it it would take that long? I don't uh, I mean, I don't know just the the Generally the from what I've seen with uh machine learning. It's very good at solving a very specific problem um, but it doesn't seem very good at like the General multitasking. Yeah So like if you give it a if you give it a general prompt like make an mmo about bears and pandas You know, there's a lot to do with that And it and because I don't think this would be an AI algorithm. That's That's independent. It would be like a bunch of AI algorithms cobbled together to make it. Yeah. Yeah for sure because Because I don't think that we will ever have a well, maybe maybe I can be proven wrong here But I don't think we'll have a ml algorithm that that hit that that's been tested off the binary files of millions of mmo games Oh to generate mmo binaries Maybe we could make it watch like 8,000 10,000 hours of word of warcraft problems But yeah, uh, I think that uh artificial intelligence would be something that will also give us a pretty pretty cool Tools to at least as I say generate some just like a small part of the game Just create some assets here and there Feel this this the storyline here with something just feel the gaps probably Yeah, all for like, uh, take something like, um, I mean we can take music or voice acting Like voice act like voice lines, like, you know, generally like sometimes you want like an analysis in your game um And I was actually thinking about writing it up a like a like a medium article making a Odyssey video or something on it of a Of there's a service in amazon called amazon poly and it's it's like, you know that texas speech you hear on like every twitch stream ever It's it's that's what that is you can literally enter whatever you want. They have They just released a bunch of new ones like that are, um ML backed and they sound a lot better and you can get some If you had some like a special effects that are just like the ones built into godot You can kind of make some really cool like an answer sound like voices and stuff Um without actually having to to do any anything into a microphone Sounds sounds crazy it's very It's very empowering to to be to to be right here at this moment where we are getting all of this stuff like As I said imagine if we were living in the 80s Like trying to make a game a simple game like, uh, let's see Uh, let me see on visual basic time Like flappy birds Imagine being one one a single uh engineer like a single Uh programmer trying to make flappy bird works like I don't I don't think that this will be possible Back then Yeah, not not to like the same extent not with like the same effects and everything you could probably make a like some sort of Low res sprite that goes up and down But it's probably going to be a little more staggered and it's probably not going to have the same special effects It's probably not going to have the same parallax background um, yeah Funnily enough parallax, uh as far as I could research I don't actually research that but I see a lot of videos saying like Oh the complexity of parallax back in the Uh nintendo era in the super nintendo era and I was like man It was that hard to make something like this like imagine making a parallax effect Like being a single person making a parallax effect for a game in the 80s. Yeah, man, uh, yeah, that'd be It's amazing that even even more more insane is something like a noise map like People are still like still today like blowing up about how cool, um Like mario galaxies water effect is when it's literally just a noise map, you know Yeah Yeah, uh game developing is going in a really good direction And uh just so we can back go back to the topic, right? Uh, and I I think that uh with the with the with the implementation and with the How can I say that like with more people using the cd ci tools like like The one that you have it will be much much easier to keep increasing the the the the the Um the complexity of the indie games because it's easier to to deploy it, right? Yeah, yeah another thing that I didn't mention That that's kind of really important with with especially indies Is uh the fact that you're using git and the fact that you can version your things So like if you have if you broke your game You can just go back to before you did that. I mean, uh, you know in the the days of old if you broke your Things are on fire your game's broken. You might have to redo an entire portion Uh Yeah Imagine when we used cartridge How can you fix something like that, right? I think that they made I don't even know how they Fix that because I remember that they sold They had like those cartridge that one fit on top of the other to like have some expanded Version of the game, but I don't know that they made uh patches for fixing something like a bug So imagine that the production time of a game that was supposed to to be delivered on cartridge Oh, yeah, that there's so many like Issues with it. I'm very glad that we have the internet now because like You there you could release your game with a game breaking bug and it's just there for till the end of time And you can see that with like any speedrun ever You know explain Yeah, yeah beating beating halo and like what's it six minutes or something. That's insane But you know now uh for I mean when it comes to speed runs, it's you know, it kind of takes away a little bit of the fun um But when it comes to like actual gameplay that that's used especially for like competitive play It's really nice to be able to push out, uh, you know fixes Generally as they happen As you hear about yeah, I think that it's common nowadays to have like what they call How's they go? Uh, they want patch something like this. Yeah, they they launch the game and hey, we have a thing You have to download the the patch right now So, yeah, it's been quite uh quick to to actually give a quality game to to players and yeah keep keep keep we talk about like bug fixing and patching and stuff like this and having errors but from from perspective of features is From my perspective, I think that being able to push Features like as quick as you can keep increasing the The the value of the game is also a very nice. Um A valuable thing to to have in hand Especially like for instance one of uh, one of the business model that I want to test out is like having my patrons and having like a game where we can keep uh keep developing together like uh a week like Every week has an update feature updates something like this To to be able to like have a quick workflow where you can a very quick pipeline where you can press a button Deliver and make the that blog and have something for the patrons like instantly will like decrease the The amount of time that you need to to have a business model like this Yeah, yeah, it definitely helps for for Anything that you want to get in front of people fast It it it does that and it does that well Um, and there's even uh for like for like the thing I set up for you I think it takes like what 10 minutes to build and push and everything um, there's ways to reduce that even more and especially for larger projects like There's uh, there's ways where you can you can cache certain parts of your build so that it, you know that it You know it's not constantly rebuilding those parts. So you're still like so you can have like, you know Two gig project that's getting built and you know only 20 minutes and getting released within uh two two more um And getting And for for something like, you know, kind of getting out the patrons people to uh to be able to see To be able to kind of give feedback on I mean, that's that's kind of uh see My phone's going off No problem Apologies, I turned it off No problem. Hmm But uh, especially with each which is the best platform for indie game Uh, uh, since they have like those this each app which downloads the The the most updated version of the game delivering and downloading will be like very quick Uh, uh, you were talking about uh a product that you were working on uh a online product a network project Yeah, uh the tetra force. I think it's force. Yeah, thank you A link I can put put in the chat uh to like the medium post which kind of has like the more readable uh version. There's like an actual game download There's the medium posts there, um, that's just kind of generally talking, um about like the the server infrastructure I don't know if I talk about like the The ci cd. I don't talk about ci cd in here Um, but I do talk about like the the the cloud stuff and there is a ci cd portion I think I do have Something on that as well Maybe Maybe not, um I hear I can use the here's the repo post the repo in chat Uh, let me see. Uh, oh oh this one Sorry The um, not discord the youtube chat There we go. I'm posting the score chat too. There you go Let me copy. Can I paste that on the the the live chat? Yeah, go Yeah, I think I'll beat you Okay, so, uh, what about this game? Could you talk about it a bit? Uh, yeah, so, uh, like I mentioned earlier it's a it's a it's an open source project started by, uh, Hornclake, uh, who's uh, who's another kind of gadoe centric, uh, YouTuber, um, you know fancy Yeah, uh, but it's it's zelda multiplayer games kind of in the the realm of like, um was Link to the past kind of Uh with with art style inspired by and all that though technically Complete sorry not technically just fly it out not affiliated with with nintendo or what and everything You know all the legal guru whatever um But this is often play. I mean, there's there's a demo Well, I don't not not a demo, but there's a playable version that's kind of released very often on our on the github repository not not the the one I listed for infrastructure, but I think People might be more interested in, uh, the actual gadoe projects all Oh Oops, we are having some issues with the auto. Oh, okay. We're back Uh, did you Uh, this okay, so let me copy link. Yeah Okay, so sound seems like a very, uh, very good project already seems like it is on it's shape already Yeah, there's a there's a lot of work that's been going into it and it's yeah, it's it's getting pretty far The I mean the the cloud infrastructure side of things is I mean pretty much ready to go if you download, uh, like the The development build off github right now. You can log on to a cloud server play with your friends right now Um, it's really just iterating on gameplay features and it's at the point where we're just adding adding features Everything's up and working This is the CICD, uh Sorry, take care with feature creep Yeah, yeah Yeah, so, uh right, uh, I think like right now one of the things I'm working on Unlike my side of the project as I'm trying to add in some sort of authentication platform Uh, so that like players can have like unique skins based upon, uh, uh, The paid what based upon like a patreon tier, um, and That's kind of going in on like the Cloud cloud side coming up like if you go into the game right now, there's a few base skins But they want to add the development team wants to add more. So I'm I'm trying to uh, be able to create a some sort of like in-game API platform so so they can do that The entire project's using the those like CICD methods I was mentioning where where you know runs a build and it pushes it This doesn't push to itch. Uh, unfortunately, it just pushes to Our website at the moment. I think they've discussed putting it on itch, but it's just not there yet but it also pushes, uh Like the the you know the the latest build the nightly build Straight to get help so you can go download that anytime Um, and in fact, that's where we've been using for the longest time for testing and just using whatever was on the The latest of the master branch You uh, had had you um, read about those it was a premium sponsor of grow, uh engine engine network engine coin They have something like similar with what you were talking But they don't have it based on patreon tiers, but instead they have like had you Read about the they they pro the purpose uh, I I've I've not looked into Them specifically I've looked uh good amount into like uh hero collabs and their their online platform Um, but not none of the other uh good old sponsors. Unfortunately Oh Hero collabs is is a very cool sponsor as well But yeah, the the idea of this engine network is that they They tokenize uh game items. So they put the the items on the the On the blockchain. So the idea is that you can have like shared universe And okay, I see. Yeah. So so based based on the on the what you have like the token that you have You can have like an item that is made to be like a sword or like a spear in a game set up in the I don't know Jurassic era and then you can have like a cyberpunk sword in the game set up in the In the cyberpunk set up So using the same token So the idea is that you can create like this sort of stories where it starts with a game back With with a background story that has nothing to do with the next game and you can keep creating this shared universe and Between uh game studios as well. So they can both have the same token, but being two different things But I was saying I I told I talked about that because uh something that you say is that like The the players will have something the item right based on the It here and it popped it popped in my my mind sometimes very similar like oh Based on your on your wealth or something like this you your character on this game will be like this And people can share the the items since they can basically say sell the the token, right? So they can like Have a internal economy that is very Uh heat up Like sending melodies. Yeah, that's what happens Yeah, that's that's definitely uh an interesting solution and using and using uh What would you call them um Blockchain Sorry, uh, yeah, that's that's a that's an interesting solution. I'm not sure if that's uh Specifically what we want to go with because I think it's like a like you you have like the peer and then you unlock All the skins and you kind of get a choose one Um, but I mean I can definitely forward that on to the the rest of the team I'm not really the decision-making person there. I I can I just help out. I do the the cool cloud stuff the cool Yeah, I mean I do end up having a lot of say over that But I'm because I'm the one like working on it pushing it forward in the lab um Uh, but yeah, I can for for for the idea over to everyone. Uh, I'm sure some of them here Maybe maybe this idea won't fit the the purpose. I think that it won't but yeah, is it is interesting to see that Uh, there are already games that could fit the this purpose Yeah, yeah, that's that's very that's that's really cool to hear. I I think um, uh using uh like persistence based upon uh blockchain is Is really really cool. I I want to see more of it. Um And I I kind of get I kind of get a little nervous of it though because like it's very you know, it's very untested Um, and you know, I don't want to see like some new variation of like the the microtransaction crisis, you know that the main purpose was was actually uh, as I said to have persistency because what they they they proposed they proposed was like, hey people invest so much in the game like especially on online games And if the server if the the company decides to Not keep with get up with the with the game people lose a lot of uh investment there So the idea is that uh at some point if you don't want to play the game in the the engine blockchain You can melt the item and get some engine coins back So you can basically just have some of your investment back or you can get some money like in in Fiat coin and just transfer the the token to another person and get your investment back or get even more than what you invested, right? Uh, so this is this is uh, what they they try to actually say Which was something that I was thinking about doing as well But like having games instead of just items. So the token will be for the game the whole game, but Don't think that I will go with that direction Yeah, that all sounds very very interesting, but it's very much out of my knowledge. Yeah Definitely Though the the concept sounds very interesting. It's probably something I'll I mean at least go read a little bit more about Yeah, I think that the next generation of game developers will probably explore this a lot more a lot more than me for instance But yeah, uh for now, I think that this is as I said out of my My my knowledge Because I love blockchain. I love everything related to it Yeah, I definitely like the like security and everything. Yeah, the security party is the most beautiful thing about blockchain and it's Actually, what makes it even beautiful is it's decentralized, right? So if you don't believe that that this is what it should be Download it and like see it for yourself. This is what should happen If you doubt about what we are proposing what we are trying to download the blockchain and see by yourself Yeah, the yeah the the only like big problem of the blockchain is the the opposite of that Which is unfortunately something I advocate for which is the uh the cloud work, which is centralized servers You know everything go through amazon everything goes through microsoft They're they're both they're both the future Yeah, I think that they serve different purposes. So both are very very variable for for different Purpose. Yeah. Yeah, I think there's a there's a lot of overlap though. Um and like the Where is that overlap gonna go like for for example, like, you know, the the blockchain hat is based upon a shared registry of some sort um, and if all if that if you know The that registry is only stored on, you know, amazon.com Then really amazon.com has control of it rather than it being completely decentralized as it should be um So I'm very very curious what the the future is for that Especially with amazon and microsoft and google investing massively into blockchain services Like if you want to create your own blockchain you can there's like a gooey On like the amazon cloud council. Like if you go to the amazon cloud council, you can just click create blockchain You can do it just right there Oh Is that easy to create a blockchain nowadays? Back in my time Yeah, I don't know how you do it by by scratch. Like it was way out of my no idea as well memory but uh But the fact that you can just do it in a button click on amazon Amazon has full control of it, you know, yeah, that's kind of but can you can't you just like download the the whole thing and Get it into your local server Oh, yeah, yeah, I'm sure there's ways to to kind of extend it outside of of amazon. Like I think that's where uh The strength of blockchain is uh my just concern there saying is that That as less and less servers are owned by people and more of them are owned by amazon and google and microsoft Like there's three companies or maybe four or five Not only a handful that that are going to have most of the the computational resources Um by default most more stuff is going to be hosted there. So i'm just You know, that's that's only like adversary No, that's very concerning Indeed because yeah, as I said if even if you have like a blockchain, which the purpose is to be decentralized But you are hosting it on one of those four five, maybe Uh, yeah hosting services. Uh, it's not it's not decentralized You're like, uh, you're not yeah, it's too centralized by multiple services. I mean you could put it one on google one on amazon Uh With bitcoin for instance that you can literally have it on your computer and you are part of the network. So Yeah, I I don't actually know if uh, For instance, if this computer is hosting or is being hosted by google or something like this But still if I want to like take out the the wires and just like have the the bitcoin network here I can do that The I mean the the only problem with like having like your machine on that network is the same problem that it has with poor And it's uh, I'm not sure how it is in brazil But if you start there is a little bit if you're on the tour if you're if you're on a tour here in the united states and uh, sometimes you'll get like mail or from from the government Asking you to stop I never got one So like because like they can tell you're connected to the tour network They don't know what you're doing on it, but they can tell you're connected to it And if you are connected you are doing something that you so So I think the same thing is going to be applicable to like to like blockchain like where they're not going to know You're on it. Sorry, they're not going to know what you're doing with it But they're going to know you're you know, you're on it and you're providing part of the registry Yeah That's like a world Like, you know, this is like the equivalent of like, how do you save the world question? So Just throw That definitely a bar question, you know Still but at least we have the technologies nowadays Yeah, yeah We're going forward whatever whatever it is We're making progress. We are going there Yeah So uh, Joseph, we are getting into the end of the stream friendly Uh Do you have anything to say? Do you have any product that's one show besides the tether force which sounds to be amazing? I really got the the reference Yeah, what is the the fourth the fourth force Oh, I don't know. You're gonna have to ask the designers there Okay But uh, I really appreciate for you having me on for the first of that which is crazy. I really appreciate it um Like if uh, people want to check me out. I'm on twitter at joseph b manly and uh I'm in github as well. Um, and I think odyssey and library Uh Yeah, so, uh, I have uh any of the projects that I you know, you heard us talk about I can Reach out to me. I can kind of throw you in the direction um Yeah, thanks again No, uh, the pleasure is totally mine. Thank you so much for for accepting the the invite Uh, that video about the whole tutorial of the your github action Good action, uh, it's only on library, right? Yeah, absolutely. Yeah, you're a good person. I knew it. I knew it Thank you for for keeping it there So, uh, I will put all the links in the pinned comment for your twitter for Okay, do you do you share your Each as well your each profile? Uh, yeah, sure. Um, I don't really post super often on that I can Uh, and it's mostly filled with like, you know, quarterly finished stuff, but you know I uh, I appreciate it Are you joining the the github game of jam this month? Uh, I I am I have a Partially completed thing right now. It's it's multiplayer. It's uh, Has all the the da bobsi stuff going on there It's amazing your products You are saving the the products to that github saving products things on Yeah, like that that thing that's supposed to save all the products for the eternity, right? Yeah, yeah, thank you because your products should be there Yeah, also to explore them. I got the like arctic vaults contributors. Yeah So, uh, you already put your profile on the chat Yep. Thank you. Thank you. So, yeah, uh, is that something else? Uh, no, that's that's that's that's all my my my socials. Um, I'm I'm pretty super active on twitter. I think my medium is already there with the medium. So, uh Yeah, yeah, thank you pig dove and thank you forever You should definitely give this guy some, uh, patreon money Thank you so much joseph for coming by for stepping the the invite it will it was an amazing Uh, amazing chat. Thank you so much for being my first guest here For taking all the risks of not working off everything that that happened But besides that, uh, it was an amazing talk. Thank you so much for for giving us the the opportunity to to hear And uh, thank you for sharing your profile because you are definitely going to to explore a bit of your products, especially with good Is it night where you live? Uh, is also night there? Yeah, it's uh, it's 6 30 right now. Oh, six 30 Okay, so Good night. Good evening. It's starting. Yeah. Yeah. Okay. So good evening there Thank you so much for for for coming by and uh, keep developing as well Keep developing uh, uh, don't don't think that this will be the first time that we'll join the the pig cast Definitely Again, so that's it. I look forward to that Thank you. Uh, so that's it. Thank you so much for the chat for coming by for joining us as well Thank you so much for I think that we have oh, you have to ask one question because we had a super chat here So come to brazil. So joseph could you please come to brazil? Uh, can I come to come to brazil? um, maybe maybe uh after the pandemic and uh for you know a little bit I don't know. I'm I'm always up to to go into foreign country and exploring Nice if you if you come by, please Give me a heads up. But this was the the name of the The profile so come to brazil ask joseph. What's the color of your soap? The color of my soap, okay We're getting very technical here. Yeah, don't you really don't have to ask to answer that Uh, I mean I I mean I gotta give the people what they want. I use Like a ivory color, you know, like the like white yellowish soap Okay Please Is that like a inside joke or No, I don't I don't even know why the this person Asked you that but yeah Hopefully this is the only super chat that we had. Sorry about that And thank you so and thank you so much for answering it. So that's it. We are going out Thank you so much for watching. Thank you so much for coming by and that's it Thank you for watching keep developing and until the next time. So I will stop the stream now. Bye guys