Nicholas

Vibe coding a 3D multiplayer game in 15 minutes—with no game dev experience | Cody De Arkland (Senior Director of Developer Experience at Sentry)

Nicholas

Cody De Arkland is the senior director of developer experience at Sentry, leading a team that empowers developers to build and ship software with greater safety and efficiency. Watch him speed-run the creation of a 3D multiplayer flight simulator—from scratch—in just 15 minutes, demonstrating the power (and creativity) that vibe coding enables. What you’ll learn: • How to approach building complex applications with AI by starting broad and iterating on specific features • The process of using multiple AI coding assistants simultaneously to build different components • Techniques for learning new technologies and frameworks through AI-assisted exploration • How to troubleshoot and fix issues when AI implementations don’t work as expected • The parallels between building fun projects and enterprise software with AI assistance • Strategies for keeping AI tools focused when they go off track or add unwanted features • The incredible velocity and productivity gains possible with modern AI coding tools • How anyone can now build sophisticated applications with minimal prior experience — Brought to you by: ⁠ Enterpret ⁠—Customer superintelligence platform for product and CX teams ⁠ WorkOS ⁠—Make your app enterprise-ready today with WorkOS — Where to find Cody De Arkland: Website: https://codyde.io/ LinkedIn: https://www.linkedin.com/in/codydearkland/ X: https://x.com/Codydearkland GitHub: https://github.com/codydeWhere to find Claire Vo: ChatPRD: https://www.chatprd.ai/ Website: https://clairevo.com/ LinkedIn: https://www.linkedin.com/in/clairevo/ X: https://x.com/clairevoIn this episode, we cover: (00:00) Introduction to Cody (02:45) AI tools he’s using (04:38) How Cody vibe coded a multiplayer game: Spaceflight (09:37) Demo: Starting a new flight simulator project from scratch (13:49) How to learn about libraries and technologies for projects (17:06) First run of the new flight simulator game (19:26) Using multiple AI coding assistants simultaneously (20:43) Unexpected features and visual improvements (21:26) Testing the multiplayer functionality (22:31) Reflecting on the development process and iteration (26:47) Lightning round and final thoughts — Tools referenced: • Cursor: https://www.cursor.com/ • Windsurf: https://windsurf.com/ • Claude: https://claude.ai/new • Bolt: https://bolt.new/ • React: https://react.dev/ • v0: https://v0.dev/Other references: • Sentry: https://sentry.io/ • MCP: https://www.anthropic.com/news/model-context-protocol • Spaceflight: http://spaceflight.gg/ • Three.js: https://threejs.org/ • Socket.io: https://socket.io/ — Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [redacted email]

Published
Published May 5, 2025
Uploaded
Uploaded Jun 13, 2026
File type
Podcast
Queried
0

Full transcript

Showing the full transcript for this episode.

AI-generated transcript with timestamped sections.

0:00-1:57

[00:00] We're talking about games and probably building games here, but the same thing translates really well to like when you're building actual applications too. A lot of times you're starting with this blank framework and you're giving it like a broad idea of the thing you want to make. And then you're diving into these individual features. What are your sources for figuring out how to scaffold with existing technologies? A lot of times I'll ask the AI, if I wanted to build a game and I wanted it to run inside of a browser, which technologies make the most sense? And like, it'll go through and tell you, like, in this case, it was like 3.js [00:30] deep dives on it, like traditional Google, and taking that and feeding that back in LLM. So it almost becomes like a conversation with another developer where you're like, hey, I learned this thing from the internet. Can you implement this in the game? And like having it tell you if it's a good idea or not. I just think that's a really interesting process that nets out net positive. Like as far as like creating velocity and creating speed, I think that's like the really cool thing here is like, yeah, it wasn't perfect, but we got it doing the main things that we wanted it to pretty painlessly. We're in this time period where [01:00] Welcome to How I AI. I'm Claire, product leader and AI obsessive here on a mission to help you build better with these new tools. Today we have a very fun conversation with Cody D'Arkland, Senior Director of Developer Experience at Sentry. Cody is one of the most prolific vibe coders I know, doing everything from building personal to-do apps for his family to automating just about everything you could automate at work. [01:24] But today we're doing something extra fun. Cody's going to speed run building a 3D [01:29] multiplayer game live on the show. Let's get to it. This episode is brought to you by Enterprit. Enterprit is a customer intelligence platform used by leading CX and product orgs like Canva, Notion, Strava, Hinge, and Linear to leverage the voice of the customer and build best-in-class products. Enterprit unifies all customer conversations in real time, from gong recordings to Zendesk tickets to Twitter threads, and makes it available for your team for analysis.

