EPISODE 1712 [INTERVIEW] [00:00:00] ANNOUNCER: David Szymanski is a video game developer focused on short retro horror games. He created the hit FPS Dusk, along with Iron Lung, Chop Goblins, and the upcoming Butcher's Creek. He's also involved in the production of the upcoming Iron Lung film. David joins the podcast to talk about his work. How to capture an appealing retro game feel? Why he makes short games? Developing in Unity. Looking beyond Unity and more. Joe Nash is a developer, educator, and award-winning community builder who has worked at companies including GitHub, Twilio, Unity, and PayPal. Joe got his start in software development by creating mods and running servers for Garry's Mod. And game development remains his favorite way to experience and explore new technologies and concepts. [INTERVIEW] [00:00:57] JN: Welcome, David. Thanks so much for joining me today. [00:01:00] DS: Hi. Thank you for having me. [00:01:02] JN: I want to start off - you listed a bunch of games there. How did you get started with game development? Where did your journey begin? [00:01:07] DS: Let's see. If we go way, way back, it was when I was a kid. And I've told this story thousands of times. I feel like at this point, I'm going to start interjecting details, misremembering things. But I was learning a presentation software in school that was called HyperStudio. And it was sort of a primitive version of PowerPoint in a way. But it turned out that the game I was obsessed with at the time, Myst, was created in something very - like another version called HyperCard. And it sort of clicked one day. I was like, "Wait a second. I could make my own game like Myst." And that started this whole domino effect after I tried doing that. And it was like, "Well, what else can I do?" And then I learned Microsoft QBasic, which is super not powerful programming language. I spent years trying to make a first-person shooter with that and failing. Because, first of all, I'm not a good programmer. And second of all, it was Microsoft QBasic. And then it just kind of moved - I went to GameMaker for a little while. And then moved to Unity, which I'm probably going to be leaving now after Butcher's Creek. Yeah, it was just this domino effect from that moment of like, "Wait a second. I could do this." [00:02:34] JN: I never knew Myst was made in HyperCard. That's wild. [00:02:37] DS: Yeah. Apparently, according to their old making of video that came with one version of the game. I don't remember. Yeah. [00:02:44] JN: Yeah. I knew HyperCard from this weird niche community of people who really like interactive programming environment. It never occurred to me that famous games are made in it. That's awesome. [00:02:53] DS: Yeah. And it's really funny. Because if you've ever used it before, you can clearly tell it was made in it. And even Riven, which was high-budget as far as I'm aware. It was like HyperCard and then they added in slide transitions for training. [00:03:08] JN: Yeah. I mean, this is totally off-topic, but that's one of my - games made in tools that aren't primarily making games is my favorite sub-genre. There's such joy to it. [00:03:20] DS: Yeah. [00:03:20] JN: That's awesome. Sorry for making you tell a story you've told thousand times before. [00:03:24] DS: No. No. No. That's not a problem. [00:03:26] JN: I mean, getting on to your games. Your games span some genres. I think there's a lot - a lot of people know you for your horror games. Also, we kind of got I guess the boomer shooters to put like an inaccurate label on that side of things. We'll start with the horror. I think the most fascinating thing to me is the fact that they do consistently end up being single-session for me, which the fact that you managed that was really impressive, I think. But why single-session? Why do you favor short games for the horror genre? [00:03:48] DS: I'd say it isn't even just for the horror genre. It's like a fascination I've had. And the reasons for it have evolved over the years. But it's a consistent interest I have in like short games. And like you say, specifically single session or one or two session games. And starting out with like the older horror games I made, which is getting on a decade ago now, which I can't believe it's been that long. But I started out game dev as a career with some short-form, single-session, narrative-focused horror games. And at that time, my reasons were - let's see. I'm trying to think back now. I know one of my reasons for it was I didn't feel like I could sort of effectively execute on the sort of horror that I wanted to do if I was losing the player midway through and then they were coming back. And so, that's a complicated way of saying it. But basically, I felt it wouldn't be effective to build up tension through basically just narrative, which is most of what happens in those games. It's basically just narrative. And I didn't think that I could build up tension and then have a payoff if they were leaving and coming back. Another more practical reason was that I didn't know how to make a good save system for a while. Actually, arguably, I still don't know how to make a good save system. And like I said earlier, I'm really not a very good programmer. My brain just doesn't work in a way that results in very good, clean sort of standard code. Yeah, there was the practical element. And I think there were other reasons at that time. But I can't really remember - oh, another sort of practical element of - I felt like and I still feel like this. Also, it was better to - giving the analogy of rolling the dice. Because no matter where you are in indie development, especially solo or very small team indie development, it's a dice roll. Whether your game is going to do well. Whether it's going to catch people's attention. And my philosophy has been it's better to roll the dice a bunch of times than it is to roll the dice just once. As I got older and my wife and I started having kids, and this started to be my full-time job, I started to realize that once you start getting into your 30s and having a family, the time you have for gaming decreases significantly. Back when I was in college, it was awesome. I didn't have much money. I shouldn't have had a lot of free time. But I made a lot of free time for playing video games, which ironically turned out to be the most useful thing I did in college pertaining to my eventual career. But I had a lot more time in college than I had money. Now, I've been very lucky that I have more money than I have time. As a gamer then, I started to be like, "You know, I really value short games." Increasingly, it went from, "I think there's a place for them." To now, "I will be more likely to buy a game if it's, yeah, this is really short." Because I don't have the attention span for long games, first of all. And now, I don't even have the time for long games. I'm still trying to get my way through the Resident Evil 4 remake, which is - I did restart it. And there were other things happening. But the point is that short games are really valuable for me. And I've always been of the opinion that I make stuff that I would want to play in a theoretical sense. When I finish the game, I don't want to ever look at it again, usually. But it's the sort of thing where I'm like, "Yeah, this is some something. If I came from another timeline and saw this, I would want to buy it and play it." And so, I do a lot of short games. [00:07:37] DS: That's awesome. Yeah, that all makes a lot of sense. And, yeah, I totally agree with you on the short-game thing. I've definitely also transitioned into - just started off with like an appreciation for a game that actually ends and being like that ended. And it ended when it should have ended. And that's great. To now being like I want a Steam tag that says this game has an ending in like eight hours. It would be great. [00:07:57] DS: Yeah. And the other part of it also is that I have absolutely nothing against long games. One of my favorite games is Elden Ring. They're awesome. And I'm glad that they exist. But also, I think there is a lot of space for shorter experience for one to three-hour or even less than one-hour games. And if you look at just about any other storytelling medium - well, setting books aside. But if you look at like other mediums, you pay a certain price for going to a movie. And that movie, if it's over 2 hours as long, that's considered a long movie. It's definitely possible to make an experience that's memorable and that's valuable to somebody that doesn't have to be like 10 hours or more. And I hope that that's something - well, I think we are like moving in the direction of people being okay with that. I don't want that to ever become something that pushes out long games. But I think that's an area that there's a lot of potential there for doing that sort of thing. [00:09:02] JN: Yeah. Absolutely. Yeah, it's not that there should be an expectation or games are short. But the hostility towards games that aren't infinitely replayable for the money you pay for them is like gone. [00:09:10] DS: Yeah. I'm very, very upfront as much as I can be on the Steam page of my games about how short they are. Because I don't want to cheat anyone out of money. I don't want anyone to feel like, "Oh, man. I got ripped off for that." If you are going to buy Iron Lung and you feel like $7 is not - that's too much money for a game that's an hour long, I don't want your money. I want people - and, unfortunately, I still get people who buy it and are like, "Wow. I feel ripped off. This is only an hour long." Which sucks. But I try to do everything I can within my control to set the expectation upfront. These are short. They're meant to be short. I want everyone to know that they're short. [00:09:54] JN: That's a very good point. Because Iron Long is - a lot of your games are very easily completable before the Steam refund window. Does that impact you? [00:10:01] DS: I would say every game I've ever released, except for Dusk, can be - maybe not Dusk 82. But aside from Dusk stuff, everything I've ever made can be played and refunded within the refund window. Yeah. I don't have refund rates that are anywhere crazy above the average. It usually happens that the more popular the game is, the higher the refund rate is. But that's also true of Dusk, which most people don't beat under the two - yeah, I'm not afraid of refunds at all. And I know some people have had problems with them. But I don't think it's a death sentence. At least in my case, it's not a death sentence. Half of what I've done, you can play in an hour. And it's not very replayable. And people still don't refund it. Some people do. But some people also pirate. Arguably, that's even easier than refunding. It's just how it is. [00:10:59] JN: Awesome. Yeah. As I mentioned, I think the fact that you do consistently manage to hit this pacing mark is both an achievement. Also, really fascinating. As someone who's perpetually planning tabletop RPG campaigns that never land in the amount of sessions I expect, I'm in awe of the achievement. How do you go about doing that from a game design perspective? How do you make sure that you hit all of the horror beats you want in that time and you get to the payoff in that short amount of time? [00:11:25] DS: I don't usually find that to be the challenging part, honestly. I guess - well, I shouldn't say that. Because I struggled with that in Squirrel Stapler, I think. That's one of the big reasons I wanted to do the standalone release was because the original Dread X version, I felt like I missed the mark on the pacing. And it's a bit better in the standalone release. But there's a little too much game there for the amount - I can feel that I lose people on the last day or like the day before the last day in Squirrel Stapler. I thought Iron Lung would be that. But it didn't. I still kind of puzzle over why that game - some people don't like it and don't find it interesting. But a lot of people genuinely are - they're genuinely hooked by the gameplay loop. And I'm still not entirely sure how that worked so well considering the gameplay loop is basically the most simple thing you could think of when you really break it down. It's just numbers going up or down. But, yeah. I guess it's just like the story that's determining the length of the game. And I haven't committed to like Squirrel Stapler where it's like, "Oh, I committed to this number of day and stuff." I don't know. It just kind of falls into place when the story and all of that is pushing it along. I will say Butcher's Creek has been a challenge because it's longer than my other games and it's also much more mechanically-driven than pretty much any other horror game I've done. Aside from maybe Pony Factory. But it's very much like a gameplay combat-first sort of horror game. And a lot of what I have done and what I'm sort of comfortable doing is more like the narrative stuff. And so, that has been a challenge to balance the needs of like, "Well, you have to have at least this amount of time for all of these mechanics to flourish. And you got to have some time to teach them. Have some time to mess with them." But then, also, is there enough stuff happening that's scary to fill in that amount of time that the gameplay needs? And what is going to be scary? That's another big question, is like what is going to be scary about this to people? Because the only thing that separates Silent Hill and Doom is - I shouldn't say the only thing. But it's like if you break those two games down, Silent Hill and original Doom, if you break those two games down, they're very similar, but one of them is considered quite scary. The other one, nowadays, people don't really consider that scary. Yeah, I'm kind of going off on a tangent there. But started off being like, "Oh, I don't actually find that to be that much of a challenge." And then realized there are several games where that has been a challenge. And I guess I just kept - [00:14:13] JN: Yeah. It's just innate now. [00:14:15] DS: Well, I don't know about that. I don't know if anything's really innate. Every new game is a new set of challenges in some way. Even when it's something, it's like - Chop Goblins isn't that different than Dusk. But I was still having to learn and try stuff for the first time. But I guess it's just something you keep working at it and like examining it and being like, "Is this right? Is this right? Does this feel right? What if it doesn't feel right? What could be added? Or what could be taken away?" Just a process of that. And, yeah. And then you release it and you know if you did well or not. [00:14:54] JN: Well, speaking of the game loop of Iron Lung, I find Iron Lung fascinating from user interface perspective. I don't know if user interface is the right word. In that you have a first-person shooter character controller in what is essentially a 10-foot-long space. And you have a couple of buttons to press. I was really interested in the choice to have there be a character control in the first place and it not just to be you control these UI elements with WASD or whatever. Why did you go that direction to have a character in that space? [00:15:25] DS: A couple reasons. Mostly, they all kind of relate to the feel. And I'd say I'm very driven by the - I've made games that are very narrative-driven. And I've made games that are very gameplay-driven. And to me, there's not that huge a difference between them. Because in both cases, I'm thinking in terms of what's the experience the player is going through. With iron lung, if you were just controlling the sub or if you sat down in a chair and just use WADS to control the sub or things like that, I think you would lose all sense of there being a danger to a human character, if that makes sense. Because whatever thing you were controlling in a game, it's like that becomes your avatar. Yeah, if you're just controlling the sub around, and especially in a game where you can't see anything, it's like you've kind of lost all sense of place then. It was important for me from the perspective of I want you to be in this world and in this experience as a human character. Not as a submarine. The submarine is part of the problem that you're in, if that makes sense. It's not your protagonist. In some ways, it is also an antagonist as much as anything in the blood ocean. And to that end, another reason for that is because I wanted the player to, as much as possible, feel the physical space of the sub. Because a part of the horror is the claustrophobia and the sense of being trapped. And so, they're forced to keep moving around in the sub and they're forced to be turning their view and then hearing sounds from different sides and things like that. When you turn, the sound is on this side. It's like it's not just an ambient. Like, "Oh, yeah. The sub engine is doing something." It's like there's a propeller or something or other on this side that is turning it. Giving you this sense of physical space. Because that's basically all there was in there to give you any sense that you aren't just doing exactly what you are doing, which is you're in a tiny level moving back and forth. Having that feeling of like I'm in a vehicle as a person. But that vehicle is moving around. And I'm trapped in that vehicle. And I can feel the limits of the space I'm moving. Like if you were just in the chair all the time and you couldn't get up and walk five feet to the back and walk back. The player wouldn't be aware that there are limitations. It's sort of related to this idea that I also have of the player choosing not to do something in a game is only cool if they could have done that thing. And this is why I'm a vocal proponent - I guess this is kind of old now. But I've always been a vocal proponent of Mirror's Edge. If you remember that? [00:18:14] JN: Yeah. [00:18:16] DS: Having weapons. Because some people feel like it shouldn't have had weapons because it's not a shooter. It's a parkour game. You're supposed to be parkouring. You're supposed to be like quickly disarming enemies and stuff. My view is that it's only cool to do that stuff if you as the player are making that choice and showing how skilled you are. In that way, it's like my thought was that the sub feels claustrophobic and you feel the limits of where you're able to move because you're able to move around just a little bit. [00:18:49] JN: Fascinating. Yeah, that makes a lot of sense. You mentioned that the spatial audio, how is that set up technically? Is that using Unity spatial audio system? Just the inbuilt one? [00:19:00] DS: It's set up really stupidly. [00:19:00] JN: Perfect. [00:19:03] DS: Well, there have been videos that have done this already and actually explain it better than me. But basically, Iron Lung, it is all smoke and mirrors because you're just in a room. You're in a submarine. But what's actually moving around the map is just a camera with a glider on it. I decided on that early on, because I didn't want to run into any potential physics issues with like, "Okay, the thing you're in is moving. But you're moving in the thing. And it's this clipped into this. And so, now the player can't go forward and stuff." But then that did create some problems. Any sounds of the sub creaking or the sub moving or things like that, those can all just be sound sources placed around the sub. That's easy. What gets difficult is when it sounds in the environment. Because the player has the camera on it. The camera is thing that hears noise. And the actual camera is like, I don't know, hundreds of Unity units away in this terrain going around. I wrote a dumb little system that anything out in the actual world that makes noise is not an audio source. It's just this script that says this thing makes noise. Here's the range it makes noise in. And then there's something else that finds all of those, I think. Does it find all of it? Anyway, it places an audio source near the relative to where the fake audio sources in the terrain. [00:20:29] JN: Delicious. [00:20:29] DS: And, yeah, that was about it. Like I said, any sounds to do with the sub, that was all really easy. It's just a bunch of audio sources placed around at different points. But then the environment, that's when it got difficult. [00:20:40] JN: Yeah. You perfectly asked my next question, which was I've always been interested in the extent to which like the world outside the sub does exist. And whether it was actually a map. And how it's all set up. I get there is actual geometry and the features you see on the camera are - [00:20:53] DS: Yeah. Everything you see absolutely exists in-game, except the sub. Well, the sub does exist. It's just outside. In hindsight, I should have done more with that. I didn't hide much of anything in the map, because I figured with how big it was, and how difficult navigation was, and how difficult it would be to find like a needle in a haystack there, I was like there's no point in hiding any secret stuff. No one's going to find it. Well, that was a dumb decision. But yeah, everything - you can go to any random point on the map and take a picture. And what you're seeing is actually what's out there so to speak. [00:21:30] JN: That's awesome. We spoke about a couple of shooters earlier on. I guess moving on to the shooters now. I guess I wanted to start with talking about terms a little bit, because I think they're relatively well-known now. But boomer shooter, I guess, is still pretty new. And obviously, these early 2000s era shooters both graphically and also gameplay-wise - [00:21:49] DS: 90. It's more like 90s up to - well, it depends on who you talk to, I guess. [00:21:56] JN: But also, it does maybe show my own age and era of gameplay more than the commentary on the game there. Yeah. I guess to start off with, you mentioned there that they're 90s. What does that time frame mean to you in terms of what you're trying to evoke in the game and trying to capture mechanically and graphics-wise? [00:22:12] DS: That would be primarily Dusk, I guess, we're talking about there. It depends a lot on who you talk to, because it's really - I don't know how old you are. But I'm 34. I'm getting toward - [00:22:22] JN: Oh, we're very similar. I'm 32. Yeah. [00:22:24] DS: Okay. I was not only alive, but I was a young adult when things like Halo, Halo 2, Doom 3, Half Life 2. I was a young adult basically when those were the new games. And when people were - especially as it got into mid-2000s or mid to late 2000s when people were talking - Halo 3 was the game that killed FPS games. I'm sorry. Halo was the series that's like like, "Ah, it ruined - it consolified everything." Not like the good old PC Shooters. It is absolutely wild to me when now, however long later, people start lumping Halo in. It's like, "Oh, yeah that's a boomer shooter." That blows my mind. Because I just can't even understand that. Because I was alive to see when that was like, "No. This was what was against boomer shooters." Or they weren't called that at the time obviously. All that to be said, I would personally say boomer shooter is anything 90s. I would put 2000 as the cutoff date. Personally, I'd say anything made in the 90s or anything that is deliberately copying designs and trends from the 90s. I think by the time you hit the 2000s, you're starting to get into the area of - well, Half-Life and stuff like that. That's another one that people lump that in as being a boomer shooter. I consider that, that's starting a new wave. And the new wave was kind of fooled around a little bit in like 2000s up to what? 2000 - I put it as there wasn't a real agreed upon design trend that everyone was doing until you get to 2007, which is when Modern Warfare came out. I'm sorry. COD 4. Because Modern Warfare is now a different game. When COD 4 came out, that is the game that established the design trend for like the next decade. Before that, in the early to mid-2000s, there's kind of every kind of shooter. They're all kind of doing different things. That was when, yeah, you'd get stuff like Halo, which is still kind of arcadey comparatively. You get like Half-Life 2. Then you get stuff like Serious Sam and Painkiller, which were already being like, "Hey, we're going to try and do stuff the old school way," by whatever their interpretation of the old school way it was then. Anyway, I'm going on a big long rabbit trail. This is a subject I'm passionate about. But yeah, 90s. '90 to like 1999. That's boomer shooters. When making Dusk, looking mostly at that sort of stuff. Dusk was sort of an amalgamation of every game that I liked from the 90s and some stuff from the early 2000s. [00:25:13] JN: Awesome. Okay. I guess actual mechanics-wise, what are some of the like hallmarks? [00:25:21] DS: Oh, I didn't answer the question. [00:25:23] JN: Oh. No. You did. I mean, that was a - this is a tangent on a tangent. But like Day9, the streamer, talks a lot about exactly what you just said, but for RTSs. About when the design of RTSs coalesced. And you started to see the similar - when they decided how the units would group and how the camera would work. And so, what you just said perfectly rang true to like, yes, that's really interesting. Yeah. Sorry. What is the core mechanics of a boomer shooter? [00:25:49] DS: Yeah. That's where things get a little dicey, especially now. Because back when Dusk came out, I think it was a little easier to say, "Okay, boomer shooter is you have sort of mazey. Sometimes looping. Sometimes not. But sort of mazey levels that you're able to move through in sort of a free fashion. You're not like moving through a hallway and then what you went through before just disappears and you can't get back to that. It's like this is an area you can explore. You're usually finding key cards or some sort of equivalent thing to then backtrack back or loop back and open doors. And you'd have combat that was focused a lot on player movement. In the case of Doom or Quake, that was player movement to dodge. To avoid projectiles and stuff like that was - it was sort of the go fast and dodge everything, no cover sort of idea. But most other ones around that time were actually very cover-focused. Blood, for instance, is a great example. But it was sort of rapidly moving between cover or rapidly coming out of cover. Or it was still - there was this element of player movement involved and speed involved. And let's see. I'd say that is a good general summary. But then, now there's - it's kind of different. Now it's more confusing. Because you have - Dusk. I considered Dusk very solidly like a boomer shooter throwback. But then there are a lot of other games that are like kind of riffing on stuff like Dusk boomer shooters. But also, bringing in newer elements or bringing in elements of like the arena single-player shooters like Serious Sam or Painkiller. And you have games bringing in character action elements because of Ultrakill and Doom Eternal, which then is like those are now kind of their own separate sub-sub-sub genre. I just call those movement shooters. Now it's really confusing. I'm not sure exactly what. And it seems like it's down to each individual person what they think it means. Because some people think it's all about the vibes. It's like if something has that like over-the-top, crazy, fast kill stuff vibe and then it's a boomer shooter. And it gets really weird, because now there's people who love boomer shooters but don't actually like games from the 90s. Like, "Oh, yeah. All this maze design and the backtracking stuff is really - it hasn't aged well." Well, that's the essence of it. The level design, the navigation, and then the combat is the glue that holds everything together. But yeah, it's weird to see. And I think as the years go on, it's just going to get even weirder as they are more and more games that are called boomer shooters and they try more and more different things. And eventually, I think it's going to evolve into something that isn't actually that close to games from the 90s. Just because that's kind of how genres go. In the same way as, for a while, survival horror was being applied to games like Amnesia or Outlast, it had nothing to do with the original genre. I guess stuff kind of has come back now. But yeah, genre, in terms of anything, are really weird and are constantly evolving and changing just based on how the majority of people end up using them. [00:29:08] JN: Yeah. Yeah. This just made me think of Roguelikes. And, obviously [inaudible 00:29:11]. Nothing like Rogue. Right? Yeah. [00:29:15] DS: That's the best example actually. Because, yeah, for years, that was a very specific type of game. And then Binding of Isaac came out and it became another type of game. Yeah, that's a great one. Great example. [00:29:30] JN: Obviously, aside from the level design, lots of these aspects, there's parts of it that come down to look and feel and things that in the time they were created were very much informed by the technology and the tools accessible to the game developers. One of the things I was wondering is like do you face any challenges like making Unity make this time of game? Getting the feel ever correct? Is that being a technical challenge in any way? [00:29:59] DS: For Dusk, it was. I learned a lot about how to make Unity do stuff that I wanted with Dusk. And I also learned a lot about what stuff is actually important and what stuff is sort of missing the forest for the trees. For instance, I didn't like how Unity's lighting looked in Dusk. I did all of this - I did this really hacky way of doing the lighting for dynamic objects in Dusk, which is that the materials emissive property is the lighting for stuff that moves around in Dusk. And that is just set by these objects that are created at runtime that are just, "Hey, there's a light here. And here's the range and color of the light." And that's how stuff gets lit. And that's why, at least, in the original release of Dusk, you would see stuff like, "Oh, this box is glowing purple." And that's because there's a purple light on the other side and it doesn't do any ray - because I tried having it do - performance-wise, that just was not going to work. Having it actually do a raycast to figure out, "Can this light see me or not?" That was something where I felt it was really important. And I put a lot of time and effort into trying to make the lighting not look like modern lighting. Obviously, when it came around to do Chop Goblins, I no longer felt that way. Because that one, I baked the lighting. I put light probes all over. And it looks like Unity lighting. But the thing is when dusk came out, it was like one of only two or three games that were doing that. And one of those games was Strafe, which if people remember, that wasn't received all that fondly. I was kind of feeling around in the dark as far as like what do people actually want? And what is actually important to nail as far as authenticity? Some stuff ended up like just the look of textures. Having that point-filtered look. Not going with Unity maps. And that ended up being the path a lot of other people followed, too. Or the posterized texture look, where it's like the textures look like they're made with a limited palette. A lot of other people did that also. But some other things, it turned out, people didn't really want. A lot of textures are a mix of like photos-sourced and hand-drawn and stuff like that. And part of that is because I was learning how to do textures as I went. But another part of it was, also, I was trying to emulate how Doom looked or how Quake looked. Where it's like sometimes there's a texture that you're like, "Oh, that is obviously hand-drawn. And there's this other one that's obviously a photo." And I thought - because, again, there wasn't really a lot of other examples to look toward as far as how do you make a retro throwback shooter? I was just trying to do things as authentically as I could. Because I was like, "I don't know what parts of this are essential to the magic and what parts aren't." In my case, there was a lot of just try to do it as close as I possibly can and then run into a problem with Unity not wanting to do that. And then bang my head against the wall for a while and see if I can figure out a solution. Sometimes I couldn't. The one thing that I really wanted to do and couldn't figure out how to do was I wanted to do the flashlight similar to Half-Life, or Deus Ex, or like 90s games instead of - brief explanation, the flashlights they use in later 90s games like Half-Life was basically a sphere of light that would just get thrown out from your camera. And when it hit something, it was like, "Here. We're going to put a sphere of light here." And whatever that illuminates. That's why there's no - the beam doesn't get wider as it goes out in Half-Life. It's like a laser pointer. And the way it works in Unity is much more realistic where you have a - it's like a spotlight. It gets wider and has fall off. And I didn't want that. I wanted to do something like Half-Life. And at the time, I just couldn't figure out how to do it. Funnily enough, just recently, last year when I was messing with Godot, which I'm going to get back to as soon as I'm done with Butcher's Creek, I did that same flashlight system. I figured out how to do that sort of with Godot. But that was a thing where it's like did anyone - does anyone care about that? No. Probably just me. My compromise for Dusk was that the flashlight cookie is really pixelated. [00:34:42] JN: Get compromised. [00:34:43] DS: Yeah. [00:34:44] JN: Yeah. Fantastic. I guess you mentioned a couple of examples there. But like is there anything that you really put a lot of time in that you just ultimately think no one cared about? [00:34:54] DS: Multiplayer. [00:34:55] JN: Really? [00:34:56] DS: Yeah. Well, some people cared about it. But that's a great example of how things have changed for the better. Or when we were looking at releasing Dusk and talking about a price, New Blood's CEO, Dave Oshry, he was like, "If we want to sell this thing for $20, for a $20 price point, we need to have multiplayer. Because just a single-player indie FPS for $20 is too big an ask." That has now changed. That's changed to the point where now if it's a game like Gloomwood, or Ultrakill, or something like that, that's a $30 game easily without any multiplayer. And the multiplayer for Dusk was a huge headache. And barely, anyone played it. And it was time and effort that I don't want to say it went to waste, because there's a little group of people that really got a lot of joy out of it. But I would not do over again, for sure. [00:35:55] JN: Did I see you saying somewhere that that was a whole fork to make multiplayer work? [00:35:59] DS: Yep. [00:36:00] JN: Wild. [00:36:02] DS: The Dusk world is a completely separate code base that was forked over when Dusk was mid-development. And knowing that should explain any of the weird discrepancies between that single player. I think it's cool that it exists. And I'm glad that some people enjoy it. But, yeah. Again, it was such a headache. And if we hadn't done multiplayer, maybe there would have been an episode four. I don't know. [00:36:31] JN: Was that difficulty and the need for the fork mostly due to the reality of fast-paced multiplayer? Like sync for servers? For the communication between players and actions and stuff? Or was that for technical limitations there? [00:36:44] DS: The main difficulty was that my code for Dusk was atrocious. And also, multiplayer is hard. And it is voodoo magic. It's embarrassing stuff is the reason that it was hard just due to my own lack of experience and also the fact that Dusk started out as a smaller solo game. And I took shortcuts, because I always take shortcuts when making games. Because that's how I finish games. But when it started turning into quite a bit larger game, then those shortcuts - I was building on other stuff on top of those shortcuts and it started to be a real big problem. And the codebase was never designed around multiplayer or in any way that would make it conducive toward moving over to networking. Essentially, that multiplayer ended up being project that some other guy New Blood basically did. Dusk world was basically made by New Blood. And Dusk was made mostly by me. [00:37:50] JN: We ventured into the territory of a popular recurring segment here on the show, which is the freeing nature of game development, which is actually you can just write garbage code. And it's mostly fine, because you will ship a game and it will never be relevant again. That is a feeling that many game developers who I've spoken to have enjoyed. [00:38:04] DS: Yeah. It's just you start to have regrets when it does become relevant again. And I wish I could say that I had learned not to do that. But I absolutely did not, because there are at least two other games that started out as just like, "Yeah, let's just get this finished and throw it out there." And then I had to go back and maintain the code base and add to it and hated myself. One of those was Dusk 82, which wasn't too bad. It's just I took some shortcuts in it because it was just a small little passion project. And I didn't think. And then it turned into a little bit bigger. It was a New Blood release. The prequel game. But the main one is Iron Lung. I never would have finished that game if I knew what was going to happen with it. Because I would have just been paralyzed. If I had any knowledge of like, "Oh, yeah. This is going to actually go pretty big. And then there's going to be a movie." And then all of this, I never would have been able to finish it. I would have been too scared. It's good in a way that I didn't have any inkling of what was going to happen. But also, there are some things in that game that are so unbelievably stupid. And then people are going through the code base and finding those things and putting them in YouTube videos that thousands and thousands of people are watching. The funniest one to me was - and this one, I even have less of an excuse for this, because I did this after the game had already gotten relatively popular. I should have known better. And I knew people were going through the code, and I still did this, which is that the computer console at the back that was - like the lower console, that is just named like Cube 3 or something like that. It's just the default pro builder name. Yeah. And some poor guy - I forget. Some poor YouTube channel, they were trying to find - I forget why they were trying to find it. But it took them forever. Because they were like, "What is this named?" And it turned out just they had to go through like every single object in the entire scene, which means basically in the entire game. And try and figure out which one of these is the computer terminal. There's all sorts of dumb stuff like that in Iron Lung. [00:40:21] JN: Yeah. And I get why it's a pain for you having to maintain them. But I still think it's a very inspiring, encouraging. Hearing you seeing tales of success and then like looking under the cover and seeing that it's all duct tape and glue I think is very useful for the next generation. I hope it is, anyway. [00:40:35] DS: I will say - and I don't want this to be taken the wrong way, but I don't think I'm aware of any other solo indie developer who makes this their career and writes good code. Usually, if you're someone who wants to have a good code base, often, that means you're just not going to finish stuff to ship in at the rate at which you kind of need to. I'm talking like really talented people, too. And I talk to them, they're like, "Oh, yeah. Here's this really stupid thing I did to -" "Are you serious? You did that in this game? This is a masterpiece. And under the hood, it's like that?" That's all of us, really. The good programmers, they go and work at New Blood, doing studio games and stuff usually. [00:41:27] JN: Or working on engine dev. Yeah. [00:41:29] DS: Yeah. New Blood was one guy. He's just absolutely brilliant. Prodigy-level coding guy. And then any of the programmers at New Blood actually are really incredible. And then they're having to go through my code and be like, "David, what is this? This was a really funny one for the SDK," because New Blood is still working on the SDK for Dusk, which basically involves redoing most of the game, so it is actually conducive to an SDK. And he was like, "I can't find the soap mesh. The model for the soap. Where is it?" And, eventually, we discovered that the reason he couldn't find it is because I had named the soap mesh zoap, with a Z. And the only reason I had done that was because I thought it was funny. [00:42:23] JN: Again, as a solo indie dev, you need to entertain yourself as you go. Right? It's important. [00:42:26] DS: Yeah. There's a couple of materials for the part where the ceiling in episode two, where the ceiling opens up and it's these huge buildings towering above you. To get all of the things around it to dynamic change their light level, those are a bunch of bespoke materials. And the prefix for those was lit AF. Again, just because I - I don't know. I was feeling stupid that day. It was like, "Yeah, this is funny." And then years later, someone who actually knows what they're doing is having to deal with this code base. [00:43:01] JN: The code base is its own documentary evidence. I think it's an important time capsule. This brings me to, I guess, a topic that I wanted to talk about. As an indie dev, you are enormously prolific. You put out these games so quickly. And at the same time - I mean, I don't know the full timeline of this. But like you're putting out your own solo games whilst also working on like Gloom. Sorry. Gloomwood, rather. And also working on - Butcher's Creek has been going on for a while now. And there's other collaborative projects. I guess, first of all, my first question is how, as an indie dev with this working style, do you find working on those larger collaborative projects? And then how are you juggling all these projects at once? [00:43:39] DS: Well, I guess the truthful answer is I'm not. At least now, I could for a while. But the last year or more has been a process of having to come to grips with the reality that I can't do that anymore. In the years past, it was obsession. That's the only way. I was able to juggle all of that because I was letting things slip in other areas of my life and kind of not being present for my family as much as I should be. Not dealing with actual real-life adult tasks like I should be. Things like that. The answer then with like Dusk and the years following dusk was it's because I sacrificed other things. Not because I was very good at juggling stuff. Now I have three kids. And when I started with Dusk, I had no kids. The more children you have, the less time you have. And I'm not a very big active part of Gloomwood anymore in terms of the actual development. I'm still involved with the game. I'm still very proud of the work I've done on that game. But I had to make some tough decisions really last year where like I just had to say I can't do this. I have to choose between working on stuff with other people and working on my own stuff. And at this point - and my own stuff is that's what's always been most creatively fulfilling for me. And at this point, that's honestly what is the most practical and what's the best decision to do. Because that's what's actually like making money for me. I guess the answer to your question is now I'm at the point where I really can't do that. And so, I've decided to focus in more on my solo stuff. And I'm still trying to figure out how to keep a good pace on that stuff without - here's the harsh truth. Generally, the way that you're going - if it's someone in a creative field and it's like, "Oh, they've been very prolific and successful, how did they do that?" The answer is accepting being unhealthy. Working in an unhealthy way. There's a certain degree of that that you just have to have. And I think having a healthy work-life balance is really more about determining what level of sacrifice are you willing to accept. And I don't mean that in terms of like push as hard as you can to sacrifice as much as it can. I mean that in terms of like - working with Mark on the movie has been really just fascinating, and inspiring, and teaching in a lot of different ways. Because that guy is the hardest working creative person I have ever met. And when I say that you have to understand that I'm comparing him with other people who are also incredibly obsessive and - so the level of time, effort that he puts into things is insane and kind of unobtainable for a lot of us. And that's because there's just about everything in his life he is willing to sacrifice and put that time and energy toward creative stuff. In my case, I'm willing to sacrifice a lot of social outlets, free time, things like that. I am not willing to sacrifice my marriage or family relation. Not saying Mark is, by the way. That's not supposed to be equivalent. Yeah. But in terms of working with a team versus working solo, I've loved working on the projects that I've worked on with a team. Dusk was kind of both in a weird way, because I worked with other people. But I was also doing most of the actual boots on the ground work on the single-player side. [00:47:58] JN: There was a producer. And, obviously, you're like collaborators for the multiplayer ports and stuff. Yeah. [00:48:03] DS: Yeah. Dusk was like I would do my thing and then I would take it to Dave and we would go through it and change and stuff like that. And then take it to Andrew. And then it would go to sort of wider New Blood quality assurance and stuff like that. It wasn't really a solo game, but it kind of was at the - it was a solo game with a net, if that makes sense. With a safety net. But I've loved working on Gloomwood and stuff like that. But what's most creatively fulfilling to me is solo stuff. Doing a solo project is like a non-negotiable in a way. It's like I am always going to be working on something myself. And if there's time for collaborating with other people or being part of a team, I also like doing that. But that is like, if there's the time, I will do that, this. I am actually working on a project with my brothers just doing some like design - [00:49:04] JN: How many brothers? [00:49:06] DS: Yeah. Two. [00:49:07] JN: Two. Awesome. Yeah. [00:49:08] DS: John and Evan. They're the guys who made My Friendly Neighborhood. [00:49:12] JN: Oh, okay. [00:49:14] DS: They're working on a game and I'm contributing to it. And even that is like, "Oh, man. I am not contributing as much as I should, because I just don't have the time." [00:49:25] JN: Is that a complicated dynamic? This is probably me projecting. But I feel working on family projects must amplify some of the aspects of feeling like you're not contributing enough. Right? [00:49:36] DS: We've always gotten along very well. And generally, the dynamics aren't over-complicated. I guess we're very lucky in that way. But stuff isn't usually very complicated. It's either going well or there is some problem to hash out and then we hash it out and keep going. [00:49:58] JN: Speaking of working on a lot of games, another question I want to ask you is to what extent you manage to reuse code between games? For example, do your games use - is the first-person character controller in Iron Lung the same one in Chop Goblin? What's your framework situation? This kind of stuff. [00:50:13] DS: I've only shipped games with two different custom-made character controllers. I think the Iron Lung and Chop Goblins I think both share the same character controller, I believe. Yeah, there's the character controller. The mouse. The look code is usually I recycle that. There's a couple specific scripts I'll recycle through games. That's going to change once I abandon Unity probably. I'm not bringing any of those scripts over. But I'm hoping to have it be more reusable. It's sort of starting in the next chapter in a way, because I'm leaving - I'm sort of starting fresh in some ways. [00:50:58] JN: You get to put along a lot of 10 years of legacy aside and say, "This is how I would do this now kind of situation." [00:51:03] DS: Yeah. Yeah. It's a hard cut-off point. My hope is that I'll have more stuff be more modular and more open to like I can just take a lot of this framework. But, honestly, with Unity, there's so much that should be reusable and then I just don't reuse it. Or I just redo it in a different way. Or it's not modular enough to port over easily or things like that. [00:51:30] JN: Yeah. Yes. You're considering Godot next, right? [00:51:33] DS: Yeah. I wouldn't even say considering. I will be doing a game - whatever I do next will be on Godot. Whether I continue with it after that, who knows? That depends on how much I like it. The little bit I experimented with it, I really like. But since I need to get Butcher's Creek out the door, I haven't been doing much with it recently. [00:51:56] JN: This is one of the last questions I put down, which is I watched your personal code review video of Butcher's Creek, which was hilarious, by the way. Thank you very much. [00:52:03] DS: Thank you. [00:52:04] JN: That was wonderful. That such a good artifact. And I kind of get the impression, I mean, mostly because of that video. But other things you've said in your Butcher's Creek updates. That like, in some ways, Butcher's Creek is a little bit of your white whale. That it's taken a long time. You've come back to it a lot. You're having feelings about it and that development process. What is going on with - how has this happened with Butcher's Creek? [00:52:22] DS: Oh, man. It's so dumb. Because from the outside, I think it would look like this is like a culmination of things. This is like a big, complex, really deeply felt artistic statement that's taken years to come to fruition. The reality of it is it's just like it's taken this long because it's a mess. And there have been like - I don't even know how many times at this point where I've said I am just abandoning this. This is just not going to be finished. This was lost - what is that fallacy? [00:52:58] JN: Sunk cost. [00:52:59] DS: Sunk cost. Yeah. It's like I just need to leave this and go. Because it's a mess. It started out right after I finished Dusk. And it was going to be a bigger game. And then I kind of got to a point where I'm like, "This isn't really doing it for me. I think I'm going to abandon this." And I did. And I did some other stuff. And then I got on this sort of train of like I really like the idea of short dev cycle. Make something. Put it out. You said earlier that I'm very prolific, which I appreciate. But I'm actually looking - I look at devs like Vidas who makes the Timore games and stuff like that. I'm like, "How do you make stuff so fast?" The number of games some people are able to make and release, I'm just in awe. [00:53:51] JN: And that's why I say the dates on your Steam page are intimidating, especially the 2020 to like 2022 period, I think. There was like six, or seven games, or something. Ridiculous. [00:54:04] DS: Yeah. I guess that's true. But they're short. You're right. I have released a lot of games in a relatively short - but I always feel like it's not enough. That's the crazy part. It's never like, "Yeah, I'm feeling pretty good about this. I'm good. I can just take it easy." I might be like that for maybe a week most. And then I'm like, I can't do this." I need to work on something. I need to get something out. It's been too long." There's that unhealthy part coming up again. I started to really feel like I like this idea of short game, short dev cycle. Put it out. Doesn't have to be the next Dusk. And so, I was all hyped up about this idea of I'm going to take this framework I built for a - it was going to be a first-person melee-driven survival horror game. It was going to be more like classic survival horror. I'm going to take this framework I built and I'm just going to start cutting and refiguring stuff. And just make it into a short Pony Factory length condemned-style melee game. And so, I did that. And then, again, got fed up with it and was like, "No. This is a disaster. This doesn't feel right. I'm not good enough to be able to do this to the level that I think a condemned spiritual successor deserves." I abandoned it again. And then with that one, I would come back for a little bit and be like, "Oh, I'll work on this for a bit." And then get fed up and frustrated and abandon it. And I was all like set. I'm like, "No. We're done. I need to leave this. I need to stop sunking cost, sinking cost into this." And then the whole Unity terms of service nonsense happened and I was like, "I can't use this software anymore. I just can't trust it." And also, I really should have been moving to some open-source for a while. Own my own code and stuff like that. And so, it was like, "Okay. I'm leaving Unity." All of these prototypes - there are four active development prototypes that I just have to throw away. Starting fresh. but then there's Butcher's Creek, which is like 75% done. And I went back and played it and was like, "This isn't as bad as I remembered actually. There's a lot of good stuff here. And so, I'm just going to finish it. I'm going to go back to doing the cut and rejigger everything just to get something finished that I can release. And that will be the last thing I do in Unity." And then, now, people are actually kind of hyped for it. And I'm scared. Because what people have to understand is this is not the summation of my career thus far. This is like a problem project that has been a problem for, I don't know, five years at this point or something like that. Maybe more like four years. [00:57:01] JN: I think you said five and a half in the code review video. Yeah. [00:57:04] DS: Is that long? Oh, wow. It would be that long. Right. Oh, my gosh. I can't believe how long it's been. Yeah, I'm hoping people like it. I still feel like, man, if I - my platonic ideal condemned spiritual successor in my head would be so much better than what I'm actually able to make. But the perfect idea you have in your head is worth nothing. Because it's the easiest thing in the world for someone to have a good idea. The thing that's worth it is whatever is actually done and shipped, which none of the games that I have finished and shipped have been as good as I thought they were going to be when I came up with the idea. But they're out there. [00:57:45] JN: Yeah. Yeah. Absolutely. I think that is a wonderful note to end what has been a journey into indie game development on the best game is the one that ships. [00:57:54] DS: Mm-hmm. [00:57:55] JN: One last question I did want to ask you as a closer, you mentioned in another interview, I think. And you've said it towards the beginning here as well today that you don't consider yourself a good programmer. But in particular, the phrase you used, which I loved, was you're good at band-aiding. I wanted to ask, do you have a particular band aid that you're particularly proud of or remember fondly? Just like an absolute hack that you're like, "That was ridiculous. But it did the job. And it's a loadbearing piece of duct tape and I love it." [00:58:22] DS: Oh, let's see. There's so many. Because that is one thing that I tried myself on a little bit, that I am very good at seeing - okay, here's the situation. What is the simplest, hackiest way to get around this? And sometimes that's really useful. Other times, it puts you in a bad position later down the road. But, I mean, I do it anyway. I don't know if this is the best one. But the first one that comes to mind is Unity, stupidly, does not have consistent runtime IDs for objects. That becomes a problem when you're making a save system. You're like, "This object is at this position and has this and this. How do I know what object in the game to apply that to?" My solution to that problem was to take the engine name of the object and then append onto that as a string the entirety of that object's transform. And that was the unique ID for each. The ID ends up being something like game object (20) and then just a bunch of crazy numbers. Because it's literally taking whatever Unity - I think it's like transform.string or something. It's giving like the position, and rotation, and scale. And that's its ID. And it's a really hacky way of doing that. But it actually works. And I've used that in a couple of other games. And it only becomes a problem if you have similar objects that have to be at the same position, which isn't usually something that comes up. [01:00:03] JN: Fascinating. In what basis are the runtime IDs inconsistent? You mean between runs or within a context of a single game? Or like a single - [01:00:11] DS: Between runs, they're inconsistent. [01:00:13] JN: Cool. I thought you meant like as you load in and out of scenes, they change. That would be a nightmare. Okay. [01:00:19] DS: Yeah. Maybe that might be different now. I'm not sure. But when I was doing Dusk, it was like, "Well, I don't know why it's like that." There's so many things in Unity, "Why is it like this?" No one knows. It just is. [01:00:30] JN: Well, David, thank you so much. It's been an absolute delight. Where is the best place people to follow if they've been interested in hearing Butcher's Creek is coming up and the journey you've had on it. Where's the best place for people to follow the news? [01:00:41] DS: That's a good question now, because it used to be Twitter. But I've been kind of moving away from Twitter just for a variety of reasons. Now, I guess we're in a transition period. But I guess the best place would be YouTube, which is @duskdev. Other than that, I do stream on Twitch usually every week. Although, that's not really game dev stuff, which is Squirrel Szymanski. That's my Twitch name. That's what I got for now. Yeah. [01:01:07] JN: Perfect. [01:01:08] DS: Those are probably the best places. Oh, I should mention Steam Creator is actually probably - my Steam Creator page is actually the best place, which is - yeah, if you click my name on any of my games, it goes to my Steam Creator page. That would be the best place. Then you can see when everything releases. [01:01:27] JN: Awesome. Cool. Well, I hope you enjoy the rest of your day. Thank you for joining us today. [01:01:31] DS: Yeah. Thank you. [END]