Coding Blocks - Game Jam Lessons Learned

Episode Date: February 1, 2021

We step back to reflect on what we learned from our first game jam, while Joe's bathroom is too close and Allen taught Michael something (again)....

Transcript
Discussion (0)
Starting point is 00:00:00 Oh, man. I have a pathological fear of two-letter words. I get terrified just thinking about it. What does that even mean? You don't get it? I have a pathological fear of two-letter words. I get terrified thinking about it. Oh, God.
Starting point is 00:00:24 Got it. That's awful. All it. Oh, God. Got it. That's awful. All right. Here we go. You're listening to Coding Blocks, episode 151. Subscribe to us on iTunes, Spotify, Stitcher, wherever you like to find your podcasts. And leave us a review if you can. Indeed.
Starting point is 00:00:41 And check us out at codingblocks.net. It's a website. We'll get into that later. But you can find show notes, examples, discussion, and a whole lot more. And you can send your feedback, questions, and rants to an email address, comments at codingblocks.net. We got an episode on that coming up too. That's pretty good. We also have this thing called a Twitter account. It's at codingblocks.
Starting point is 00:01:01 And you can head to said website at www.codingblocks.net and find all our other social links there at the top of the page. With that, I'm the slightly still sick Alan Underwood. I'm Jerzak. And I'm Michael Outlaw. This episode is sponsored by Datadog, the monitoring and security platform for end-to-end visibility into modern applications. And DatStacks, the open multi-cloud
Starting point is 00:01:28 stack for modern data apps built on open source Apache Cassandra. And Linode, simplify your infrastructure and cut your cloud bills in half with Linode's Linux virtual machines. Alright, and today we are talking about some of the lessons we learned from our doing the first game jam. And I think we'll probably have a little bit from behind the curtains, but mostly just about, I think, our experiences as contributors, which has been really exciting. And we just finished up the game jam at the time of the recording. Now we're still doing voting, so we don't know what the outcome of that's going to be.
Starting point is 00:02:02 But we just wanted to kind of talk about this while it was fresh. First, a little bit of news. All right. So like we like to start off with, we're going to thank those who've actually submitted us some reviews on iTunes. We've got Didi, A-U-S, Didi. So I'm guessing Didi, Aus, Didi. And then also I went and found this because I remember Audible saying that
Starting point is 00:02:24 they were going to start doing it. We have our first review in Audible, and it's from one of our members of our Slack community, DevOps Rob. So thank you very much for taking the time to leave us those reviews. We appreciate them. They definitely put a smile on our faces. Oh, I didn't know that was a thing now. Isn't that awesome? Yeah.
Starting point is 00:02:43 That is awesome. Yeah. That is awesome. Yeah. So we currently have a perfect review set in Audible with one. So we're good. I'm going to call my mom up and we'll keep it going. I think she was our first review, wasn't she? I think so, yeah.
Starting point is 00:03:03 Alright. So yeah, Game Jam is over I want to mention too we're going to have links here to all entries so you can go through and play 46 brand new to the world video games right now all free and I also wanted to say so we got 46 submissions some of which were teams
Starting point is 00:03:18 so a lot of people put in a lot of hard work for this and we have at the time of this recording 506 ratings which that's my favorite part so people went played love feedback and you know how we love reviews right so we're really happy to see that people actually went out there and played the games after they spent all that time making them in order to do that and we did set it to uh to make it so that only submitters of games could go and rate so uh that's that's just really cool.
Starting point is 00:03:47 So that was the thing I was kind of most, you know, the most conflicted about is whether to kind of leave the voting up to the public or only submitters. And we ended up going only submitters, but it makes my heart warm. Yeah. So it's definitely been entertaining and, you know, hey, who knows? We might do this again in the future. I know that we've uh, you know, Hey, who knows? We might do this again in the future. I know that we've already, uh, you know, talked about it behind the scenes about what a future game jam might look like. And, uh, yeah. So your best chance to find out about that is going to be to
Starting point is 00:04:14 follow us on, uh, coding blocks.net slash events. And, uh, you know, in the meantime, you know, there was a lot of stream streaming that was being done. You can check out the video from codingblocks.net slash YouTube. Plus, you'll be able to see upcoming keyboard reviews, which if you haven't already seen some of those reviews that Alan has put out there, the latest one on the Kinesis Advantage is amazing if you haven't already seen it. I appreciate that. Yeah, the next one up is Zergotech, which, assuming I
Starting point is 00:04:48 can still speak after this, I may try and get that done this weekend. Yeah. And I'm actively working on one for the Game Jam where I just go through people's games and kind of talk about some of my favorites. It's a lot of footage and a lot of games to go through, so that's probably going to take a couple
Starting point is 00:05:04 weeks realistically before that's out. But I definitely went through and played everyone's games. I left feedback. I finished all the ones that I could that had true endings or a game over condition. There were a couple that were just too tough for me. But I tried to get through all of them. So it's a significant amount of time just to play them. And then, of course, do the recording and then editing.
Starting point is 00:05:25 So it's going to be a while. Be patient with me, please. Well, with that, that's a great segue. Let's just get into the meat of the episode then. Yeah, so I gathered some notes. Al, you got some notes too. And so I figured we'd just kind of go through these and talk about them. We'll kind of flesh out what our idea is.
Starting point is 00:05:42 My first tip that i put in here uh it's something i didn't do but aim for the browser uh so i noticed in the ratings there's a huge bias towards people that publish games that you can just click play and play immediately on the website yeah and that makes sense i think we kind of of talked about that back when we did the episode on what is a game jam back in – I think that was December that we did that. Well, I think, yeah, November or December. And even at the time, I had kind of mentioned like, oh, just downloading some random code and trusting it, you know, to run it locally. Like, uh, that, that seems a bit of a, uh, odd ask in the year 2021. Sure. Security is fine. Just Windows makes it hard. They scare the crap out of you when you download it.
Starting point is 00:06:39 Yeah. So did you see, like when you said there was a heavy bias, are you saying that people that wrote something like yours, right? I think you did a Python one where people just not downloading them. So I don't know how to see, maybe when it's over in the voting room to see the actual numbers on it. But you can go and just tell like, hey, this is a Windows only. There's one comment. And you go to another one that was browser based and there's 13 comments. Ah, okay.
Starting point is 00:07:06 So just the, the interactive feedback on it, which by the way, like when you said that we have 586 ratings, right, that's more than like 10 times. That's like almost 11 times the amount of submissions. So yeah,
Starting point is 00:07:19 that's pretty excellent. All right. So one question I has, I'll also, um, you made a website that was kind of standalone. I think a lot of other people made like, uh, it, so you made a website that was kind of standalone. I think a lot of people made like,
Starting point is 00:07:29 it seemed like Unity or Godot were really popular. And it seems like itch.io was almost kind of biased. I don't want to say biased, but like they were set up to do Unity and Godot kind of games as well. So they would play in an iframe. It seemed like the resolution just kind of worked out. How was your experience with having a kind of a, almost like a traditional website being submitted? Like, was that easy? Did you like how of worked out. How was your experience with having kind of almost like a traditional website being submitted?
Starting point is 00:07:47 Was that easy? Did you like how that worked out? I mean, first of all, let's not classify my game as a traditional website. First of all, I want you to know that I wrote my game engine from scratch. Okay, so if you haven't seen the game that I did, I did an idle click game, um, which was, you know, runs as a webpage. And, um, yeah, I mean, the problem that I had with it wasn't necessarily that it was geared, the itch.io was, uh, necessarily tailored to unity or go dot. It's just that the instructions were super unclear, um, hey, I want to upload a website or I want to submit my game, but it's ultimately a web page. What exactly do I have to include?
Starting point is 00:08:39 And it was some trial and error, but, and when I say like it was, you know, kind of like, you know, any frustration or, you know, anything with the, um, the instructions being unclear. I mean, it's not like I spent hours trying to figure it out. Like I, you know, it definitely less than an hour's worth of time total spent on trying to get that submission together. But, uh, you know, it just, it, during that, during that hour, there was just kind of like trial and error trying to figure out like, okay, wait, what does this mean? What are they looking for here? Like, uh, you know, do I, is this thing in play? Like, you know, if I give you a zip file, is that playable? I don't, what do you mean? Like, is that executable? Like, I wouldn't consider it executable because it's a zip file.
Starting point is 00:09:27 But, yeah, so that's where I think that it was where the bias is. It's just that it wasn't super clear, you know. Well, so when you say it took roughly an hour to kind of get that situated, if you, like, say next year's Game Jam, if we do one next year, would it be another hour? Or because you've done it once, it would be much faster? Well, it would be much more time than the first, but that would be for totally different reasons. What do you mean? I mean, the submission would probably take like instead
Starting point is 00:10:05 of one hour it'd probably take eight why is it telling more details and stuff like well okay so uh if we're focusing just on the submission aspect of it like one of the the things that i learned from it was that um like what my my intention was to spend the last day, because it was a four-day game jam, so my intention was to spend day four entirely focused on the packaging and polish of the submittal, right? And not having ever submitted one before, I didn't know what was going to be expected. But I also had some thoughts in my mind that were like, I wanted to not necessarily go over and above, but I wanted to make it super easy for people to play. And I didn't realize what itch was going to provide necessarily. And so my initial thinking was like, okay, well, maybe I can, maybe like part of my delivery, my deliverable will be, here's a Docker image and,
Starting point is 00:11:14 you know, Docker run and boom websites up and running, and you can just hit it with your browser. And I was like, that'd be a good start. And then I'm like, okay, I can build on top of that idea, assuming there's time, go a step further and sign up for Linode, use their free credit with the $100 free credit that they're currently offering. And I can put this thing inside of Kubernetes, right? And all of this is while I'm streaming it through Twitch, right? So you can follow along with my dev efforts. And I'm like, that'd be pretty cool thing to do, you know, like, Hey, let's look, you know, let's, let's spin this thing up in a, in a Kubernetes cluster. And I mean, I realized like, you know, realistically, I don't need to support a billion concurrent users, but I felt like, Hey, that'd be kind of a cool thing, right? Like, what if I did
Starting point is 00:12:01 set up auto scaling? Yeah. Right. Thank you you thank you for recognizing Alan I appreciate that but but you know I thought like you know that would be a cool thing to do right like you know let's set up the auto scaling on it and uh you know it'd be a fun little exercise right and and because nothing else like ultimately my one of my goals for the game jam was more about like what am I getting out of it? And what I wanted to get out of it was to learn something. And I wanted to like learn or practice or like, you know, uh, strengthen any muscles as much as I possibly could. Right. And so that's why I was like, okay, the Kubernetes thing will be a cool, a cool take on it. And, um, but what ended up happening though, is like, I kept refactoring so much and
Starting point is 00:12:47 like, Oh, I don't really like how this worked out. So let me refactor this. And then by the time day four came along, I was still like trying to work some stuff out. Um, and, and, you know, I, and I didn't have the gameplay entirely where I had wanted it to be. And so I kept trying to like finish that by on day four. And I never did get it to entirely where I wanted it. But it got to a point where it was like, you know, Sunday evening. And it was like, okay, there's a few hours left. I need to submit this thing if I'm going to submit it. And, you know, that's when I was like, okay, I'm going to scrap the idea of Docker and Kubernetes. And then it was like, oh, hey, wait, what if we just did Netlify instead? Because then with Netlify, I could just point it to a browser.
Starting point is 00:13:33 I'm sorry, a repo. And automatically, boom, there's a website. And a huge lesson learned from... Wow, I feel like I'm going off on all kinds of tangents here. No, it was good stuff. One huge tangent that, in hindsight, I'm like, oh, that was bad. But one huge lesson learned, I mean, was that I think by putting it on Netlify, I realized like, oh, you know what? If itch.io is creating any stats behind the scenes of like, how many times your
Starting point is 00:14:05 game has been played or whatever, like I am, I am diverting. So I'm splitting some of that traffic because like immediately, like I was on Slack and whatever, I'm like, Hey, here it is. You know, here's the URL for Netlify. Um, cause I did that first. Right. And so anybody that went there and saw it, I was likely to not go through itch.io to play it again, right? And because I didn't realize that – going back to the whole submission process, I didn't realize that when you submitted it, you weren't just submitting a URL, right? Right. Like I didn't realize that they had the capability to embed your game and that they would play it. And so now knowing that, I'm like, oh, okay, I would definitely do that different.
Starting point is 00:14:50 Now, why the submission would take me longer, though, what I'm saying is if you look at some of the submissions, because of how I didn't manage my time well and was running short. By the time it did come time to submit, I was tired and everything. It was late. I mean, that final day of – I streamed nonstop the final day for like nine and a half hours. So you're doing that for days. You're just burnt by the time you get to that final day. And what I didn't realize is that you could put together game notes and instructions and videos and all kinds of screenshots. And you could theme the actual page.
Starting point is 00:15:46 So when people would go to your Itch.io page, your game submission, the page itself was themed. And I didn't realize that that was a thing. So that's what I'm saying. I would spend more time in trying to make that also look appealing so that people would be attracted to even click on the thing.
Starting point is 00:16:01 Right. That was a long way of answering your question. I think that was all spot on. I think that kind of leads to my next big point. Sorry, just type in here. This is a mistake that I said I wasn't going to make this time because I made this
Starting point is 00:16:20 mistake before. One of my big takeaways here was I should have started with like the actual core game loop first and what do you mean by that so instead of me browsing images for hours and messing with photoshop and map editors and stuff i spent a lot of time making a map that i didn't use at all yeah and you know how these big plans but by the time i got to actually kind of play in the game and realize oh there's things about this that i thought i was going to like that i don't so i'm dropping those ideas and there's things about this that i think is working more
Starting point is 00:16:54 than i expected so i pivoted away from things i spent a lot of time with and like that's kind of the classic it's like a very non-agile way to do that um now i do think there was value in like having photoshop and using that to lay out my screen. That really helped. But I think that needs to be in tandem with you working out the core game experience. Yeah. I spent $300 on hiring a limousine and discovered that that fee didn't include a driver. I can't believe I spent all that money and had nothing to show for it yeah show for it nice sneak in of the dash
Starting point is 00:17:34 slid that one in right that was pretty good yeah yeah so next time i think i would have just started with that and i would like tried to just have it be playable from like hour one. So you know what's funny about this? So I only got to do this for like, I don't know, four hours maybe. And an hour of that was me trying to figure out how to get the streaming software set up and laid out and configured and all that, right? So I'm streaming me just not even knowing how to stream, which was I'm sure not great for anybody. But, but what I found interesting is I sort of was going to take an opposite
Starting point is 00:18:15 approach is I had some ideas what I wanted to do for the game, but I wanted to see the tools cause I've never done any game development at all. Right. So I got on there and I started with a go dot, right. Cause I was like, ah, this is interesting. Let me download it. Like I, you know, I want to see. And unfortunately when I first started it, I want to say, uh, Devin and Jamie and, uh, there was somebody else on there. I don't remember who it was. But unfortunately for Godot, what they need to do is they actually need to go through and clean up their starter projects. And the reason I say that is I downloaded one of the ones that's like,
Starting point is 00:18:56 hey, download one of these examples. And it didn't bring down the source files. And so when I went to run it, it would blow up. And I'd look at it and being brand new to the IDE or the environment, I was like, I don't know what this is. Right. So I was like, all right, let me trash this. Let me start over again. Let me download the sample project. And sure enough, after I started digging in the source files weren't there. And I was like, oh, well that's garbage. That's that. Cause even the other person, I'm not sure who it was. It was on the channel with me at the time.
Starting point is 00:19:26 He's like, man, I would trash it and move on to something else. And unfortunately, it wasn't the ID's fault. It's whatever package was coming down, didn't have the proper stuff. And I almost did it. I'm glad I didn't. I ended up pulling down another one and messing with it. And honestly, like Godot was pretty amazing. Like, you know, I started going through the IDE and I went through the getting
Starting point is 00:19:51 started tutorials while I was looking at it. And it's really a nice piece of work there. So, you know, I didn't get much further than that because I got called away to work. But yeah, I mean, I was sort of excited about it because just in, in probably the hour and a half that I had to mess with the IDE and everything, I could totally see making a decent game sort of in a fun type of way, right? There's some coding to it, but it's a lot of visual layout and design stuff that you can just sort of plop things in. And it's very component driven, right? So, and they even tell you how to design it.
Starting point is 00:20:30 Like as software developers, like we usually look at architecture and we say, you know, we have a payment system, right? We're going to put all our modules for payments in this one component here, right? And then we have a shipping system. We're going to put all our modules for that and that. Well, they lay it out visually and they talked about in their games, like, let's say that you're doing some medieval game or something, right? You have a knight, right?
Starting point is 00:20:53 Well, you're going to make that knight its own component because you might want to drop it in a castle. You might want to drop it outside. And so they kind of tell you how to lay it all out. So at any rate, it is interesting. Like, I didn't see either of you guys mention, you know, what tool you how to lay it all out so at any rate it it is interesting like i didn't see either of you guys mentioned you know what tool you went to use and for me it was i don't even know what tool to use so i'm gonna go try them all out right there were some cool submissions that were done with godot so that would not have been a bad way to go yeah absolutely and you know i wanted to mention too um so you know part of the time management
Starting point is 00:21:25 is knowing how much time you have like uh you know we like we all took off time for the game so we knew we had you know or we thought we had so much time to spend if you know that you're only going to get three hours in on a game jam that's totally fine and like there i think there was even a feel for like how much time you spent on the jam like just because the game jam is you know however long doesn't mean you need to do anything like that. It's all, you know, about what you can do because it's all about your experience with it and what you get out of it.
Starting point is 00:21:50 And so if you only have two or three hours and you don't know the tools very well, then I would say plan on doing two or three hours of like a tutorial, just like you're doing, Alan. Like if, you know, if you knew that you only had X hours, like do a little tutorial, you know, do whatever Pac-Man or whatever. And, you know, add your own graphics and or whatever, and, uh, you know,
Starting point is 00:22:08 add your own graphics and you're done. And then you've got something out of it. You submitted a game, you know, I think that's a total valid strategy. And so I just wanted to kind of get like Alan. I spent a lot more time on this than Alan for various reasons. So, uh, you know, like just because we spent four days on something, doesn't mean that that was normal. You know, I think most people had far less time than that. I mean, you mentioned like what framework I ended up using.
Starting point is 00:22:33 Like I wasn't kidding when I was saying like I wrote my own – like my game was 100% from scratch. and I started the, you know, day one at the start streaming, like literally saying like, okay, I don't even know what I want to do. Like I took it, I took the, I took the rules to heart where like we said like, hey, you know, you're not going to use like code or assets that you've already created, right? You're going to do everything from there. And I took that like to a ridiculous, uh, level where like, um, I didn't even have a repo. I had no, I didn't have a directory or read me no notes, nothing like literally at the start of my stream. Uh, you know, when I start the process, you see me like, okay, let's, uh, let's, let's get a knit and let's create a
Starting point is 00:23:25 read me and let's start jotting down the ideas. And I had some ideas for what I wanted the game to be. And, you know, I started, uh, you know, writing out some, some rough sketch ideas of, of that, but then where I thought there was a game engine that I, that I thought I could use that I would use for the game. And I'm like, okay, this is the engine I think I'm going to use. Let's go look at it. And when I went to go look at it, I'm like, oh, this is nothing like what I thought it was going to be. And I'm trying to remember the name of the engine.
Starting point is 00:24:00 It was like Idle Game Maker or something like that. Yeah. Yeah, you said it was closed source, right? Well – Because I think I joined your stream for a minute while you were going through all this and you were like, oh, I can't really use that. Yeah. It was – I think it was called like Idol Game Maker or something like that.
Starting point is 00:24:19 Yeah, IGM. That's it. And it was – what I found – okay, so what I was, my expectation was, and again, I did zero research beforehand. So like you, you saw me in real time, uh, as I was streaming, like learn about it at that time. And what I thought, what I was expecting to have happen was that I could like go and download some kind of, you know, package and, uh, you know, it would be like the, you know, the, the, the main game loop or the engine.
Starting point is 00:24:48 And, you know, you would like add in your pieces to it and, you know, way you would go. And what it turned out to be, um, if I, you know, assuming I was reading it correctly was that, uh, you basically had, it wasn't even a JSON or a YAML file. It was just like, here's a text file that you're going to give it. And it's basically like a bunch of key value pairs, but not really pairs. Like they could be multi-value things. So it was kind of YAML-ish, but not.
Starting point is 00:25:21 Their game, your data. Yeah. but not. And their game, your data. Uh, yeah. And, and so you would create this text file and then you weren't even running the tech, the engine where your sort, your destination of, you know, you're choosing instead you would give them the text file in one of a number
Starting point is 00:25:40 of ways. Like either you would like put it up, you'd use something like paste bin and you'd be like, Hey, here's the thing. Or you would like upload it to a website and be like, Hey, here's the URL to my text file. But either way, you were basically giving them as a, as a query string parameter, like here's where the, here's where the source, the text file is. And then you were running the game on their website which totally defeated my original because this is day one so remember i wanted docker and kubernetes so like all of that was immediately out the out of the door and i'm like well that that's not what i wanted to do at all
Starting point is 00:26:15 and like i don't really feel like me writing a text file is in keeping with the spirit of a game jam because like what am i developing then i'm just I don't think I don't consider you know I don't can I compile a text file can I can I unit test a text file I don't think that counts and so um you know I spent I spent some of the time evaluating like well what are my other options for it and you know maybe I could have done more you you know, evaluation of trying, but it, you know, it very quickly was just like, okay, uh, I guess I'm going to, um, concede to like, I'm going to have to write it myself. And then like, what do I want to do? And, um, you know, from my point of view, I was like, well, okay. Um, you know, if we look at like, what's the big three in terms of, again, because if you're doing an idle click game, then obviously
Starting point is 00:27:10 you're thinking, or at least I was thinking a webpage, then it's like, okay, what are the big three frameworks? And I'm like, okay, there's Angular, Vue and React that I could use as the starting point, unless I wanted to go like, you know, jQuery all the things, right? And as I was thinking through it, I'm like, okay. And again, all of this thought process was being shared, you know, in the stream. And I just thought like, okay, well, of all of those frameworks, like, you know, Angular is the, the one that has been the longest amount of time since I last played with it. So it's a lot like lasted any real, try, try to do any kind of real development with it. Not necessarily like, I mean, I downloaded it
Starting point is 00:27:58 and, you know, or, uh, you know, did some like just like NG create app kind of things and experiment. It's like, Oh yeah, I saw that it has the tooling. But when I had last tried to do any development with Angular, the NG CLI wasn't even a thing, right? And so I was like, okay, I think it's time to go back to give Angular another good go again. Plus, as a bonus, I was like, okay, well, my day job, this wouldn't be a
Starting point is 00:28:25 bad thing to know either and so i'll go i'll go with angular so yeah there was no engine for it other than you know angular i don't want to point to though um i don't think we actually had a rule about uh not using any assets like we uh we had i think you were said whatever you want to do is fine as long as you have the rights to it. And I wanted to mention we're very coding focused because No, I thought we did. Really? The opposite. What? No!
Starting point is 00:28:54 You can do it with my anarchy, man. He went the text page route. Yeah, which is fine. That's great. And we got some amazing programmer art. You put your soul into programmer art. And it's really funny and quirky and really cool. But I want to say, too you know it's whatever you need to do like i i would i would consider you creating a game if you used like some sort of framework and like put a lot of time into or put any time into maybe crafting a narrative or you know like i think there's a variety of ways to create a game there
Starting point is 00:29:39 and they're all valid um i think we just kind of have them you know the viewpoint of that so i just wanted to mention that not not to say that you're wrong out loud i think you're you're you know totally right about everything you said where you're coming from i just want to kind of point out that we have a strong bias in that direction we didn't i didn't want to offend anybody because a lot of people did put in a lot of work in just different ways yeah yeah that that's fair and some of the some of the the graphics and the music on some of the games, too, the submissions are just so awesome. Yeah. There's the Mandalorian game, the Mando game, sorry, TM.
Starting point is 00:30:15 The music for it, I was like, I want to download this track, man. It has some bass. Yeah, yeah. I think Galatz Adventure was another one that had had some some base about it if i remember right or maybe i'm thinking the wrong one uh there there was another one oh no no it was that what was the fish game oh the big fishy little ones yeah yeah uh i can't remember the name oh geez we're gonna have to do another one we talk about it we'll do a video or something yeah that was really good yeah that okay that one have to do another one where we talk about it. We'll do a video or something.
Starting point is 00:30:46 Yeah, that was really good. Yeah, that one game was really cool. Yeah, we could talk about mechanics. The game was forever. I just got to call it real quick on that. There's a game where you are a fish and you eat bigger fish and you get bigger. And I kept thinking like, oh, I'm going to eat a couple of these little fish and then I'm going to be the big fish chopping down these other guys. The thing is, as you got bigger, it got harder to maneuver.
Starting point is 00:31:05 So you would think like, okay,'m gonna go eat everybody but it was so much easier to run into these bigger fish and sure there were fewer of them but it was just easier to crash into so it's just it was a really smart way of kind of balancing the game so it was always challenging and as soon as you thought like okay now i'm gonna hit it uh you know i'm gonna run free and kick everybody's butt like it you know it got hard in different ways and then once you did finally like got past that final breaking point it just felt really rewarding to just go through and take care of those last few fish yeah some of the some of them too like um were just well thought out like much better thought out than than where i felt like mine was in terms of like
Starting point is 00:31:45 the gameplay and uh you know like i don't know i don't know if it was like they had already like you know long been thinking about like this idea or something like but it was way better thought out um then well there's some full-time game dev game devs or people that have had this had game dev as a hobby for a long time. It makes it hard to really compare one game to another. You almost have to kind of compare one game. You have to kind of judge it in isolation. Okay.
Starting point is 00:32:13 That's fair. And you know what's cool about this? You can follow people on there. And so if you see someone that has a cool idea or you're like, you can follow them. And next time they do a game jam or if they publish something else, you can see what it is. Even if they're a contributor, they don't have to be the one that publishes it i will say it was a little bit um uh not disheartening but like um it would take it was difficult to not let it take some steam out of your sails because like you know you're developing
Starting point is 00:32:40 a game and then you'd see a submission and you're like oh my god that's so good that's so good oh yeah yeah in fairness i mean just looking at some of these like some of these are things that have been around right i don't know well i mean i'm looking at some of these and they don't necessarily follow the theme and they look crazy polished yeah like more than more than a more than four days worth of work is basically what I'm getting at, right? Well, I don't know, though. I mean, to Joe's point, though, like if you have people in there that were like, you know, game dev is their job or this has been their hobby for, you know, years, then they probably like already have a lot of, you know, thoughts on like the, the, the mechanics and the game loop and all that, like that's second nature. So they're not, they're not really focused on that. Whereas like, you know, day one of my game, I spent a significant amount of time just trying to figure out like how
Starting point is 00:33:38 I wanted the, the, the feedback to happen, like just trying to figure out like how to make that work in angular. Right. Whereas like, I don't know if I had to do it a second time, I would already have some tricks up my sleeve. Right. So it'd be easier to make a, a more polished one.
Starting point is 00:33:54 You know, if I were to do another idle click game using angular. I mean, I'll say too, like I thought in the beginning when I saw something, I was like, Oh, obviously people are just going around cruising for game jams to submit to to get plays.
Starting point is 00:34:06 And so I kind of suspect that. But after I played through, I don't know that I would accuse a single game that I played of doing that. There was one that had these beautiful forests and a path. And when I saw the screenshot, I was like, oh, this is – someone obviously kind of has some tool or some assets. You're talking about Soul Search? Yeah. Yeah, that's the one I was looking at. Yeah, I was like, no way this was done
Starting point is 00:34:28 for CB Game Jam. Guess what? It was two people, and it totally was. And when you play it, it's beautiful. It's like this kind of maze type thing. You go through and you find these lost pieces of a broken soul in order to put together. The game split together. I think they even said that this was
Starting point is 00:34:44 the first game jam they ever contributed to. And so if you read the description, you'll see. And time and time again, I would think like, no way, this looks too good. That game was an example where it looked so good. They talked about the lighting and stuff and how the original plan for the lighting was literally going to take 48 hours to bake.
Starting point is 00:34:59 And so they weren't going to be able to submit the game. And so they had some performance problems because they couldn't do the lighting because of the way. That's just one example. But time and time again, I would think like, no way this is like a game jam game. You know, play it and then read descriptions or see how it tied into the theme. I was like, holy crap. That's really cool then.
Starting point is 00:35:19 Yeah, that's awesome. Yep. And so I wanted to say, and just, you know, kind of like that too, like when you see some of of these things like sometimes it is a team or sometimes they people use paid assets i definitely use paid assets you really have to judge your game against like kind of what you what you did and what you wanted and what time you had and when you have to keep that in mind when you look at other people's games too because it's totally valid for someone to spend one hour on you know a hello world kind of thing try to make something fun and submit because that's totally valid for someone to spend one hour on a hello world kind of thing, try to make something fun and submit because that's all they had time to do. And you have to judge that. When I say judge
Starting point is 00:35:50 too, the categories were fun, creativity, I forget what the three were. It was three very minor things to rate on. So it's not like super grueling competition, who's the best? Battle Royale. It was fun, creativity and quirky.
Starting point is 00:36:05 Yeah. And so I feel like you can tell a game was done by a full-time game dev and someone who's never coded before in their life. And I try to vote on those kind of accordingly based on where I felt the people were. I think most people do that. Yeah, the voting part is hard. Yeah, it really is uh i mean it it's harder than it sounds because like you know after i mean i you know you've been in the trenches right like you you've you've fought those battles you know you you have you have the scars from it right
Starting point is 00:36:40 and so you look at some of these games and it's like even if the games that aren't as well polished then you're still like yeah i i know the pains you went through like i i feel you you know what i'm saying so like it's hard for me to like uh you know to to to feel like you could be to feel like i can be critical about any of them oh for sure i rated very highly i figure like you know the things i i don't think iite very highly. I figured, like, you know, there are things... I don't think I gave below a three on anything. But I figure, you know, like, the games that, like, truly were, like, five stars all around, I figured they'll average to the top.
Starting point is 00:37:14 Yeah, yeah. Yeah, it was good, though. I mean, at the end, I feel like, you know, if nothing else, I'm now a full-time Angular developer. So, you know, you're welcome. Yeah. And, you know, really, though, like, because I was, okay, so a big, huge help to me was the fact that I was streaming it live on Twitch. Like, it might have been, I don't know that I might not have gotten anything submitted otherwise. Um, because specifically I want to thank a column that
Starting point is 00:37:51 he was, uh, um, I think he was from Ireland if I remember right. He, he watched, um, the stream and you know, he had all kinds, he, he's a full-time Angular developer. He had all kinds of tips. He was like, Oh, Hey, uh, you know, that's not the Angular way that you should do this. Like, that's going to cause memory leaks and whatnot. And, you know, he was constantly, like, giving me little tips and pointers and help along the way that, like, you know, had I not been streaming my efforts and, you know, somebody like that able to, you know, that is more experienced to watch and kind of like act as my angular shaman to help me along the way, I don't know that I would have had anything to submit. Yeah, that's a tip I had up there too. Yeah, that's actually a really good point. I mean even in the little amount that I did stream, same type thing, right?
Starting point is 00:38:42 Like people would, hey, why don't you – hey, go look at this over there, go try this. And it's like, hey, that's actually extremely effective, especially when you're learning something, right? And it's just, you know, at times I'm sure it can be a little bit overwhelming if you have a lot of voices in there, which I didn't. So it was actually really useful. I mean, even on like the day one,
Starting point is 00:39:03 when I was trying to figure out like how observables work with Angular, Jamie, GA Progman, he was in there watching the stream, and he was like, oh, I think this is the way, and try this and see if this works. It's just random little things like that that were helping me along the way that proved to be an invaluable resource. So, yeah, I've thought about like, you know, I would definitely stream my efforts again. But, you know, even for like, hey, let's let's learn, you know, a new language, you know,
Starting point is 00:39:38 and just start from scratch and like just jump on a stream and let, you know, others, you know, kind of help along the way because it was basically like it was almost like in a way pair programming but through twitch it was weird right you know and and even at the end overall like i i had mentioned like oh i feel guilty like you know like i was like man maybe you should just submit a pull request column because like, you know, I want that. I want to get logged to show, you know, some of your efforts here. And, you know, he was a gentleman about it was like, no, no, no, it's not necessary. But yeah.
Starting point is 00:40:18 Oh, yeah. Actually, I've seen some of Jay-Z streams and he definitely like when he was doing the 30 days of code or whatever and and that he would go through that right like i think i'm gonna do this and somebody might say something to he's like oh yeah that's a good idea let me try this right so it's it's very much an interactive way to oh yeah let's let's try these other ideas out or whatever like it's truly helpful i mean you you brought up 30 days of code, the advent of code. Like, I was thinking about doing that. I was like, you know, oh, maybe I should, like, jump on, like, a – what's the – Code Warrior? No.
Starting point is 00:40:55 LeetCode? Yeah, or, like, LeetCode or something like that. A Code Wars. Do, like, a Code Wars is the one I was thinking of. Thank you. And, like, just try to do, like, okay, let's just pick some kind of challenge and see what, see how many of these we can get through. Right.
Starting point is 00:41:08 Like, um, but yeah, like I definitely, that was one of my favorite parts about it was it was, it was tiring to be on the stream as long as I was, but at the same time it was also kind of awesome. So yeah,
Starting point is 00:41:22 it was cool being part of events. I know like when I would break for lunch, whenever I'd pop over your stream for a little bit and that was fun. And, uh, I being part of the event because when I would break for lunch, I'd pop over your stream for a little bit and that was fun. And Column helped me out too. Actually, one of the first versions of the game, I had an idea for a flying boar boss named Column after Column got cut, unfortunately.
Starting point is 00:41:39 And Dsquared4, Daniel, Absolution, Devin, and Caprogman. You know how many different languages Mr..NET Core, Caprogman, Jamie has helped me with now? Right. He's helped me with Python stuff, Kubernetes stuff,.NET stuff. I mean, it's just crazy. That guy. That guy.
Starting point is 00:41:59 Speaking of lessons learned, though, I definitely learned a valuable lesson from the twitch raids oh yeah that yeah such a great idea is it because i don't know maybe i'm doing it wrong what is it i'll tell you what i thought it was and maybe we go from there and somebody could tell me what it actually is because what i thought it was going to be would be like, um, like Joe and I would get into a raid together and basically like, you know, whoever's like, you could see both chats happening concurrently. Right. It's what I kind of thought it was like, you know, group party kind of thing. But at least the software that I was using, I was using OBS Studio. When I went into the raid, I no longer saw my channel's chat.
Starting point is 00:42:54 I only saw Joe's. And so I didn't realize it, but there was like hours of conversation that were happening in mine that I totally missed, that I didn't realize it. Oh, that's why. Okay. Yeah. And then Joe pings me later and he's like, hey, man, you ever going to read your chat? I'm like, what are you talking about? I'm totally reading my chat.
Starting point is 00:43:14 Here's the last thing that was said. And I'm like, what is he getting at? And then I went poking around and saw that even after you had left, it was still showing me your chat. And that's when I realized, like, oh, man, I've missed all this stuff. Like, yeah. So I don't understand the point of the raids. I got to, like, figure that out.
Starting point is 00:43:37 Yeah, I'm reading about it right now. It's totally not what you thought it was. So for me, what I would do is, like, if I was streaming, I had a couple people in chat, whatever, I'd be like, okay, I'm going to break for lunch. Let's find somebody who's doing CB Jam. There's times I would look at the hashtag, I would search Twitch, and then if nobody else, I would go to
Starting point is 00:43:55 an Allen or Outlaw just because I'm trying to spread the love and not support my friends, which seems a lot. But yeah, I wanted to share the love. I'd always try to find somebody that was streaming. And whenever I was done, I'd raid. And what that does is it dumps everyone who's watching you over to their channel. And then you can leave whatever and you just kind of leave them there.
Starting point is 00:44:13 So it's a great way to kind of introduce people like, hey, I see Progman's streaming. Let's go over there and we're going to raid. And then I'm going to go to lunch and you guys are all here. And if you want to go or somewhere else, that's fine, whatever. But it's a, it's a good, good chance to kind of introduce audiences to new people.
Starting point is 00:44:29 So all it is, the key is after you're done with yours. Yeah. Okay. So, so it's just dumping your viewers into another channel. Yep. Yep.
Starting point is 00:44:41 And it doesn't necessarily stop yours, which was actually a mistake. I mean, there's a point when I, I think I rated outlaw hung around for a few minutes and then went and got food. And it doesn't necessarily stop yours, which was actually a mistake I made. There's a point when I think I raided Outlaw, hung around for a few minutes, and then went and got food. And someone messaged me and was like, hey, by the way, you're still streaming. And I looked and I had gone to Hacker News afterwards. I was taking a little break. I was watching Outlaw's thing.
Starting point is 00:44:59 And so part of my screen was weird because it was like an obituary for somebody in computer science, whatever, that died. So I was just kind of reading about their contributions. It was like, oh, that's pretty awkward. And it would have been up there for like 45 minutes while I went and got food. It's like, man, I hope I didn't take a shower walking for – my shower is right next to my camera. You know what I'm saying? No. No, I don't know what you're saying, and I don't think I want to know.
Starting point is 00:45:23 I could have been in trouble there. This episode is sponsored by Datadog, the monitoring and security platform for end-to-end visibility into modern applications. Security threats in cloud-based environments move fast, which means that security teams need to have the same visibility into their infrastructure, network, and applications as developers and operations. With Datadog security monitoring, engineering teams can easily detect malicious activity in real time before it affects their customers. And, I mean, you've heard us talk about this before. They have 400, it's incredible, 400 plus integrations. And when we talk about, like, Dat dog knows no, they have no balance. So when we talk about like using data dog for security monitoring, I mean, they have, uh, integrations built in integrations for like Okta vault G suite off zero, you name it.
Starting point is 00:46:16 They've got you covered it for whatever your monitoring needs, especially security. And that's really important because as your applications grow and evolve, it can be really hard to know what's going on, really hard to diagnose problems when they happen and even know when problems occur, which is really scary, especially when you start thinking about things like security. So you can use these out-of-the-box detection rules and detailed observability data in one uniform, excuse me, unified platform to investigate security attacks. Yeah, so you can see it in action by signing up for a live security demo.
Starting point is 00:46:51 And you can also receive a Datadog t-shirt by visiting datadoghq.com slash codingblocks. Again, that's datadoghq.com slash codingblocks. Okay, so it's that time of the show where we ask again, if you haven't had a chance to, and you would like to, you know, put a smile on our faces and give back to us a little bit, if you wouldn't mind going to coding blocks.net slash review and hitting the
Starting point is 00:47:16 link there to either leave us review on iTunes, or maybe we'll update this to go to audible as well. That would be amazing. I mean, that's, it truly does mean a lot to us when we get to see how we've impacted people's lives and you know, whether or not we're just giving somebody a laugh on their commute. So if you have a chance, please do go do that. All right. And with that, we head into my favorite portion of the show. Hey,
Starting point is 00:47:43 wait a minute before we do, uh, why didn't it take Dad an hour to choose which skin cream to buy? I don't know. I don't know. He didn't want to make a rash decision. Oh, my gosh. All right. With that, we head into my favorite portion of the show. Survey says.
Starting point is 00:48:03 All right. Um, so a few episodes back when we were talking about a game jam and, you know, we were still all, uh, you know, uh, like optimistic about where it would go and, you know, these grand visions and ideas of like what we would do. We asked, what kind of game do you want to make? And your choices were puzzle, because I want my players to suffer as I have suffered making this game. Or first-person shooter. What else is there? Or roguelike, because procedural generation is kind of like a game for the programmer. Or RPG.
Starting point is 00:48:48 It's kind of like writing fan fiction, and that's awesome. Or platformer, like Mario, not the shoes. Or racing, because mama, I want to go fast. I forgot we just left the other noted here. Or a turn-based strategy because all your base are belong to me. All right. So let's let Alan go first. Oh, wait.
Starting point is 00:49:17 No, no, no. I'm sorry. With our strategy from T-Tutco, it would be Alan's turn because this is odd. An odd-numbered episode. So the odd one gets to pick. We'll call you the odd one. What kind of game do you want to make?
Starting point is 00:49:36 I'm going to go with Platformer. Because we all love Platformers. Whether or not we play them every day we all know we spent hours and hours playing mario so i'm gonna go platformer and there's a lot of decisions here so i'm gonna say 28 okay platformer 28 there was actually some platformer games yeah a lot yeah maybe even most adventures most. Adventures of Mathema Chicken.
Starting point is 00:50:07 Yeah. Yeah. I think that platformer is probably the answer, but I'm going to go with puzzle with 25% just in case. Okay. So platformer at 28 for Alan and puzzle at 25 for Joe. Puzzle would have been my second also. Okay. Well, then in that case, Puzzle was second.
Starting point is 00:50:29 So you would have been correct with that guess. But first place was Roguelike. Yes. So you're both wrong. Yes. Yes. Wow. That's awesome.
Starting point is 00:50:41 Yeah. Roguelike. 22% of the vote. Oh, so it was spread out pretty even then. Yeah, it went roguelike, puzzle, turn-based. Those were top three. And turn-based and puzzle were tied at about 19% of the vote. So, I mean, between those three, you're pushing like the 60% of the vote right there with the rest being spread around.
Starting point is 00:51:07 Platformer was actually much lower at 13%. Wow. I would have guessed that was – it seemed like most games were platformers, but maybe. You know, it's never just a platformer. It's almost always like platformer with a puzzle or platformer with. Right. I mean, what's Terraria? That's a – that's platformer with. Right. I mean, what's Terraria? Is that, that's a,
Starting point is 00:51:28 that's crafting former crafting. Yeah. I don't, yeah, I don't know what you'd call it. Okay. Side scroller action. I don't know. Right.
Starting point is 00:51:36 Isn't that what a platformer is? And at the time, like, you know, uh, my genre isn't even on there, you know? Oh,
Starting point is 00:51:44 right. We didn't even think about that at the time yeah that's funny so yeah uh it's all interesting though my game was more like a clicker kind of in some ways anything else like not not it's like click without the clicking uh clicker this is all about timers well you know another another type of game that we didn't mention that's a favorite of mine, one of my favorite genres for you don't have to put a lot of brain in it. Can I guess? Yeah, go ahead for it. Tower Defense.
Starting point is 00:52:15 Yes. Yes. And there were some Tower Defense games. And when I saw them, I was like, oh, my God, why didn't I think to make a Tower Defense game? Yeah. I love those like my first my first experience with tower defense games was literally called desktop tower defense oh that one was so good oh god i love that game yes yeah the game was so good man did you ever try to do the
Starting point is 00:52:37 level where it was like uh you start out with like i don't know like a million credits and you and you could just build whatever map you want but yet you've got to survive 100 levels and the creeps would just get super hard. Did you ever play that level? I don't know if I did that one, but I played levels like it. My question is, how long did that particular
Starting point is 00:52:57 one take? To make the... Like the 100 levels? I mean, were you sitting at your computer for like 10 hours oh and 100 waves of enemies no yeah it was 100 waves like it it that to play that i mean it was i think like a 45 minute to an hour long investment to oh that's not terrible okay um if i remember correctly but it it took me a while to figure out like how to do it. Like I ended up beating it by doing this like juggling act, you know,
Starting point is 00:53:28 where that was like, if you've never played the, played the game, then that probably doesn't make sense. But desktop tower defense was one of those tower defense games that like a lot of tower defense games have a preset map, you know, preset route that the creeps have to follow along. Right. Like balloons is another current one map, you know, preset route that the creeps have to follow along, right? Like, uh, balloons is another current one on, um, you know, for like the iOS, there's multiple versions. Actually it's on every platform really. But, um, uh, but you know, they have like a preset route already and you're just putting your, your towers around that map. But one of the things that I
Starting point is 00:54:03 loved about desktop tower defense that was kind of unique to it is that it was an open map. But one of the things that I loved about desktop tower defense that was kind of unique to it is that it was an open map. Like you made the path where you wanted the creeps to go and, you know, would then put your towers in place. And because of that, you could do this thing where you could, um,
Starting point is 00:54:20 uh, you could never like, you can never make a closed path. Like, you know, cause then the creeps would just not go down that. And, and if that was the only route, if you try to close the only way, then it wouldn't let you place a tower there. So, um, what I later figured out was like, you could make this like windy route that had like two exits and you would just juggle uh you know you would toggle where they you know which side was open and that way you could keep all the creeps inside of your map
Starting point is 00:54:51 for as long as possible so that you could they get close to exit a and then you delete you you open up so now both exits are open and then you close exit a so they have to go backwards to get yes exactly sorry that was a much better way of saying it. Yeah. Oh, no, I mean, only because you set it up. So you would keep juggling it like that because in that 100-level version, 100-wave version that we're talking about, by the time you got into the last 25%, they were super, super hard. And the ones that were super annoying in that game were the creeps that could fly because it didn't matter what your ground strategy was. They weren't going to go that way anyways. Like there was no juggling the flying ones. They were just going to fly over it, period. Yeah. So yeah. Such a good game though, man. There were several games that, or not several several games that had variations on towers breaking down.
Starting point is 00:55:47 So it was so funny to think like, okay, this one's getting passed, but it's fine. I got a strong backlight. Oh, it's all gone. Yeah. We go, ah, fix him up. Yeah, and that was another good thing too about the desktop tower defense that had this interesting spin on it. It would get progressively slower to destroy a tower so that that juggling that you're talking about about like where you would you know
Starting point is 00:56:12 um you know destroy the tower so that you know it was like you'd sell the tower back um so when you would sell that tower to open up exit B, like it would get progressively slower each time that you would do it. And you know, you're getting less money than you pay for it. So you had to like keep that idea. You know, you had to, you had to have an idea of like how much you have to spend on it as like,
Starting point is 00:56:37 can I afford to, to sell this right now? Cause I'm not going to be able to afford to rebuy another one. Um, yeah, it was, it was a fun game, but yeah, I don't know. All right, so for this episode survey, we ask, hey, what's your favorite lesson learned from Game Jam? And your choices are, less is more, or focus on playability or just like Johnny five need more graphics. Oh wait, input, uh, or don't worry about graphics or think like a player or, oh my God, I need to theme the submission page or include instructions video and or screenshots with your submission
Starting point is 00:57:26 so it'd be interesting to see like what that what that comes out this episode is sponsored by data stacks if you've done curbside pickup from a major retail store checked pinterest or watched a movie on netflix you're already a Cassandra user. Why not make something amazing with Cassandra yourself? Yeah, DataStax Astra does the heavy lifting of managing infrastructure, serverless scaling, operations, creating data access APIs, all so that you can focus on the code that matters to you. Astra automatically provides standard developer-friendly APIs like REST, GraphQL, Schemeless JSON documents, and even their native CQL query language. It's like an easy button for a scale-out, always-on database-as-a-service that spans the globe. And I've been really excited
Starting point is 00:58:20 about Cassandra for a long time, and we actually got a really amazing tour of what Dataset has to offer. And it is just dead simple to get started with and get going, which is fantastic because, you know, it's hard to find time, right? And that's kind of the limiting factor in playing with new technologies. And they've really made it easy and powerful to get started.
Starting point is 00:58:39 And so I'm really excited about getting my hands dirty. Yeah, and like Joe said, you can start building your applications faster. You can use REST and GraphQL, JSON document APIs, all from day one, scale elastically with it. You can eliminate the overhead and the time necessary to install and operate and scale your own Cassandra cluster. And instead, using data stacks, you can have a Cassandra environment where you can deploy to multi-cloud, multi-tenant, or dedicated clusters on AWS, Azure, or Google, your choice, whatever you want. And you sign up and start within minutes. You can have up to five gig free, no credit card needed, Cassandra cluster running.
Starting point is 00:59:26 Yeah. You can get started on any cloud, just like Michael said a second ago, in five minutes or less. Go to datastacks, that's with an X, datastacks.com slash codingblocks. Again, that's D-A-T-A-S-T-A-X.com slash codingblocks to sign up today and get a free $300 credit with promo code coding blocks. All right. So on with the tips.
Starting point is 00:59:51 One thing that I kind of really noticed afterwards is that some people really played into the theme in a deep way and it really worked. And sometimes people tacked it in, tacked it on and some people didn't do it at all. And I, I think that, um, you know, like there was was kind of a little bit in my mind when I was rating games afterwards where
Starting point is 01:00:09 if it didn't seem to fit the theme at all or less, then it was kind of maybe I wouldn't rate it as high. The ones that really went deep in the theme, I think I did. Ultimately, I think my experience with the game wasn't really affected that much by how much I put in the theme.
Starting point is 01:00:26 So I think Nick's Game Jam, if I couldn't think of something that really worked with the theme, I would just do whatever I wanted anyway. I think that's fair. I mean, the theme shouldn't stop you from having fun and learning, right? If you want to do it and just go after it. Yeah, I think what I'm trying to say is that like, if you've got a good idea that works with theme, awesome, go all in.
Starting point is 01:00:48 But if you don't like, don't feel like you have to kind of, you know, shove it in there because like after playing 46 games, you know, there were a couple that you could tell kind of struggle with trying to figure out the theme. It's like,
Starting point is 01:00:59 it's almost like, just don't, don't even bother because I'm playing, you know, 45 other games that did go into the theme. I feel like – I don't know. I felt like it was optional. But of course, the ones that really went game jam, I did have a couple ideas in my mind.
Starting point is 01:01:31 And that Wednesday when we did the drawing, there were four choices, but there were two of them that I was like selfishly like, oh, my God, I hope it's one of these two. I hope it's one of these two. I hope it's one of these two. And it was everything is broken and it's not a bug. Those were my two as well. Yeah. I was so hoping that it would be one of those two because the ideas that I already had, I was like, okay, I can fit either of these ideas into those themes. I can make it work for either one of those themes. These other themes, like, oh, I don't know. I'll have to figure – I would have to, like, rethink that. And, you know, sometimes just trying to, like, get the creative thoughts, you know, started can take some time. And I'm like, I don't want to waste any time with just trying to think up a theme for the game
Starting point is 01:02:26 or an idea for the game on day one of the jam, right? I at least wanted to go into it with that theme idea already in mind. Yeah, I should mention too, I think Dave originally suggested, super good Dave Follett, three of the final four, I want to say, theme ideas. And not only that,
Starting point is 01:02:45 but like he actually, you know, I talked to him a lot before we were like, as we were kind of playing the plane jam, he didn't, he didn't end up being able to participate in like make a game. And unfortunately, but so much of what we ended up going with,
Starting point is 01:02:57 with like rules, even how we voted on the theme and all that stuff were his ideas, even the final themes that we ended up. So I just want to give him a special shout out for, for really being such a big part of this kind of behind the scenes. Oh, on the theme and all that stuff were his ideas, even the final themes that we ended up. So I just want to give him a special shout out for, for really being such a big part of this kind of behind the scenes. Oh, I found the other two. The other two were end of the world and evil is okay.
Starting point is 01:03:14 Oh yeah. I liked all of them. It's not that I didn't like any of them. It's just that I had like an, I had some game ideas already in mind that would fit well with, uh, the other two two plus just like also kind of being selfish about it from like a um you know this show and the audience like it's all about you know developers more than that's the the central theme of the show right in the community
Starting point is 01:03:39 and so i'm like okay those those two everything is broken and it's not a bug are really like dev like you know so i was kind of like oh that'd, everything is broken and it's not a bug, are really, like, dev-like, you know? So I was kind of like, oh, that'd be kind of cool if it was, you know, more Cody-like, you know? Yeah, we talked about maybe doing another episode about, like, kind of our favorite in-game mechanics and stuff. Like, you know, I don't want to drive people nuts, you know, so I don't know if you guys are sick of hearing about the game Jammer or not. I hope not. But there's so many games I want to tell you. I'm just like, oh, did you play the one where – that were just so good.
Starting point is 01:04:09 They're relevant to programming stuff, especially with the theme being everything is broken. So many games played into the notion of the game being broken or the controls being broken or you having to do things in order to fix the game in order to get – just so creative. And I just think funny. So, uh, you should definitely check those out. Maybe, maybe we'll talk about it in a future episode. Maybe we won't. I don't know.
Starting point is 01:04:35 But, um, just wanted to mention that the theme ended up being way cooler than I thought it would be. Yeah. Hey, I have a question for you guys. So a few episodes back, I think when we were doing the DevOps stuff like we had had a question that we had posed to each other like hey if you had the top three things to focus on something like that right oh yeah security
Starting point is 01:04:53 right the development or the deployment pipeline the build pipeline all that kind of stuff right did any of you guys follow with what you said there like did any of you set up a build pipeline did any of you set up did you do any of you guys follow with what you said there? Like, did any of you set up a build pipeline? Did any of you set up – did you do any of that? I cheated.
Starting point is 01:05:11 Oh, okay. So I cheated in that I created a sampled game jam private, and I created a game and submitted it. So I knew what that process was like, and I was able to discover a couple of tools for deploying Python to Windows as executable and using a tool from Itch called Butler
Starting point is 01:05:28 that made it easy to like deploy releases and stuff. So for me, it was like I didn't automate it fully. I didn't set up like Jenkins or anything, but I had two commands. I would like actually run in the IDE. I would run a build configuration
Starting point is 01:05:39 to do my publish, which would like set up my, would generate all my binaries. And I had a one-liner that would just copy and paste that would actually upload it. So I didn't even have to think about it. So in a sense, I did kind of set up my pipeline, or at least
Starting point is 01:05:52 I had my pipeline strongly in mind when I started. That's cool. Did you use any source control? Oh, yeah. You did? In fact, Absolution 1383 noticed that my git pushes to main were failing. And I had done all this programming stuff.
Starting point is 01:06:11 I didn't realize I had never actually pushed to GitHub. But it was because I had checked in some PSDs that were hundreds of megabytes. And GitHub has a hard limit on 100 megabyte files. And so I ended up trying to figure out how to delete those. But, of course, they were in the Git history. And so I just ended up wiping all my history because, you know, I don't plan on maintaining this version of the game. So it wasn't a big deal. But that was like one of the things where I had to spend like an hour or so trying to figure out how to kind of clean up my get history because I goofed up. So real world learning on the fly.
Starting point is 01:06:39 Yeah, totally. All right. What about you, Outlaw? I mean, it was something, again, you you know go back to like where i had started day one right you know docker was on my mind kubernetes was on my mind so i definitely had uh a pipeline idea in place and because also like scaffold like if you were to look at my readme like you know i talked about like hey maybe i can you know, I talked about like, Hey, maybe I can, you know, use scaffold dev for this thing. So it was definitely on my mind, but then because I was able to cheat it because, um, because I was able to, you know, because I used angular and ended up creating my own thing from scratch, I could just NG test NG serve and NG test the thing. And, you know, I never had to worry about anything. Like every time I was saving files, like it was, uh, automatically, you know, rerunning all my unit tests. And I was constantly
Starting point is 01:07:31 like, I got some jokes from, uh, you know, I'm not going to say from which one of my co-hosts whose name might rhyme with, uh, Mo, but, uh, I got some jokes about like the, uh, you know, I was, I was constantly adding unit tests to my, to my code, which actually ended up being like helpful. I mean, there were definitely times where I was like, okay, I got to refactor this stuff and I would refactor something and then a test would fail and I'd be like, oh, what did I do wrong? And, and then I would figure it out. So like that ended up being a big thing. And then I was able to further iterate on that whole pipeline idea. Like I said, because I used Netlify. And so then every time I would get push,
Starting point is 01:08:14 you know, Netlify would automatically redeploy my app for me. And so, yeah, I would say that, you know, just because of the choices that I made, I ended up having a very strong pipeline and experience. So definitely focused on CICD, whether I wanted it to be or not. And you said you use Netlify, so that basically means that you were also using Git for your source control then, right? Yeah, I was just pushing everything up into GitHub. So, yeah. You used Git? Hmm.
Starting point is 01:08:51 Sure. Right? This guy used Git? Right. You know, I think the only question that a lot of us are asking ourselves after having played, you know, done the game jam and playing some of the games is, you know, are you falling in love with the mirror? I think that's the big,
Starting point is 01:09:07 the big question, the big takeaway from the game. Are you falling in love with the mirror? Oh yeah, I definitely did. My game's awesome. Do you know, you don't catch the reference?
Starting point is 01:09:19 No, not even a little bit. Really? Okay. You don't either. No, I'm just saying there is a game that you've got to play that I know you've played, Joe, but if you haven't played it yet,
Starting point is 01:09:31 Alan, there's a game that you've got to play that it's so hilarious because during the game, it'll be like, it's all robotic voice, too. It's like, are you falling in love with the mirror? Oh, my gosh. I totally forgot.
Starting point is 01:09:46 Dude, that game was crazy. That game. So that was one of the games where I was like, there's no way that someone just did this for CB Jam. The game photo, the screenshot, title screen. A little questionable, but yeah, whatever. Yeah, it was risky. I was like oh geez i gotta play this one just to make sure that it's not awful you know it's like something i need to
Starting point is 01:10:10 you know we need to remove this game uh i played it and it actually did kind of factor into like broken relationships and um it was this crazy like runner game that was really fast and scary and when you would trip on these weird broken bodies and say, are you falling in love with the mirror? The game was awesome, man. I think I know which one you're talking about. I will give it, I will give it a shot.
Starting point is 01:10:33 I have not had a chance to play any of these because work has destroyed my life. When you do get a chance, man, you should like, Hey, you should stream it just for fun. But so many games,
Starting point is 01:10:42 you're just going to laugh and laugh and laugh at the ridiculousness of some of the things that happen. Oh, that's a really good idea. I think that maybe what I do is I'll go through and stream playing these. And yeah, because I can't actually rate them because I didn't submit a game. Oh,
Starting point is 01:10:54 right. Yeah. I can't rate any of them. So maybe this will be my way to give some feedback on some of these, but can air comments open then? Yeah. Yeah. You can comment. Yeah. you can comment yeah i can comment but i can't rate them yeah this is what there's so many times i just laughed out loud at the brokenness
Starting point is 01:11:12 of something where you're like yeah um there's a i think you play this one as like a like a circle game or marble game where you're like the keys would change on the directions and so it'd be like okay they just changed now in order to go left, I need to push this button. I would push the wrong button, and it would just roll off a cliff. That game was called Frustrating, and it totally lives up to its name. Because, yeah, it totally threw me off. I didn't know what to expect. And the way I was playing it embedded through Itch, like when it would show you the controls, they were like a little small,
Starting point is 01:11:44 and I was like, okay, I were like a little small and I didn't like, I was like, okay, I know the WASD keys. I don't, I don't need to pay attention to it. And I didn't realize that it was telling me that, no, they're remapped. You need to pay attention to it. And so I'm like, wait, why is this not working? Like everything is literally broken in this game. Like, why is it not working right?
Starting point is 01:12:01 And it was so, it was like such a mind – what's a polite way of saying this? A mind – Screw? Mind? Yeah, something like that. It definitely messed with your mind. How about that? Yeah.
Starting point is 01:12:16 In trying to like get to the end. But then when you finally do get to the end, like I was like – every key stroke that I would use, I would do like, because in the beginning you're like just hammering through the keys, moving along. But then when you get to the end you're like, okay, one key at a time. So that's basically like typing on the moon lander. Is what you're saying.
Starting point is 01:12:39 You can't mess up because you have to go back to the checkpoint. There's things that I've even had in checkpoints. Oh yeah. That was another thing that was so smart that several of the games had was like a checkpoint. I was like – Yeah. So you don't have to replay the whole game. Yeah. Yeah.
Starting point is 01:12:53 I think we talked about Galat's Adventure was one of those where it was like, you know, there were definitely parts of that game where I had trouble like doing the double jumps. Oh, yeah. I could never get my timing right on some of the, some portions of it. And I was like, Oh man, thank God I'm not starting over from the very beginning because of, you know,
Starting point is 01:13:12 like I can't get the timing right. Yeah. And you know, that's one thing I, one of my tips is I think about the player over and over and over and over again, because like with the game jam, like chances are most players aren't going to spend more than like five 10 maybe 15 minutes like 20 is pushing it for how much time they're
Starting point is 01:13:29 going to spend on your game so like you really need to make it easy to understand what the goal is what they're supposed to do like make it dumb like i saw a lot of games that was really great idea like they would just have the instructions or like you know how to jump or whatever just in the map on the back wall you know just like text just plus this to jump um uh there were a couple too i just had to mention where um you could affect parameters like shooting speed or jump speed or um you would kind of hack different items in the game to make them do things and man it was so much fun to just put ridiculous numbers it was like so there's a game where you could like set your the gravity like the jump speed and man i would like first thing i do is like set to a million just like off the map oh it was just it left these fun moments because you gave the players
Starting point is 01:14:12 freedom and so i i think they did a great job great job with that i mean in talking about like um thinking about the player or think like a player like one that that i thought was just incredibly well done in that regard was uh heartbreak like yeah it really gives you the instructions to like hey here's what you can do like and here's what you need to do like there was no question about that right like um i know like in my game there were people that were like wait i don't understand like how do i get to this how do i get to that and that was like one of the things that I didn't get to. Cause there was, I had left a space for where I had wanted like instructional messages to go and ran into some trouble getting, you know, uh, just, you know, the angular food that I needed in order to like figure out how
Starting point is 01:15:04 to make that part work the way I wanted it to. And so I didn't do that. I had people that were like, hey, how do I do this? And I'm like, oh yeah, well you gotta blah blah blah. But it was the fact that I had to go back and explain it. But then you have a game like Heartbreak where it was constantly walking the user through, here's
Starting point is 01:15:20 why this matters. Here's what you gotta do. Here's the objective. Go do this. And things like that. It was like, oh, that's such a great idea. Yeah, and a lot of the game design, like you mentioned, frustrating. There's another game where you go through a tower. So the first level, basically, you would have to try to die. And the second level would introduce one challenge that kind of taught you some other mechanic.
Starting point is 01:15:42 And it would just kind of ramp up until the end. You're doing these complex things. And so it was a really smart way of teaching the player without it being boring. And I think the Vescu's basically had a good way of teaching you and ramping up the difficulty in a good way. Yeah, yeah. This episode is sponsored by Linode.
Starting point is 01:16:00 You can simplify your infrastructure and cut your cloud bills in half with Linode's Linux virtual machines. Develop, deploy, and scale your modern applications faster and easier. Whether you're developing a personal project or managing larger workloads, you deserve simple, affordable, and accessible cloud computing solutions. Get started on Linode today with a hundred dollar free credit for our listeners of coding box and i i can't emphasize that enough a hundred dollars in free credit when you go and sign up you can find all the details you need at linode.com slash coding box to take advantage of this offer linode has data centers around the world with the same simple and consistent pricing
Starting point is 01:16:41 regardless of the location. And so I mentioned, I think last time that I set up a Kubernetes cluster with three nodes, turned out I was running Elastic, which by default wanted a little bit more memory. So I just went ahead and killed that cluster and started up a new one with two nodes with a lot more memory. And I did that like another five minutes, especially since I've done it again. And it's looking like I still have like another two months of that free credit to go so who knows maybe i'll knock it down again and see what else i can do which is really just great to be able to kind of spin up those those nose and get my hands uh you know hands dirty uh messing around with the stuff and it's i mean just
Starting point is 01:17:18 been dead simple they just drop the things give me the info just to drop in my cube context so it's just it couldn't be easier to set up. And I've been really happy with just click, click, boom. Yeah. And I think it's really important to understand that that a hundred dollars, it only, it only gets charged up against while those nodes are running. So if you spin up a cluster and you want to play with Kubernetes or elastic search or whatever, and you only have it running five minutes, you didn't really spend any money. So, you know, just know that you can go play around with things and explore their environment with the nodes and the various different pieces they have. And you can do it relatively inexpensively. And that $100 can go a long way. So it's definitely
Starting point is 01:17:58 worth checking out. So you can choose the data center that's nearest to you. You also receive 24-7, 365 days a year, human support with no tiers or hands-off, regardless of what your plan size is. You could choose shared and dedicated compute instances, or you can use your $100 in credit on S3-compatible object storage. Guys, that's a big deal, right? Whatever code you write here will work on this AWS or, you know, anything that has that same compatible API. And you also have access to manage Kubernetes and more. And if it runs on Linux and I mean, everything runs on Linux, right? The world runs on Linux. It runs on Linode. Visit linode.com slash coding blocks and click on the create free account button to get started
Starting point is 01:18:45 well i got um one thing i mentioned oh do you have something no i was getting ready to say i think it's the this one up here is somebody mentioned use tools yeah so uh you know like uh if and if you don't want if you want to go from scratch that's fine too but um i used a couple tools like um the one i really want to call that is Tiled, which let me do some really cool maps really quickly. And then drawing them was simple. It was basically like I imported a library. It was like library.draw. And it just rendered my background.
Starting point is 01:19:15 And I was able to do all sorts of cool stuff like that. And, yeah, there was some learning curves I recommend spending some time up front to kind of learn in. But, I mean, it just really ramped up how quickly I was able to do some things, which is good because I ended up not using the map anyway. So, you know, it's good that I didn't spend a whole lot of time rendering and drawing tiles and stuff. So what did you think of, because you did your game in Pygame. Yep.
Starting point is 01:19:38 What was your takeaways from that? Did you like it or not? Oh, it was great. I mean, it's fantastic. Pygame is a really good mix of like um being simple uh and not offering you too much like it's got methods for sprite drawing and sprite hiding and uh play sound and you know loop sound and like things at a very low level um so you know no shaders no meshes no you know whatever. But it was really good. As a programmer, I just want to make this thing move up by 10.
Starting point is 01:20:10 And so it gave me easy ways to do that. When I mess with things like Unity, sometimes it would be kind of hard because it was so advanced. Like, well, first you got to set gravity and then you got to set to this platform. And, oh, it didn't work because you got to go right-click this thing. And all those things make the experience better, especially you know especially putting a lot of time into the game but it kind of makes it harder as like a developer who just wants to make it move by 10 you know because you've got to go through their layers of abstraction in pi games in ide like godot and unity and all that stuff no no it's just to import oh
Starting point is 01:20:42 okay so you were having so when you said move by 10 you're talking about in code move by 10 yeah literally i got sprite finance rectangle move by 10 you want to know if it collides with something be like well does this rectangle collide with that rectangle okay so it's it's definitely more for the hardcore wanting to to get some text out there that's i think that's one thing i appreciated about the Godot experience was what you were just saying about setting gravity and all that stuff. It was there in the tool bar, right? It's almost like the Visual Studio for WinForms type thing.
Starting point is 01:21:16 It's just really well done. So, yeah, that's interesting. Okay, so in import, you basically had a library you were working with. Yeah, and if you're collaborating with people, I mean, having that stuff so you don't have to teach them, well, here's how I do gravity or here's how I do rigid physics or rigid body or whatever it is. Everyone who knows that tool has those things in common. So, I mean, that's definitely the way to go, especially if you're new. I would say it's much better to use a library or like a tool like Unity or Godot or something because they kind of teach you the concepts and teach you what patterns make sense.
Starting point is 01:21:48 If you don't know what patterns make sense, you can get yourself into all sorts of trouble. Like, you know, that's what I do all the time. But also, I still like it. So, you know, I was really happy with Pygame. I wouldn't do it again because I couldn't figure out a good way of running it in a browser. And, yeah, I know there's ways to do Python in the web of silly, but there's a lot of stuff in Pygame where it uses
Starting point is 01:22:05 your specific operating systems, like graphic libraries and stuff, to render. And that stuff just doesn't translate. And so there's some people that have ported parts of it, but it was just going to be a total time sink, I think. And I knew that going in, because I had tried for a long time, and I just
Starting point is 01:22:22 decided to do it because I really wanted to use Pygame. I wanted to learn Python better. So, you know, mission accomplished. I knew, but, uh, next time, nah. Okay. Yeah. That was one of the takeaways that I was curious about. It's like, you know, would you do it again? And did, did you like it enough that you would use it again? So the answer is no. Yeah. I wish if I could do, if I could, you know, publish, um, cross a browser basically, um, then I would do it, absolutely. So I think the key thing here, though, is what you guys both alluded to earlier on, is kind of know what your goals are going in, right?
Starting point is 01:22:53 Yeah. Like, your goal was to create a game, but it was also to learn Python. And so you accomplished both of those, right? Well, I think that was the goal for both of us, though. Because, I mean, again, mine was to, you know, I wanted to learn and, you know, build strength in certain muscles, you know. Right, right. So that's cool. But, I mean, it does point out that it was a very targeted, specific thing for this game jam.
Starting point is 01:23:17 You just wanted to learn Python while you were doing this. You did it, so next time you would use a tool that you feel would be better for the game development yeah and i didn't i didn't go out like hardcore trying to figure out all the standard libraries and stuff i just wanted to build up a base level comfortability so that next time i need to create a function i don't need to go look up the sun the syntax and what's the deal with self and how do i do a module so like i just wanted to like kind of repeat some of the most basic stuff about the language until i don't have to think about how to do a for loop or how to loop through a collection or whatever. I just kind of know the basics enough to not be frustrated.
Starting point is 01:23:48 Hey, I know how, I know how to make that happen. Get thrown a task to where you have to write some production ready code and never done Python before. Yeah. Then, then you could do it.
Starting point is 01:24:01 Yeah. Yeah. I mean, sometimes, sometimes I tuck my knees into my chest and lean forward and that's just how I roll. Yeah. Well,
Starting point is 01:24:14 speaking of rolling, you know, maybe you can take a song to hedgehog. Um, I think borrowing ideas from games is not only acceptable, but I mean, it's like super par for the course. There's such a rich history of video games out there,
Starting point is 01:24:27 and the things that you like are so different from everybody else. So I don't think you ever have to worry about stealing a particular mechanic or idea from something and getting called out. Like if you have an idea for something original that's never been done before, awesome, go for it. But I don't think you should feel an ounce of guilt because somebody else did something because pretty much everything's been done. Every game that comes out, every new hot game, there's nothing under the sun. You could trace back the lineage of those things going back to Pong, basically.
Starting point is 01:24:56 Well, I'm glad that you say that now because, yeah, the whole time I like constantly thinking about universal paperclips. Like if you, if you've ever played that game and, uh, yeah. So I, I mean, there were times like during the stream I was thinking about like, you know, I would even call it out and say like, well, you know, uh, what do they say? Like, you know, copying is the greatest form of flattery. Like, so I was thinking about that that game um now i went back and played it later and like oh god it's so much more it's so much better you know and more thought out like it has a lot of a lot of um mechanics to the game yeah that mine definitely doesn't have and things that i had didn't even think to like oh maybe i should do this um so you know while I had that game in my mind, it's still very far from that game. Oh, yeah. I gained a lot of respect for the game
Starting point is 01:25:53 for Universal Paperclips and that the effort that it must have taken to, you know, create the game initially. Yeah, and just like how much stuff they planned for ahead of time. Yeah, it just gives you a new perspective on like what it took to balance and test and yeah everything yeah imagine play testing a game like yeah how did you play test your game when there are things that would take like 15 minutes to get to so that's actually a good a good segue so what
Starting point is 01:26:21 i did for that was um in my game i could like you know there was a currency factor to my game and so i could just uh set that you know so that you like automatically started out with a big bank account you know and then okay you know make your purchases that way now i did throughout the throughout the effort i kept saying you my stream, like, I really need to plumb in a – like a query string parameter that I could just pass in and be like, hey um, I would change the, the bank account value, then forget that I changed it, commit it. And then be like, Oh, I need to like do another commit to remove that. So, so that caught me a few times. Um, but that, that was the cheap way that I did it. But then it got more difficult near the end because I put in a, I don't know how you would call this mechanism, but it wasn't like a rate limiting thing, but it was basically like you could only fill up
Starting point is 01:27:33 any one bucket, but so far before you were kind of forced to like move on. Cause I wanted you to be incentivized to like, uh, you know, to, to, to, to move to the next stage of the game. And so I decided like, okay, well, I'm going to cap it. Like a certain, a certain section is capped until you like, uh, like for example, in, in, in the game, like you could hire developers and then those developers could be consolidated into teams of different sizes so that they could be more productive. Right. So in theory, there's nothing to say that you couldn't just like, you know, hire a certain number of developers and create maybe one or more teams of different sizes and then just be like, OK, I'm done. And I'm just going to let those go infinitely on. Right. Uh, but what I wanted you to do is to be incentivized to hire the hiring manager that would do all of that for you. Right. But then, you know, so, so it was, I tried to put
Starting point is 01:28:37 the capsules in. So what the point is, when I did put those limitations in, then even if you did have the big bank account to start with, it was like, okay, now I got to like juggle this back and forth, you know, in order to, to get to the next levels of, you know, to make sure that, uh, um, the, the, the limitations were working as I expected and things like that. So, yeah. So plumbing in some sort of game state or something probably would have helped out, right?
Starting point is 01:29:04 Yeah. I mean, if i had to do it over again i would i think i would definitely like start early on with some kind of idea of like a way to get that in so that you could like skip to a particular uh scenario yeah my solution for that was my game had like three resource types. It was like kind of energy, energy, fuel, and the time until the pirates got to you. And so you could play cards that would mess with those amounts. And it was always a tradeoff. So it's like you can give 10 energy to gain 5 fuel.
Starting point is 01:29:36 Or you could use fuel to get more energy. And so you had to kind of like balance your way up to eventually escaping. And so that was something, you know, I ran into with testing where I kind of had to play test and so what i kept doing is just making the game loop shorter and shorter and so i eventually got down to 255 seconds was game over like that was the longest the game would go but one problem with that is um because i kept shortening it for testing and then just decided to keep because i liked it there were a couple cards that i didn't go back and rebalance for the shorter time so there's uh specifically there's uh two count two accountant type cards that messed with the rates and would change the rates at which things would accumulate for you
Starting point is 01:30:12 so those were supposed to be really good cards that affected your base rate of resource growth supposed to be great they're totally worthless if you play my game don't don't buy them because they were balanced for a six minute game not, not 255 seconds, whatever that is, four-minute game. And even then, they needed more tweaking because they kept changing the amount of time in the game and the resources you had to get to. I kept tweaking all those things, and it was really hard to see how balanced it is. So what I really needed was a spreadsheet or something something. So we can kind of like measure values. And I didn't do that at all. I would basically like,
Starting point is 01:30:47 it feels like it should be about 40. And so it makes it so that there are cards that are way more valuable than others. And the only way to really learn what cards are way more bang for the buck is to kind of play through the game a bunch of times, which most people aren't going to do. So, you know,
Starting point is 01:31:01 lesson learned there, figure out how to keep it testable. Here, here's something dumb that I did though, that, So, you know, lesson learned there, figure out how to keep it testable. Here's something dumb that I did though, that, um, you know, talking about those limits that I put in of like how many, uh, individual contributors that you could, you could hire, for example. Um, the re another one of their, my motivations for putting those limitations in was that because I knew that like, okay, I don't have like a proper, you know, like a well, uh, you know, fleshed out game engine, you know, a proper
Starting point is 01:31:34 game engine. I'm just like creating this thing on my own. Right. And so I have all these things running in their own loops. And, uh, you know, I was like, well, from a, from a resource constraint, from memory, CPU, et cetera, like, I don't want to just let it run wild and let you have, have like a million individual contributors. And I have a million individual game loops and like what that would do to the CPU and things like that. So like part of my reasoning for doing those limitations was to keep the game playable so that it wouldn't have a negative impact on your system by letting you go wild. That's interesting because if you have played Paperclips on a computer, you'll note that you're melting the polar ice caps as you get further into the levels. It definitely will tax the CPU. Yeah.
Starting point is 01:32:30 Yeah. It was fun though. It was a whole lot of fun and I would definitely do it again. So. Yeah. Awesome. Yeah. Me too, for sure.
Starting point is 01:32:38 Yeah. Um, that's what I had is basically saving energy for publishing, uh, which we talked about, but also playing and rating games. If you work up to the last second and then go to work the next day, you're going to be pretty toasted, which has been rough for me. And so I kind of wish I had planned to take it more easy on Sunday and basically left the last 25% of the time I had allocated for just being bored or polishing things that were totally done.
Starting point is 01:33:05 Yeah, I can agree with that. Yeah, definitely. It was mentioned the ratings, you know, being important just because it's nice to, you know, people are playing your game like you want to go play other people's games and stuff. And so don't burn yourself out. Yeah. You know, I think the last question that I would ask is, why would a pig dressed in black never get bullied? Because Batman has swarmed to protect Goth Ham.
Starting point is 01:33:33 Oh my gosh, that's terrible. I can't even laugh at that one. No, man, that was a stretch. That was not funny. That was such a stretch. Let's just move along. Was that a micro-G? No, no. All of these today, I'm just like randomly finding on Reddit. was not funny that was such a stretch let's just move let's just move along was that micro g no no all of these today i'm just like randomly finding on red that's the problem
Starting point is 01:33:50 that's that is the problem yes yes okay like we'll we'll talk micro g we need some more jokes yeah that and arlene i think arlene has also been a steady supplier of these excellent oh yeah so lots of resources we like. Definitely go play these games. We'll have links all over. I would love to do this again next year, maybe around the same time. Does it have to be a yearly thing? I don't want to do it more often. I'll tell you,
Starting point is 01:34:14 I would also love to do a non-game jam type thing. I don't know how that works, whether hackathon, something. I don't know. It's's worth considering i would also be totally fine with doing game jam again so whatever i mean let's know what you think honestly i've thought about this too and like i i'm i definitely would love to do another game jam i don't know that like i don't know that i would want it to be yearly um but also like because that feels like too
Starting point is 01:34:40 too far apart but like at the same time like as you got closer it'll be like okay what would be like monthly would be way too too much no way i could do monthly um even quarterly kind of feels like i don't know man do i have like it would depend on like how much am i taking time off for each one to uh participate and then it was like, maybe at least twice a year would be doable. But I also thought about the, hey, what if we just like, hey, we're going to, here's not an advent of code, but hey, here's five problems from a code wars or something
Starting point is 01:35:23 like that. And we're going to... Everybody try to compete and do these and see who can get the best... The top-rated answers or whatever on those or something. I don't know. Data Analysis Jam. They have contests over on Kaggle or whatever. Yeah, they do.
Starting point is 01:35:39 Yeah, let us know if you have any interesting ideas. Yeah, I'm totally fine with doing a game jam again in a couple months. Yeah. Well, with that, we head into Alan's favorite portion of the show. It's the tip of the week. All right, you guys are going first. So yeah, my tip, I'm a slacker, so I was just going to say go do a game jam.
Starting point is 01:35:59 I was really happy with the platform we used, itch.io. Everything about it, they had a great asset store. They've got great games you can go play for free, and also they have some AAA titles. But if you go to itch.io slash jams or hit the jams link at the top, you'll see that there are tons of game jams going all the time. So I would say if you miss this one and you feel bad or you feel good because you had fun and you just want to go try one, just go join anyone. Put in as much time as feels good to you and go learn something and just give it a shot because I,
Starting point is 01:36:28 I can pretty much guarantee you're going to learn something. And even if you put in an hour and just work through a tutorial and publish it, I think there's something valuable that comes out of the publishing and getting feedback. Even if it's a short amount of time, I will second it. Cause even,
Starting point is 01:36:43 even though it might sound like i was uh complaining at the top about that you know some of the instructions there specific to my game overall though like it was still a really pleasant experience to submit the game and and what they provide for you and you know like even if you wanted to wire up uh you know like monetary um you know contributions to it like they they make that easy for you to to get paid yeah you can sell your game you can totally say uh you can say you can donate to me or support it or you can pay five bucks for it whatever yep it was awesome very cool all right uh my tip of the week actually came from something that surprised me that outlaw didn't we i taught him something the other day so if you are grepping typically from like logs right like you're looking for an error
Starting point is 01:37:32 in a log so you find that line that has the error on it you might need to know what happened before it and maybe even after it and the grep command gives you a way to do all of those things. So if you just grep for a particular string in a log, right, it'll show you that line. If you want to see 10 lines before it, leading up to it, then you can say grep dash capital A, and then 10, and it'll show you the 10 lines leading up to it. If you want to see just the 10 lines after it as well, then instead of dash A, you would do dash capital B. So grep dash capital B and then 10, and it'll show you the 10 lines after that one that it finds the match in.
Starting point is 01:38:16 If you want to see, let's say, 10 lines before and 10 lines after, because you kind of want to see the context around it on both sides. You could say grep dash C capital C and then 20. And then that'll give you 20 total lines, 10 before and 10 after the actual line that it finds the match in. So it's super helpful when trying to identify, I can't tell you how many times I did this. And I learned this when I was trying to figure out things that were going on with streaming applications. Because the failures would always have something that happened, you know, 20, 30 lines before it and 20, 30 lines after it. And so that was like the only effective way to really be able to figure out what was happening. Yeah.
Starting point is 01:39:00 When I saw Alan do that, I'm like, wait, what is that? What does that dash C do? Like, that's awesome. Yeah. When I saw Alan do that, I'm like, wait, what is that? What does that dash C do? Like, that's awesome. Yeah. And it's such an unfortunate thing that there's not like an easy mnemonic to remember the A and the B. Because you kind of wish like if A is before, but yet B is after. Right. But it would be great if it was B for before and A for after. But then A comes before B, so that doesn't make sense either. after, but it'd be great if it was B for before and A for after, but, but then, you know,
Starting point is 01:39:31 A comes before B. So that doesn't make sense either. So you're like, oh man, like, I don't know, but whatever. That's why you just dash C at all, always dash capital C and then you get a bomb both sides and you're good. Yeah. Uh, yeah. So in, in my world, I've been, uh, you know, going back through, put, put my dev hat on and focusing on automating some builds that weren't already automated and putting them into a whole new pipeline. And I came across this idea that I thought, oh, this is genius. Because I've been talking with others about including a Git commit as part of the versioning, the semantic versioning. So we've talked about symverb before, but it's basically like that quad, like 1.0.0.0.0 kind of setup. But you can also like semantic versioning allows if you do a dash at the end that you could put in like other things. So, uh, in the build version, in the version numbers that we're using, like we include
Starting point is 01:40:31 like a build number so that you could go back to the build system and trace it back. But, uh, I was thinking about like even better than that would be like, Hey, what if we were to put the, uh, a portion of the get commit in, even if it wasn't the entire git commit ID, but you just put like enough of the beginning of the shawl that you could like figure it out, right? You know, like I think some systems like use like the first eight, like even the command line doesn't show you the whole thing. I think it shows you the first eight, you know, by default. And it's enough of an idea. But then I ran across this idea of like, oh, hey, did you know that when you build a Docker image, you can include a label? And one of the things that you could
Starting point is 01:41:11 include in that label could be the git commit that you're using to build. And so I'll include some syntax in here. But basically, there's a dash dash label that you could apply. And you could do something like git commit equals, and then whatever the thing is. And, and, you know, whether you're setting it through an environment variable, or maybe like if you're from Jenkins, you know, if you're doing this in Jenkins, for example, you know, you could use the environment dot get commit environment variable to plug that in as part of your command line. But yeah, you could include the, the get commit in your Docker label. And then that way, when you're like looking at your,
Starting point is 01:41:48 let's say you have like an artifactory or something where like, you know, whatever your container registry is, and this is the specific Docker image that you're using, but you want to like trace down like a particular problem or know like, hey, what is that actually built on? You could go and inspect that, you know, use a Docker inspect command to inspect that image and see the specific commit that it came, that was used to build it. I like that. So, um, I'll have instructed, I'll have some,
Starting point is 01:42:18 some examples of that, uh, in the, in the show notes, but yeah. So, uh, we hope you've enjoyed this summary of the, you know, lessons learned from game jam. And you know, if you didn't sign up for this game jam, definitely sign up for the next one. And if you did, I hope you enjoyed signing up for this one. If you did join up for it and you know, we appreciate the you know, the, the contributions and the submissions that were done. It was a lot of fun, and we've enjoyed it. But with that, if you haven't already, subscribe to us. You can find us on iTunes or Spotify, Stitcher, wherever you like to find your podcast apps. And you can go up there.
Starting point is 01:42:54 You can leave us a review. You can find a helpful link at another link, which is codingblocks.net slash review. Oh, I guess it's my turn. While you're up there at Coding Blocks, make sure you check out all our show notes, examples guess it's my turn. While you're up there at Cody Blocks, make sure you check out all our show notes, examples, discussions, and more. Make sure you send your feedback, questions, and rants to our Slack
Starting point is 01:43:12 channel at CodyBlocks.net slash Slack. Oh, I just realized I forgot to talk about websites, email, and now we'll add Slack to the list, though. We'll get there. Maybe if you go follow us on Twitter, we'll teach you about some of these things or if you go to kongboss.net
Starting point is 01:43:27 or at kongboss on twitter you can find all our social links at the top of the page

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.