1:59-3:35

[01:59] unique is its ability to build and update a customer-specific knowledge graph that provides the most granular and accurate categorization of all customer feedback and connects that feedback to critical metrics like revenue and CSAT. If modernizing your voice of the customer program to a generational upgrade is a 2025 priority, like customer-centric industry leaders Canva, Notion, and Linear, reach out to the team at interpret.com slash howiaia. That's E-N-T-E-R. [02:29] P-R-P-R-E-T dot com slash how I A-I. [02:36] Okay, Cody, I hate to admit when people vibe code harder than I do, but I believe [02:42] that you are one of a very few set of people [02:46] who do vibe code more than I do. [02:48] Tell me the... [02:49] the truth. What is up on your screen right now? What are you working on? Oh, God. So I tend to look at the different tools as like little junior developers who are helping me work on different things. So I tend to keep a lot of tools up at any given time, because they're all working on different parts. And so I'm gonna go and just share my screen. And we're gonna take a tour of what's running on on Cody's desktop. [03:11] Maybe I'll keep a running tab if I'm running the same things. That's fun. [03:17] All right. So I was in, I was working on a little, a little bit of a page or like a web performance. That's a little bit of a work test. So I work at century. And so I was working on some things [03:26] for real work there. Behind the scenes though, I've also got a cursor as well as windsurf up, because I really can't decide which one that I like more at any given moment.

3:35-5:09

[03:35] So I just use them both and I use them both often. [03:38] So I've got both of those. I was doing some work inside of MCP. And so I have a clod up and was doing doing some things inside of inside of there. [03:47] Inside of Windsurf, I was playing around with the game I built, which I think we're going to talk a little bit about later on. Cursor is dived into a little application that I was building for testing sentry things out. [04:00] And then again, tons, tons of stuff in bolt, both things like that are work related, but then also diving into some just like personal applications that are just fun for for home productivity. So what is that windsurf cursor? [04:13] clod uh i have clod code open inside of inside of my terminal [04:18] Yeah, we're all over. We're all over the place. We are truly unhinged in AI today. Yes, I think you have me beat at least at least right now. I'm not currently coding while doing doing this podcast. So [04:28] You are right. I actually want to talk about something a little different today because I've seen a lot of your work [04:35] product generated by AI. I've seen some of your personal productivity tools and what we call meme apps, these like little micro apps that you've built with Bolt. [04:44] But the most impressive AI thing I've seen you build is your space game. So I would love for you to show us the end product. [04:53] of what you built with AI. And we're going to work back into how you learned how to build that. [04:58] Sure. So we'll hop right back into sharing. [05:01] And so I built this fun thing and I've always enjoyed the kind of like flight simulators. And there was this moment in time in social recently where there's

5:09-6:42

[05:09] People popping up, building all of these like plane simulator apps. And I was like, man, I really want to fly in space. You know, I, I, I loved playing X-wing back in the day. I loved playing no man's sky. And I was like, I bet we could make something like this. So I started playing around with how, how could we do this? And so this is the game. This is a little game called space flight and anyone can go and play this. It's on space flight.gg. [05:30] And so you can go in, you can pick your name, you can pick the ship that you want to fly around as you enter into the game. [05:36] And then you're in. And so this is all multiplayer too. And so it wasn't initially, but it has become multiplayer now over time. [05:46] And it started off as just kind of like a random idea of, I can fly around space. How can I make the scene? And then how could I... [05:53] How could I make this thing look like a ship? Well, what if I really want it to look like a ship instead? And so it kind of grew sort of out of control, but there was a lot of fun that happened along the way to get there. [06:06] Okay, I joined the game as well. So proof is it is online and it is multiplayer, so I'm in it. [06:13] Okay, so you built [06:15] this game, which... [06:16] When I was growing up, the only reason I got into computers is because I wanted to make [06:20] video games, but [06:22] Tell me... [06:23] Have you done game development before? Like, this is very impressive. No, honestly, you know, I think I played games growing up a ton. I was pretty intimidated by going and trying to build one out. And so I just, I played them. And so this was my first foray into trying to get something together that I could actually go and play and have other people play with me and see where it goes.

6:42-8:14

[06:42] Okay, so how did you learn how to develop this space game, which still totally blows my mind? I think we joke about the whole vibe coding thing, but this was probably my first real experience in truly vibe coding a thing, right? [06:57] And I jumped in and I was like, I want a flight simulator in space. And so it ended up producing this thing that had like the starry background, kind of like what you're seeing here. [07:06] But ultimately had like a gray cube in the middle that was supposed to represent a spaceship. And really it just ended up being this kind of back and forth asking of like, [07:16] I want to change this part a little bit. I want the stars to move when I go forward. I need to handle controls. And there was all these things that were like, [07:24] that I didn't really think of before I started the project out as far as like, what is movement like in three dimensions in that case? Like, how do you handle that? How do you handle which way you want to move at any given moment? I had this idea then like, well, there's tons of 3D models out. So like, for example, I was on Sketchfab and I started looking at different, different spaceships. And I was like, well, these are all pretty cool. [07:44] I imagine I could bring these in. And so I went in and asked, asked cursor to go in and set these up. And I started reading more about what it was actually doing. And I think that's like maybe a little bit of a different approach that I take is like when these things, when it starts going and building this stuff out and I see like different technologies being used, I'll go in and I'll start asking it about how does this work? So like, as it started talking about GLTF models and GLB models, like how do these work? How are they actually brought into the game and start trying to learn a little bit about like what it's actually implementing so that I can use it

8:14-9:47

[08:14] use it also. And so like, [08:16] It set up the scene in 3.js. 3.js is a pretty well documented platform overall, so there's a lot of information out there. [08:23] It built out the scene. I told it I wanted to replace that gray cube with one of these models instead. [08:29] And we went back and forth on that a bit because there's a lot of, there was a lot of nuance in making that happen. Right. For example, like, [08:36] when you pull in these models, the game doesn't know what that model actually looks like. It's just a skin over a thing. And so figuring out how to like position it and how to give the game an idea of what forward actually is, because some of these would load up sideways. And so I'd have to tell it, oh, the front of the ship is actually 90 degree turn to the left horizontally, because then I do 90 degree turn and it would just rotate at 90 degrees. And so you'd, [08:59] It's like an interesting lesson in being really specific with the models and how you want them to behave and how you want to have them like... [09:07] act or how you want them to bring things out inside of the game. But then once you get it done once, you can say, hey, apply this same logic to my next ship. And I have a local version of it that's running that has five different ships in it that I just haven't put into the real game yet because it's really easy to prototype those out more and build more now. [09:27] So you, did you start this from scratch in cursor? Like walk us through... [09:33] how you really got from an idea to here, what tools did you use? Where were you doing that learning? You know what? [09:39] Let's have some fun. Yeah. Let's start building one a little bit. Okay. Let's just do it. We're going to build a game now. We're going to, we're going to actually build one. We talked about doing this.

9:48-11:29

[09:48] Now we're actually going to do it. Okay. So. [09:51] If I wanted to start this from scratch, I'm going to go NPM create, and I'm going to give it a different name. We'll just go instead of flight. [10:00] We're going to go boop flight. [10:02] So you're starting a blank basically react. Yep, empty react project. Great. And so I'm going to come in here and I'm going to go into this boot flight project now. [10:12] Not boot flight. Boop. [10:14] Flight. [10:17] And now I'm in this project. [10:19] Now, [10:19] One of my favorite tools, it's kind of the up and comer right now. I know you love it too. We're going to go right into Claude, but we're going to live dangerously and we're going to skip all permissions. So it's just going to Yolo all of this into place and we're going to see how it goes. Great. So we're going to speed run. [10:33] vibe coding this game. We are going to speed run. [10:36] I'm going to have it init. And what this is going to do is it's going to start bringing in that initial context of the project as part of like [10:42] Claude's understanding. It's going to create a Claude.md file that's going to make it understand what the project structure is, what application or what a framework it's using. So it's just good to like start off the project with like good understanding and good context around this. [10:55] And the [10:56] I really did start from just an empty, an empty V project. And, you know, I think like, [11:02] we're talking about games and building games here, but the same thing translates really well to like when you're building actual applications to a lot of times you're starting with this blank framework and you're giving it like a broad idea of the thing you want to make. And then you're diving into these individual features. And so like, [11:17] I built a lot of that inside of real company-level software. I took those same lessons into how I was building the game. I had this broad idea, and I just started working on the individual features of that idea and building it out.

11:29-13:10

[11:29] And so we have this broader game here now or broader project overall. [11:35] So let's say we're going to do a flight simulator again, but we won't do space this time. What we'll do is. [11:40] I want to build a flight simulator [11:43] game that uses 3JS. [11:46] Let's use polygon style art for the planes, WSD for movement. I want turning to bank the plane. [11:54] And arrow keys. [11:56] to control pitch oh look at you kid raised on flight simulators it raised uh let's see let's um [12:05] Let's have it take off from a green field with trees and other objects around. We're going to be super vague. I have no idea if this is going to work out well, but we're going to see what happens. [12:15] And realize like this whole idea, I think people struggle a little bit with like the vibe coding thing, because a lot of times they give it far too big and too specific. I tried to stay pretty wide and like, what's the broad strokes of what I want this thing to look like, because I feel like that gives, that gives the LLM enough room to actually build something that works. And then I can tweak the individual parts as I go. And so like. [12:36] In my head, I literally think through these chunks of the thing that I'm going to improve and I just want to see like. [12:41] what's the the v0 prototype of this thing that is the earliest version and how do i start making progress on it again the same thing translates to like [12:51] productivity apps, I built this like tracking application for like tasks around the house that I could share with share with my spouse. [12:58] And so like, [12:59] The same thing applied in there. I want an app that tracks everything I'm doing. I want to create sub tasks off of that. Now I want to integrate super base for authentication. Now I want to have a back in a back in database and like,

13:10-14:57

[13:10] this gradual step of complexity over and over again, it, [13:13] has always been a much more approachable way for me to handle like building things out inside of these applications. But I see people pop in sometimes and they do these like, [13:22] very detailed project level plans that are like every single stage and they feed it all into the context in one shot. And then they get frustrated when like the AI doesn't produce the perfect thing at the end of it. And it's like, well, you gave it a mountain of tasks that are hyper specific. [13:36] Let's try to break it down a little bit. [13:38] So let me ask you a question, because one thing I will say is you may not be a game developer, but you're clearly a developer in that. [13:46] you know what libraries to ask it to install, you know some of these components. And I'm just curious, [13:53] How are you learning for any one vibe coding project? [13:57] What are the libraries that people are using? Like, what are your sources for figuring out how to scaffold with existing technologies? [14:05] I stay fairly connected in like developer communities overall, but something else that I've started doing a lot more lately is like going in. A lot of times I'll ask the AI for like the game one is a great example. [14:15] if I wanted to build a game, I remember actually doing this. I went and I said, if I wanted to [14:20] And I wanted it to run inside of a browser, which technologies make the most sense. And like, it'll go through and tell you, like, in this case, it was like three JS is an option. When I did the multiplayer, that was another one that I did this on was I want to implement multiplayer inside of the game. [14:33] what's the best route to do this? I think WebSockets might be the right answer, but other alternatives. And it said, you know, WebSockets are an easy one and allow for great customization, but also have the highest amount of work associated with them. Here's a couple of other open source libraries people use. And it's like, that's one way to learn, but then picking those things out and starting to do deep dives on it, like even outside of the LLMs, just going in, you know, traditional Google of like,

14:57-16:13

[14:57] building scenes in three JS. How do people approach this and taking that and feeding that back into the LLM. So it almost becomes like a conversation with another developer where you're like, Hey, I learned this thing from, from the internet. How do you, [15:09] can you implement this in the game and like having it tell you if it's a good idea or not. A lot of times that's another thing I'll do is I'll ask the game or ask like the LLM, is this a good approach? Like, [15:19] I've implemented WebSockets in this way because I wrote like the first part of WebSockets myself just because I've done a lot with WebSockets in the past. [15:25] And when I got done with it, I went back and said, hey, can you look over this implementation and tell me if this is right? And it caught a few things where it's like, oh, you're having a race condition here. You're not optimized here. You're not disconnecting sessions appropriately here. [15:38] And so I really do look at this as like another developer that I'm handing off tasks to, to see how they, how they end up going. [15:45] This episode is brought to you by WorkOS. AI has already changed how we work. Tools are helping teams write better code, analyze customer data, and even handle support tickets automatically. But there's a catch. These tools only work well when they have deep access to company systems. Your copilot needs to see your entire code base. Your chatbot needs to search across internal docs. And for enterprise buyers, that raises serious security concerns.

16:15-17:50

[16:15] IT scrutiny from day one. To pass, they need secure authentication, access controls, audit logs, the whole suite of enterprise features. [16:24] Building all that from scratch, it's a massive lift. That's where WorkOS comes in. WorkOS gives you drop-in APIs for enterprise features, so your app can become enterprise-ready and scale up market faster. Think of it like Stripe for enterprise features. OpenAI, Perplexity, and Cursor are already using WorkOS to move faster and meet enterprise demands. Join them and hundreds of other industry leaders at WorkOS.com. Start building today. [16:54] Bye. [16:55] Okay, so where are we with this game? It looks like it wants to run. [16:59] All right, so it looks like it finished up. It finished building. Everything's good. So now I just need to go and run it. [17:05] Locally, we'll do that. [17:07] And we'll launch it. [17:09] And there's our game. [17:11] Shut up. Hold on. Hold your horses. You wrote like, [17:17] 27 words into this prompt. And now you have a video game? [17:21] Now, there's a couple of things, though. Like, it looks great. This is fun. I feel much joy. But... [17:27] What I see on my side is, if you look, I'm banking to the right. So I'm pressing D and it's turning opposite. [17:34] Also, the tail is on the back end. So the camera... [17:39] is actually looking at the flight at the at the plane. So instead of being behind it, [17:44] I'm on the front of it. Do you see what I mean? I mean... This is a good example of going back in...

17:50-19:22

[17:50] We'll go back into here and we'll tell it, it looks like my camera. [17:56] is facing the [17:58] front of the model. Now this might not work right because like [18:02] The front is more of a human term in this case. Should we say the nose of the plane? This is my liberal arts coming into play. Yeah, yeah, yeah. The nose of the plane. [18:13] We should be looking... [18:15] Should be fixed to the tail of the plane. [18:18] Can we all? I don't want to zoom out yet. [18:20] I also feel like it's a little too close to be [18:23] We need a little bit more. We need a little bit more range here. [18:26] Look, it even gave you a little... [18:28] guide to the flight controls. And you didn't ask it to do that. [18:33] So it's making some changes. I love... [18:35] I love that we can watch it actually happen here. What is actually updating. Cloud code is the ultimate like vibe coding tool, I swear. [18:42] I definitely can tell that it's reversed because when I go forward, the plane is flying at my screen as opposed to away from my screen. So it's definitely that the camera is totally reversed. [18:52] What I love about Claude Code is you can see your tokens go brrrr. But they're really... [19:00] use up those token fees. [19:03] I really need, I need this game to take off so I can make like just a hundred dollars a month for people. So I can pay for these tokens and not get yelled at for spending my household funds on AI every single month. [19:17] So it looks like it's rotating the camera here. So we're getting a different look direction. It's making these updates.

19:22-20:59

[19:22] What I think is really interesting about this is this is all running now. [19:26] Something else that I think is like a not so often used hack is I'll open up a new tab sometimes. [19:32] And so in this case, I'm still in boop flight. [19:35] I can make a directory for server. I can switch into server and I could say NPM, a knit. I can install, install express in here. [19:43] And so like I could easily go back up a level now, open up a second clod instance, [19:49] And I can start instrumenting like the multiplayer stuff that we talked about. And so because I know just from the previous project that WebSockets works really well, I can say... [19:58] I want to start implementing... [20:00] Multiplayer. [20:02] for this game in the server directory. [20:07] Handle player joins. [20:09] and give me a chat interface on the top right. [20:14] That shows when people join... [20:16] The game. [20:17] So you have dueling? [20:19] Claude code going right now, working on the front end, front end. [20:24] Just setting up the visual framework and interactivity of the game and then the backend [20:30] setting up multiplayer. Okay. [20:33] Oh, we got a tail now. But now we're, now, see, but this goes back to what I was talking about, like, [20:38] that things don't always work the way you expect to do. So now instead of being slightly above, I'm slightly below, [20:45] I'm still reversed. So when I go forward, I'm flying backwards. So visually, we look right. But all of our controls are reversed now. And so in reality, what was going on is like the camera was not mispositioned. The camera was right.

20:59-22:33

[20:59] it was that everything else was positioned wrong. So now we go back in and we tell it, [21:04] All of my flight controls are reversed. [21:07] Now we should fix that. I also want the camera to be slightly above and behind the model. [21:15] Okay, and so let's check in on your multiplayer now that we're... [21:20] making some modifications and [21:23] Okay, so it's setting up some... [21:27] It is setting up the game itself. [21:30] or setting up the multiplayer stuff. Oh, we just dropped a whole bunch of stuff in. [21:35] So we see the web sockets, right? So it's going in and saying like, when someone joins the message, what does chat look like? [21:40] When the socket detects someone move, what does that look like? [21:43] what does it look like when someone disconnects? So it's building out all of this stuff now. [21:48] It's adding in the dependencies for socket. [21:50] Our tokens just keep climbing. Things just keep going. [21:54] And so we're still fixing things there. And it's like, I really am having, look at that. Look at us. Oh, it's so much better. And we have our, so our flight controls are a little wonky still. [22:05] So we're still we're still we're banking right, but we're turning wrong. So that's a fix. But visually, we're much better off than we were before. [22:14] It looks amazing. [22:16] I know you want your kids to play it. My kids are definitely, definitely going to play this. Okay. [22:22] So let's, I think this is, [22:24] blowing my mind in terms of quality of gameplay. I know that you have higher standards for your game controls, but we can let that rest for a little bit.

22:33-24:02

[22:33] Yes. So now you're setting up [22:35] multiplayer, which would be another aspect to this game, which I think would be very complicated. [22:40] to set up and prototype, just taking a step back. [22:44] Totally. How long do you think just writing this code? [22:48] would have taken. Yeah, you know, I think that like [22:50] Writing it completely from scratch is probably at least several hours to get to a good, like baseline of what this is. And especially like. [22:59] Without sitting down and drawing up like diagrams and starting to think through what all of that looks like, just getting it to a point of being able to connect, have multiple players be able to connect, be able to see how they act inside of the game. Like there's a lot of architecture choices inside of there that you would... [23:13] make as you are building it. So I'm going to say at least a few hours, and we have at least a VZR prototype of it coming in pretty quickly right here in just a few minutes. [23:24] This is amazing. We now have a, we have a flight strip that it went and implemented. I didn't even tell it to implement these mountains. What is, what is all this? What is all this stuff under distance growing up? [23:33] This is how Skynet starts, I'm telling you. This is very, very cute. Okay, so... [23:39] Before this turns into a Twitch stream of us just playing your very fun [23:43] flight simulator game. Let's check in on multiplayer. Did you make this a real game? We're going to find out. [23:51] So looking through the run finished inside of cloud code. So it made all the changes that we asked for, which really cool is like, it gives us some nice like documentation along the way of what's actually happening here. So I love that.

24:03-25:33

[24:03] We've got it up and running behind the scenes. So our game is our game is up. [24:07] the multiplayer screens up. I'm seeing some joins, which are like the browser, I'm guessing the actual like cloud code browser session, trying it out. [24:15] So we got... [24:15] We have good signs. We are suggesting that things look good. [24:19] Let's jump in. [24:20] It changed more. [24:22] look there's mountains in the distance as it was correcting the other things [24:26] Okay, so you joined, you're there, and then... [24:30] Oh, and I see I see multiple players. So now let's open up another tab. [24:35] Maybe. Oh, there's three players in the game now. You know, Claire is in the game. Now, I mean, obviously we have some things that are broken here, right? So like this should be down here on the bottom should be the top of the screen. It's like. [24:45] Ooh, I can... [24:46] I can mouse wheel scroll. This is a new feature. [24:51] we're stuck in a cockpit view. It's like a cockpit view. So like, [24:55] These are some of the problems though, right? Because like I didn't ask it to implement this. And so like implement that anyways, but we are seeing Claire. We're seeing like. [25:02] The chat, the chat one is a little broken. So these are things that we have to fix, but [25:06] Ultimately, like think about how long it would have taken to learn how to build this from total scratch, implement all of this, set up the multiplayer, like. [25:14] This would have taken several hours, if not days to go and do just for like a hacky fun prototype. And we did this in what 15 minutes total. [25:22] Bye. [25:23] we got long ways in a short period of time. [25:25] This is amazing. Okay, if I know you, we're going to end this podcast, and this is going to be your weekend project. You'll send it to me.

25:33-27:08

[25:33] And my kids can start playing, which they're already doing with the space game. So... [25:38] I understand that we could iterate and fix some things. It seems like, you know, part of why I love this demo is you've shown us some of the frustrating moments of working with these LLMs to code. And it's not always perfect. You know, you take two steps forward, one step back, you add multiplayer, [25:55] but you break the window. You add zoom, but you accidentally zoom through the airplane. And so [26:02] I just think that's a really... [26:04] Interesting process that nets out net positive. What do you think about that? [26:08] Yeah, you know, I think one of the [26:11] the things that's worth calling out here is like, [26:13] I talked earlier about the problem with people throwing too much plan at it, but I think that like, [26:18] A little bit of plan is a good thing. And there's some rules and guidelines around it are a good thing, but I think like. [26:22] again, the iteration is what really matters here. And like how far we were able to get in such like a short period of time. Like as far as like creating velocity and creating speed, I think that's like the really cool thing here is like, yeah, [26:32] It wasn't perfect. [26:33] But... [26:34] we got it doing the main things that we wanted to do pretty painlessly. [26:38] Okay, so let's do a quick lightning round and then get you back to your game development. So question one. [26:45] How do you strike a balance between sort of this like fun, exploratory stuff, building games, learning totally new technologies and figuring out how to apply AI in your kind of professional day to day? [26:59] The thing about this is that [27:01] it really isn't that much different from the workflow that I do as like day job stuff, as far as like building, building software, trying things out.

27:08-28:44

[27:08] trying new things to hack out. I build a lot of repros off of off of AI. It's like when I work with customers and things like that. [27:14] And so like, [27:15] The skin might look different ones again. [27:17] And one is enterprise SaaS software, developer SaaS software. [27:22] But ultimately, like the workflows end up matching a lot. And so I'm fortunate that the things that I enjoy doing are very similar in a way. But I think of like... [27:30] the answer is really like intentionality, right? Like, I started building the game because I wanted something fun to be able to show kids and show my kids show your kids to play with that people be able to go in and have fun with. [27:41] that was different from building just another web app. [27:44] and I have to like be really like conscious about choosing which one that I want to do. But the workflow matches up in a lot of the same ways, you know, like the whole taking a broad concept and breaking it down into the things I want to build inside of it and iterating on it. So it feels very similar, but it's just. [27:57] choosing what am I going to what am I actually going to do? Am I building the fun thing or building the work thing? And they overlap sometimes. [28:04] And sometimes the fun thing is, as we showed, a little frustrating. So I'll wrap with my favorite question to ask, which is... [28:12] When your Vibe Coding AI assistant is constantly breaking things stuck in a loop or adding features you did not ask it to add, [28:20] What is your tactic for getting it to listen? [28:23] I mean, I just scream at it. Why are you this way? No, I'm not... [28:28] I tend to ask it a lot of times, hey, can we start over? Can we start fresh? If we get like far off the path or far off of what I wanted to build, [28:36] Hey, we've been wrong for a while. Can we take a fresh look at this problem? Here are the main requirements. And I'll like list them out as like, here are the main requirements. Let's take a fresh look at implementing these.

28:44-30:20

[28:44] Sometimes I'll call out like complexity, like, hey, I feel like we've layered on a lot. [28:48] or I'll literally say [28:50] We've layered on a lot of solutions. [28:52] can we simplify this in some way and start over? I like to also like early on set up like a good cursor rules file or have like windsurf memories in place once about some is on rules files too. But like, [29:04] I find that the Windsor memories work really, really well for this and like, [29:08] set big guidelines around really what I really wanted to focus on. But that doesn't necessarily help when it gets squirrely to your point off off the off the beaten path. So a lot of times just being very clear with it and very clear about. [29:17] "Hey, let's start over, let's reset this part." [29:20] And also like taking these bigger problems and scoping them down smaller. And so like, if we get way off the path, let's take that problem that's way off the path. [29:27] and let's drill it down and say, I want the menu to be here. Like the chat window and the other and what we were showing a moment ago is way off screen. I'm going to go back in and I'm going to say [29:36] Hey. [29:36] the [29:37] part of the upper part of the game is moved to the bottom, the chat windows off. Can we fix those? And I won't ignore everything else and just focus on that to keep the context window focused. So just being intentional, talking to it, giving it clear directions and clear expectations. [29:51] I hate to tell you this, my friend, but it sounds like you're a product manager. Oh, God. [29:56] Okay, Cody, this was so fun. I think you're going to inspire a bunch of people to build their own 3D multiplayer game in... [30:07] 15 minutes. I think we speed run it. So... [30:10] Where can we find you and how can we help you? Yeah, I'm on X at Cody D. Arklund. I'm on there often. I live digitally online, especially when building the games and stuff.

30:20-31:30

[30:20] As far as helping me goes, like I get a lot of inspiration out from seeing other people tell these stories. And I think like, [30:26] Going in and learning how to build something new. We're in this time period where everyone can go and do this. Everyone can, like my kids have sat down and started playing with building games and things like that. And so the thing that would help me the most is just being excited about going in and building and like sharing things. [30:40] the software you're building, the fun games you're building and sharing stories like that. There's enough things going wrong, wrong in the world that like being excited for this new world we're in where anyone can come in and build. [30:50] and build cool things. It's just really inspirational. I draw a lot from that. So share it with me, tag me in it. I'll hype it up. You'll hype it up. It'll be a lot of fun. [30:58] Well, cheers to that. Thank you so much. This was really fun. All right. Thank you. [31:12] You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. [31:22] You can see all our episodes and learn more about the show at howiaipod.com. See you next time.

Want to learn more?