303: Spaceships Built for Cats - podcast episode cover

303: Spaceships Built for Cats

Sep 07, 20251 hr 26 minEp. 303
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Summary

Brendon Chung and Sanjay Madhav from Blendo Games delve into the intricacies of building Skin Deep using a modified Doom 3 engine. They explore the benefits and challenges of working with open-source, from modernizing the renderer for Steam Deck support and localization, to crafting unique gameplay mechanics like accessible Zero-G and an advanced AI system. The discussion also covers their development workflow, the significance of their "Mod Museum," and reflections on indie versus AAA game development.

Episode description

For years, Blendo Games has been releasing its unique brand of systems-driven games on open source id Software tech, most recently with this year's Skin Deep running on a modified version of the Doom 3 engine. Sounds like a Tech Pod topic to us! We're delighted to be joined by Brendon Chung and Sanjay Madhav this week to dig into all the ins and outs of their process making Skin Deep, including working with 20-year-old code, making smart use of features that existed in the original game, restoring algorithms whose patents have since expired, figuring out what to enhance and what to rip out, and plenty of other intriguing subjects.

Skin Deep on Steam: https://store.steampowered.com/app/301280/Skin_Deep/

Blendo has a lot of fascinating writeups about their dev process and tools: https://blendogames.com/news/

Sanjay's work as a games programming consultant: https://loophole.games/

Support the Pod! Contribute to the Tech Pod Patreon and get access to our booming Discord, a monthly bonus episode, your name in the credits, and other great benefits! You can support the show at: https://patreon.com/techpod

Transcript

Idiom Origin and Game Hint

You ever think about what words mean sometimes, Brad? I try. As someone who talks for a living, I try not to. So the other day I told my daughter she was having a problem with something. I was like, well, here's another way to do it. There's more than one way to skin a cat. And she was like, wait, what the hell did you just say? Why? Why are you skinning cats? Here we go. All right. Here's the Gen Alpha crusade against animal cruelty. I guess we're doing now. All right. Go ahead.

And then I thought about it for a minute. I was like, wow, that is truly a horrifying thing to say. Really and truly. Why would you skin a cat? I never really thought about where it came from before, actually. Yeah, I don't want to skin a cat. I don't like I think this is a country thing, probably. Probably. I mean, it's that's pretty universally used or understood. Right. I mean, like, you know, young people notwithstanding who have just never heard it before, but I always.

thought that was a pretty universal kind of idiom, right? Okay, so I'm going to the Bellevue News Democrat, which is a newspaper from I don't know where. And it says... that it's a centuries old thing that people used to say. So from 1840 and earlier, 1678 is the first time that they found a recorded version of this, which was there are more ways to kill a dog than hanging.

Whoa, this is good. God, man. I'm going to I'm not going to make any more flip jokes about animal cruelty, actually. Well, I wonder if they were talking about like a scurvy sea dog at that point in 1678. OK, well, those guys just have it coming. Yeah. Look, there's a lot going on here. I feel like this is dangerously close to an old Saturday Night Live bit from like 1977 or 78. Sure. But yeah. So anyway, I'm not allowed to say there's more than one way to skin a cat now.

Welcome: Skin Deep's Open Source Journey

That's probably for the best. Also, especially given the nature and the starring roles of the game that we're about to talk about on this podcast. Yeah. Maybe we should be nice to cats. I think the cats are okay, man. Bye. Welcome to Brad and Will made a tech pod. I'm Will. I'm Brad. Hello, Brad. Hi. Thanks for having me. No, no, you're the host. We do this every week. This is the 303rd episode of this show. So much pressure. So much pressure.

I'm super stoked about this episode of the show. It has been in the works for months at this point. Since before the game in question came out, actually. I think I went back and looked in late March was the first email that arrived in my inbox about. this possibility and then you served your civic duty and some of them served their civic duty there were two other instances of near jury duty in the middle of this and multiple instances of people being out of town so modern scheduling is hard

People are busy. Yeah. Yeah. But we finally, finally got all four of us together to do this, to do this podcast. I'm very happy we did. Yeah. So we are talking to the folks from Blendo games, two of the folks from Blendo games who made skin deep.

Blendo's Id Tech Engine Philosophy

Skin Deep, if you don't know, is a game about rescuing cats from pirates on spaceships. Space pirates and space cats. I mean, some of the cats are scuba diving cats. The cats are there's a variety of different types of cats. They are they are in space, but they.

I think they would identify as other types of cats. Yes, probably so. Now, the real claim to fame to me about Blendo Games is that the last, I think, four games in a row that they have shipped have been on open source id software engines. They did, I think it was 30 Flights of Loving and Gravity Bone shipped on the Quake 2 engine. Yeah. And then more recently, Quadrilateral Cowboy and now Skin Deep shipped on Doom 3. So perfect fodder, you might say, for a TechPod episode.

Yeah, it's it was this was the podcast episode we were born to record, baby. No, it's it's I interviewed Brendan years ago at. xoxo in vr for the foo show and we talked about quad cow when it was coming out which that tells you how long ago quad cow came out um and and he is they have a fascinating approach to game development at blendo so we were stoked to bring them in here and and have a chat about, well, I guess, skin deep, open source engines, id tech.

Working at EA in the two thousands. Yeah. Shout out to the saboteur, man. I was so stoked about that game and it got done dirty, but video game toilets, all kinds of stuff in here. So we're joined today by Brendan Chung and Sanjay Madov from, well, who worked on Skin Deep for Blendo Games. Welcome to the show, guys.

So I guess let's start with the broadest question. And like, I guess I'm going to split this into two questions, but really it's why open source as a game development model. But before we get to why id tech, why don't we just start with the broad open source part? financial, creative, technical considerations, all of the above? Yeah, it's a little bit of everything. Yeah, so I'll use EdTech4 for skin deep and...

There's different elements of it. Part of it is just like I personally have been using id software engines since like the mid 90s with like Doom and Quake and Half-Life, things like that.

And, like, all the engines kind of build on top of each other, so it just can make sense to just use what you've been using for a while and know really well. But also, like, the engine is built... just for first-person shooters like it doesn't do anything else it does does first-person shooters and does a great job at it and so

There's something really nice about using tech that's just like laser focused doing one specific thing and doing it well, which is great. But yeah, for the open source specifically, like we did use a source port.

Designing Accessible Zero-G Movement

called DHEWM3 and it has like a billion fantastic fixes and improvements and like quality of life stuff in it that we benefited hugely from. So if you had to specify, it seems like it's an artistic choice at this point. There's benefits to using the open source engine that you're not paying royalties to Epic or Unity or whoever, right? But it seems like...

It's much more about, hey, this is the this is the, you know, the kind of stripped down Camaro of first person shooter, the 60s era Camaro of first person shooter engines. Yeah, it's a very lean piece of tech. I mean, Sanjay messed around the guts way more than I did, but it's built to do a specific thing, which is make first-person shooter environments for you to walk around in and do first-person stuff.

And there's something nice about that. Just being like really good at doing that as opposed to just being like kind of generally good at a wide variety of different games. Longtime listeners from before this podcast, Brendan, you and I talked. You know, a decade ago in my VR talk show about your last game, Quadrilateral Cowboy.

And part of that process was you sending over a bunch of assets from the game for us to build an environment so that we could talk in VR about the game and pick up stuff and look at it. And it was shocking to us. coming from moving Unity games and Unreal games and all that stuff, how straightforward and simple the actual assets were, like the models, the assets, the materials, all of that just kind of, you know, there wasn't.

We didn't have to port a bunch of shaders over to Unity to get this to work. It was really nice. Yeah. So id Software, historically in the past, has been very...

adamant about making their games extremely moddable and about being editable by normal people. And I feel Doom 3 is kind of like, at least in my opinion, kind of like the culmination of all of those efforts, because like all their files... are text files you just open them up and it's just human readable files all their map files are just things you can open up and just edit and peek at how its software implemented their stuff and their levels

It's just built to be edited. They have a bunch of modding tools inside the engine for people to make content very easily and quickly with it. And so there's just something really nice about, you know, tech that's built for people to open up and explore and dig around the guts. And like, it kind of follows with there.

uh their open source uh philosophy of releasing their engines and making them available for people to mess with and release commercial projects with and uh something like beautiful about that i think i think your your path through it

engines for commercial releases in particular was I think you shipped two games on Quake 2 before you moved to Doom 3 and you've now got and also I apologize I'm just going to use the id software names and not the id tech 3 and 4 because I can't keep all that stuff straight Somebody played a lot of Quake in the 90s, but what triggered the switch from Quake 2 to Doom 3? Because I think Doom 3 had open sourced already at that point, or maybe it was actually maybe that.

Maybe that open source release was just around that time. But what finally made you say, all right, I'm going to move on to kind of the next big milestone in their tech progression? Yeah, so Doom 3, the Doom 3 engine has a bunch of things inside it. that are extremely suitable for sci-fi stuff. One of the big things in Doom 3 was their GUI system, which was these... It's computer screens where you can... Yes.

Immediately, immediately as a big Doom 3 defender at the time of release. The diegetic computer interfaces like they just walk up and use a computer in the world stuff immediately leapt out at me in skin deep. Yeah, yeah. And when I saw that back when Doom 3 first came out, I thought, oh, my God, this is an incredible feature. Every game is going to copy this. And then not.

I don't know. Not so much. It didn't take off as I thought it would. But you still see it here and there. I think Prey most recently had an interface that was extremely similar to it. But yeah, there's just certain sci-fi stuff that Doom 3 had. the vacuum of outer space in that game when you walk outside. So they had a bunch of built-in tech.

I guess there were kind of external sequences like on Mars, right? In that game. So were you guys building the vacuum system in skin deep on what was already there? For those Mars sequences? Interesting. I had forgotten about that. Yeah, so in 2-in-3, you could walk on the surface of Mars, and during that time, there's a vacuum of no oxygen, and your oxygen meter goes down. And so we kind of piggybacked on top of that technology.

Modernizing a 20-Year-Old Renderer

uh, for skin deep to be out of space. One of the, you, you added zero G though, right? I don't remember. I didn't remember a zero G it's been a long time since I played doom three, so I could be wrong, but like zero three zero. g movement is kind of one of those third rails for for every studio i've ever worked at everybody's like man we got to do a zero g level and then then you prototype the zero g level and you're like

Oh God, no, we can't do this. This is a nightmare. Nobody's going to know how to control this. And, and even games that do it really well, like outer wilds, it comes to mind as something that is like, it's like a really good implementation of that or Kerbal or whatever.

it still is a high barrier to entry. How did, how did you all get to the system that you, that you have in the game? And, and like, what was the process like getting, getting that, like building that out? Yeah, it was. So skin deep is kind of intended. to be a numbers of sim which is like you know the nerdiest first-person shooter genre you can think of but we also wanted it to be like more accessible and not as

difficult to get into as some of the more complex games. So for Zero-G, that was one of the big questions. We're doing a space game, so we feel like we need to let the player go into outer space, but how do we make that? something accessible and not a shelf moment for people. So we looked at a bunch of different games to see how they did it, and we chose to just try to go with the approach to that.

Got like the spirit of it and the energy of going to outer space, but kept it as, you know, simple and easy to get into as possible. So we. made some intentional choices to not roll the camera ever. You're just always ramrod straight up and just kind of like levitating around.

control how... I think for a while we simulated the player just moving forever in outer space like a real object does, and that kind of felt... difficult to get into it's it's such a alien experience to just like uh shoot forward like a bullet all the time um and so we kind of kept iterating and tweaking it through play tests until we found something that was pretty

accessible that we felt players could enjoy. I think also it was helpful that we kind of set it up so that... you can't run out of oxygen because I think a lot of times like either there's like some sort of like space suit and you have like an oxygen tank and you're like worried about that and we made like the choice of like oh you have an iron lung so it just works and I think that also just makes

it more accessible for the players and we kind of spent a good chunk of time like making it fun when like the the enemies get sucked out into space and stuff like that. And then we had other problems like, well, okay, well then what happens if an important key gets sucked out into space? And that's why we incorporated like that lost and found machine and stuff like that. Yeah.

There are a lot of concessions to playability, I find, in this game. I mean, you guys put out this mod museum that gets into not just technical stuff, you show off scripting and lighting and so forth, but also a lot of design decisions you made about the clamor system.

You know, what height can you and can you not voice yourself up onto? Like, should we standardize those and everything? And like, it seems like you guys really in just about every case lean toward what is going to be more fun and playable versus what's going to be more realistic, even though.

This genre has the word simulation in it. Yeah, yeah. It's always a matter of like, what are players finding challenging in the game? And is that thing supposed to be challenging or was it accidentally challenging? In a lot of playtests, we're like, oh, players are getting stuck in this thing, and that's not really meant to be a point of friction, so we just kind of keep honing it down and finding things that works.

I was just saying you mentioned in one of one of either in an interview or blog post, I don't remember which Mark of the Ninja, which is one of my all time favorite example games because it is like. I was bad at playing stealth games. I had bounced off of all those 90s stealth games like Thief and the early Deus Ex even because I didn't understand how stealth worked in video games. I was trying to play them like real life.

Having a game that visualize those systems was really like open that whole genre up for me. Like, was that an inspiration?

here for this to kind of open up in sims a little bit yeah absolutely it was it was inspiration on multiple levels mark the ninja um they are in my opinion the best in the biz at like making it clear what is going on right now like you said like they visualize every view cone they visualize every like sound you make there is no like ambiguity of what's going on so when something happens

Development Tools and Dynamic Lighting

you know exactly why that happened um i think it's really you know world-class stuff um the other thing that uh we we borrowed from market ninja was uh their ai system or their approach to ai um the uh they released a write-up on how their ai system works and we took that same approach for skin deep It's a concept of kind of like when something happens in the world, it kind of drops a little like invisible node.

And that node will be like a point of interest for bad guys. Let's say you sneeze, the door opens, you flush the toilet. And then it's all about kind of managing. A bad guy notices a node, they see it, or they hear it, or they're close to it, and they'll investigate it. And then after some timer expires, the node will disappear. And so it's a very, like, elegant...

clean approach to doing AI, and it's what they did for American Ninja. And when I read the write-up, I thought, oh, this is like a very clean way to do it of a very complex, kind of like creates a lot of interesting complex behaviors through a very simple system.

It makes the game really readable like that, plus the UI elements you pop up because you because like unlike a lot of games where you make a noise and then a bunch of people come over and investigate it and you're like, why? Why are all these guys here?

There's a thing that says, you know, a sound object pops up in the world that you can actually see and understand what's happening, which I think is really helpful. Yeah. Like I grew up playing thief and I love thief so much, but there is like definitely. this ambiguity that it has that's part of the challenge that we kind of did not intend to be a challenge for skin deep so so back to the engine um i know you know doom 3 obvious obviously had a lot of functionality built into it

Already. And then Doom 3, obviously, like you said, has a lot of fixes and stuff, too. But how much how many enhancements did you guys add in terms of either brand new features or systems or like enhancements to I know I think the Mod Museum mentioned some changes to the renderer and stuff like what were some. What were some of the bigger things that you guys added yourselves?

There was a lot. I think one thing also I wanted to mention is like big shout out definitely to Daniel and the Doom three people because one of the great benefits of open source I think is like you have a great community of like people willing to help out and pitch in and stuff. Whether it's the...

The editor we used, Dark Radiant, was open source, right? And then also Doom 3. One of the fun things was just that we released the demo and released the source code for the demo. And then within a day, Daniel from Doom 3 was like, okay, I got it.

It's like, okay, cool. Like we don't have the bandwidth to support officially a Linux version, but there's a community supported Linux version. They actually found bugs in the code that we actually integrated because there were actually bugs on all the platforms. So definitely there's that great support, I think, that it's going to be harder to get if you're doing Unity or Unreal.

or something like that. And in terms of the changes we made, so before I got into the project, Suzanne, who's a great designer and programmer as well, um did a lot of work with the lighting system specifically like our light meter and things like that to detect whether we're in the shadow or the light so there were a lot of changes like early on even i think uh that to support like kind of the design that we wanted and then later it kind of

We reached a point where we sort of ran into limitations with like what we could do visually with the built-in original Doom 3 graphics system. You know, it's so old that it's like the shape. are written in assembly language, right? That was a fun day one or week one when Brendan was like, oh, we want a desaturation effect, which I don't even know if we actually use that in the game anymore, really, but a little bit.

CPU Bottlenecks in Doom 3 Lighting

And we want a desaturation file. I was like, okay, I'll open up some shaders. And then I was like, where are the shaders? Oh, there's these assembly files. I was like, okay, this will be interesting. And I found some just random... uh luckily someone had made like a one-page pdf cheat sheet for shader assembly by shader arb and i was like okay this is helpful and then i kind of just had to work

through like, okay, how do I actually do this desaturation? So eventually we reached a point where we wanted something just like, so a modern game, very... I mean, it's the outline effect when you move your reticle over something you can interact with, right? It shows an outline. And that basically was going to... be impossible to do in the existing Doom 3 graphics system because of limitations of how that whole older shader assembly model worked. So at some point...

We kind of decided that really to be able to implement the stuff that we wanted to implement, we would need to update or modernize the rendering system. So by modernizing, we kind of went from like a circa 2003 rendering to like... circa 2015 let's say rendering um so maybe we added 10 years now so the big thing was we switched to uh glsl which is like the newer opengl shaders And so that required...

quite a bit of work to sort of port over, you know, getting all the existing systems to work, to render properly. I actually wrote like a script that just like converted the assembly into the equivalent glsl um and uh And so we kind of worked through that and got that working. And that was kind of unlocked the ability to do a lot more post-process effects that we couldn't do before. And then also an unexpected bonus was that we suddenly had Steam Deck.

support because uh prior to that when you ran the game on steam deck you could hear the game running and you could quote unquote play the game but the screen was black because uh the the steam decks like uh drivers don't support 25-year-old share assembly, right? So it turned out we're like, oh, the Steam Deck works now. This is great. And then we were able to get Steam Deck verified and all that, right? So that was a great bonus from that. So that's one example.

example is you know we want to localize to other languages with you know like Chinese Japanese etc the original Doom 3 was only designed to support basically Western languages, so you could support the Romance languages, German, English, and a couple of others. you were limited to only what's extended ASCII. So you couldn't do Polish or Turkish or Chinese or all those other languages that we did. And for that, what we ended up doing was actually because the...

The Doom 3 BFG engine is also open source, and we were actually able to bring over their support for Unicode. like the new font system that they used in BFG, which turned out was the same font system as Rage. And we actually got from the Rage mod tools, the program that lets you like...

Balancing Modern Expectations and Old Tech

imported true type font into the doom or like into the bfg uh the it tech for i think probably technically uh font format um so those are like some examples of things that we had to sort of modernize also add like controller support, which we in part took just from QuadCow because we had controller support on that as well. So there were a lot of things that we actually had to fix or improve or advance.

And I guess, yeah, maybe it also leads to another question, which is, well, why did you decide to do Doom 3 and not Doom 3 BFG? And I think the... the main reason is uh you can correct me if i'm wrong but the main reason is that in doom 3 bfg the user interfaces instead of these being these nice like text files that are human readable you can edit them mob them uh

They were all based on Scaleform, which was like, you might remember, was like popular about 10, 15 years ago. It was like a way to get Flash-based UIs into your game. Well, it turns out like Autodesk bought them. They don't release Scaleform anymore. And so there wasn't actually even a way for us to make.

new uis or anything like that that was i think the main limitation there were other things too i think where in bfg stuff wasn't as easy to mod There would have been a benefit of that, which is BFG does have a much more updated renderer, like it's a circa 2015 one.

Because we had made so many other changes, like it wasn't viable for us to just be like, let's bring that over. And it was better to just like kind of build from what we have. So Doom 3 BFG was the commercial re-release that Bethesda did, right? Is that open source as well? I didn't realize. Yeah, it is. Okay. Is that because the original game was released?

GPL'd and so they had to also open source BFG. Do you have any idea if that was mandatory on their part or was that just kindness of their hearts? It wouldn't be mandatory because they're the license holders so they can choose to release it. like they could choose to um like do whatever they want to do with it. Got it. Yeah, so I think it was just id software at the time still wanted to open source things as opposed to like they were legally required to.

seem like they're they're really uh doing that anymore i don't even know if they really support mod tools much for like uh let's say doom dark ages and stuff like that unfortunately i mean it sounds like you guys did a lot of foundational or pretty low level work though on the code base you were working with. Are you aware of any of that functionality that was backported into the Doom 3 source port? Have they taken any of your stuff back in? Oh. So I think generally they don't accept.

changes uh like that like it does not accept changes on that on that repo it's kind of sorry i'm sorry i'm in i'm in but this is where the name of the source port gets confusing there were a few like we did go back and forth we actually

I think there's some things that they kind of did incorporate to some extent. But we made also so many changes where it's not... really necessary for what they're trying to do which is just trying to make like a uh you know being able to play doom 3 on modern hardware is kind of their intent right so um

So I don't know that there was a lot that we put in. There were definitely some things that they added to their port that was very useful for us, though, for sure. What are the big questions I have? looking at a game that's, you know, an engine that's 20 years old, essentially, is how how does this interact with modern tool chain stuff? Like, you know, are you using Perforce and and.

Do you have build servers that are running on modern cloud infrastructures and stuff like that? Or is one of the benefits of using old tech that a lot of that stuff is just a lot easier these days? So for source control, I mean, we could have used Perforce, but we use SVN just because it's free, right? Perforce is expensive. but uh but in terms of like i guess so we used like blender i think to make all the art so it's not like we had to use some special um

like Doom 3 era art tool. So, you know, people have made exporters for Blender. So we had to make maybe some modifications. And Brendan's also really good about writing tools for things. So like in the question of like, how did you make new builds? Brendan has his Blendo build machine. It's been used on prior projects. There's actually a blog write-up I think you did about it too. So we kind of had an infrastructure for building, generally in development, because...

The 60 FPS Cap and Its Challenges

Compared to, let's say, Unreal Engine, where if you need to build the engine from source, it's like 45 minutes to an hour on a good machine. And on a weaker machine, it can take a really long time. Like our game maybe took like five to 10 minutes to rebuild all.

So we actually, in development, most of the developers just built locally. So we didn't have to worry about like, so that is like sort of an advantage in that sense that, you know, and also I think it's also just worth mentioning is one of the.

Benefits of using older tech was just that The developers didn't need some insane, powerful machine to be able to run the engine, whereas if you make the game in Unreal, it can be painful unless you have a lot of RAM and SSD space and all this other stuff. So there is sort of the benefit in that sense. But yeah, I mean, we were largely able to use like more modern tools and in many cases, right tooling.

as needed. I think Brendan also wrote one to handle the localization and all these other things. I think also just like getting back to the text based format means that it's not like intractable to write more tools because you don't have to like. read in some random proprietary binary file and start working from it. It's just text. So you can write Python or C Sharp or whatever you want to do and mess with it.

Yeah. When you're talking like, oh, sorry, Brandon, go ahead. Oh, yeah. I mean, I was just going to say that, like, I built a bunch of small, tiny C-sharp tools for the game development for Loke and for building the game. Just whenever there's any kind of like process we need to do that required a bunch of clicks, you could just make a small tool to just automate it to do the same thing reliably every single time.

And for Skin Deep, it was just, you know, making a bunch of bespoke tools that does one small specific task over and over again was pretty helpful for us. So one of the things I saw that's interesting is you have, like you talk about one button tools a lot and the build tool is one of those in your blog. And I don't think people understand how much of a kind of gate.

how fast and how easy it is to make builds is for a lot of studios so you know if like would you say you did a full build is that like light maps for levels in the whole deal or are you doing the light like Because I remember back in the day, there was a lot of conversation, especially in the early ed tech days, about how much work, how much computer time it took, ed rather.

to do to build light maps for quake and quake two and quake three and those those types of games is it still like is this just a situation where Hardware has advanced and all of a sudden what used to be a really complicated computer problem is pretty straightforward on a modern eight core machine. So in this specific case, the build machine just built an executable for the for the game to run. Just compile all the code.

Intentional Design: Glass Shards and Barefoot Hero

Because, like you're saying, the light maps, yeah, so for Quake and Quake 2 and Quake 3, for Half-Life, to compile a map. uh it required like a lot of time to build the light map because it's all baked into the world um make it look really beautiful and like simulate the light bouncing on a color surface and making it look all gorgeous um so doom 3 uh every single light is always dynamic um which means there is like zero light maps in the game so

It has its pluses and minuses. The plus is that there's like zero light map compilation time. It's just generated dynamically every single frame. But the downside is that you kind of don't... It kind of makes the world look very cold and very sci-fi. So if you want a nice, warm, golden hour look, it's very, very challenging to do it because you've got to very manually do a bunch of...

You've got to trick the engine to doing it, as opposed to Quake 2 or Quake 3, where it's kind of... It happens more naturally. Did that impact... I guess on modern hardware, you don't have performance implications from having multiple dynamic lights in these days. So because of the way that the engine was written. um back in the day there were some still some like light limitations that we had to to adhere by um i think it was like

It was more than... So, we actually went through and looked through Doom 3's retail maps from back in the day, and they generally had... One light affecting a thing at a given time. Maybe two if you're pushing it.

That was the big controversy, if you remember, about why they claimed you couldn't use your flashlight on the gun at the same time because there were too many light sources interacting, right? If you were firing a gun, room lights and a flashlight. And so it sounds like there's actually some legitimacy to that.

AI Senses and Gameplay Balancing

I think you call that out in the mod museum as well. There's a bit in there, the rendering section that shows like too many overlapping light sources, even in this game. even 20 plus years later is still somewhat problematic, right? Yeah. Yes. Yeah. So Suzanne and Tynan, our little designers, had to do a lot of work to work around that.

Oh, I was just going to say, the thing that's surprising about it is actually because of the very weird way they do the dynamic lighting in the game, it's not actually the GPU that is the bottleneck.

um and so especially when we were trying to like work on let's say getting it to work on a netbook or a min spec machine that doesn't have as good of a cpu that's actually where we ran into most of the performance problems um and so eric one of the other programmers on the project spent a lot of time like optimizing the cpu performance of the of the rendering because that really was the bottleneck

And so, yeah, because like the way that they do the lighting in Doom 3 is like very different from like how a modern game does like dynamic lights. um where in the modern game everything is like deferred rendering and like everything is running on the gpu um that's not sort of how they do it it's basically like each Light essentially gets its own rendering pass almost.

when it's doing the lighting phase. So it ends up being a lot, like they're doing a lot of stuff on the CPU that in a modern game you would do on the GPU. And so that's why like, especially like, let's say I'm getting it to run well on Steam.

deck and stuff like that. It was really focused on optimizing like the cpu and there were some crazy things like i think at one point like uh with the rocket launcher when the missile exploded like the frame rate would just die and it was because like i was like oh like Brendan, I think the light radius on this is too big. It's affecting too many objects in the scene. So that was one area on weaker machines. But even on a good machine, you were still getting noticeable frame rate drops.

So there definitely are limitations on how many lights can affect each object. in their system. But luckily, hardware is a little bit better now than 20 years ago, so we could have more than one light at least.

The Mod Museum: Learning Game Dev

On the CPU side, I don't remember. Was the original game like multi-threaded at all? I'm trying to remember. I think, I mean, obviously most CPUs were still single core at the time. I think we were like just kind of starting to see the first dual core. Yeah, the engine does have support for multi-threading, like multi-threaded renderer, but we turned that off, and I'm not...

I'm actually sure if it's off by default in Tahoe 3 also. D-H-E. The mod version. The mod version of Tahoe 3. Yeah. And also to just point out there. actually are a lot of other uh interesting source ports of it as well how yeah when you're looking at this and you're kind of doing you're you're planning out the game how do you decide what stuff stays stock and what gets fancied up right like what what what gets another pass is it just based on the needs of the game is it is it

who has time and is interested in changing the way you could have theoretically ripped out the renderer and put a full modern ray tracing engine in there if you wanted to go crazy. But that seems like a lot of work for probably.

not it's probably easier to just make sure there's only a few lights in each scene right yeah yeah i mean generally speaking it's like whatever serves the gameplay and like what do we need to make the game fun and readable to the player But the other aspect is just like we were taking an engine from the year 2006 and trying to make it like playable or give it the things that people expect from a game from the year 2025.

um so like we didn't have any subtitles we need to have a whole new subtitle system like kanji said we need to add different languages uh for localization uh so just a bunch of like super um expected stuff from players that are just normal for games that we just did not exist in the old version um so a little bit of what makes a game fun but also what's just normal stuff that people

need in this this day and age yeah and I think some of it also just comes down to like resources because like you know so let's say my project to rewrite the renderer to use GLSL it was like let's say it couple weeks or something right and if we were like okay let's really modern it up like i would be working on that for probably a couple months and then it's like we only have limited resources and then it's like if i spend time on that like that

takes away from all the other stuff I'm working on, whether it's gameplay or bug fixing or the subtitle system and stuff like that, right? And I remember, if I remember correctly, Sanjay, there was a pretty big... question mark of what to do with the renderer. Do we port in Doom 3 BFG and how they did it? Do we do something else completely? Do we just patch up what we currently have right now?

So there's a lot of questions there. Yeah, and unfortunately, it ended up being bigger changes than I had hoped because I thought I could get away with converting less of the system, but it turned out I had to convert like... almost all of the rendering to use uh glsl um but But yeah, I mean, I think it's just like we had to balance like, OK, well, what do we need? Like, you know, we need these like effects and the player expects these effects like in a modern game. And so trying to.

make the changes that were required to get what we wanted without like spending so much time on just like basically rewriting the engine or something like that. And there are some parts of the engine where like, okay, we don't need to really mess with this. It works fine.

Future Engines and Controller Feel

Let's never touch it. And I think like the physics system, like largely we stayed away from changing it too much because like we didn't need to. Right. Keeping Nina vertical in zero G segments makes that a lot easier. Right. Yeah, yeah. I felt like I was listening to kind of like an echo from history when you were talking about like, oh, you know, the previous Quake engine games we did, you had to bake light maps, but Doom 3, everything is real time.

Which is like directly parallels what's going on right now with most games still needing to bake light maps. But then like Doom the Dark Ages, ironically, was one of the first games to require ray tracing hardware. That's not such an issue for them.

Like, was there anything as you guys dug into this engine, even though it is 20 something years old at this point, like computer interfaces aside, like the GUI stuff aside, which we talked about, like, is there anything else in there that you saw that was just like. Like, man, I wish the industry had pursued this path further or like those like, oh, this is a really clever way to do this. Like just anything else that jumped out at you as being like.

impressive tech i think i would say one thing that was that was funny was so you the kind of there's the backstory of the the so-called karmac reverse uh which is like uh uh fancy fast square root right it's not the it's the one for basically it's a trick with the stencil buffer the way that they do the shadows and it's like more efficient.

And so one of the big controversies was that, like, so that was patented by creative, like, makers of the Sound Blaster. I don't know why they had patents on graphics techniques, but they did. And so... So in the open source release of the code for Doom 3, they had to remove the Carmack Reverse. And so the one that's the official Doom 3 open source release...

they didn't have that code. But then we did some digging and it turned out, well, the patent for that actually expired a few years ago. So we re... implemented the Carmackers Reverse in in our code base. It turns out we actually got a pretty noticeable performance boost, especially on lower-end hardware, so the trick still works. So that was pretty funny. We were like, oh, this probably doesn't matter, right? But it actually still made a big difference.

Shout out to John Carmack for that one. That was a great idea. Tried and true. Do you guys have any insight into why that style of real-time lighting didn't catch on and nobody really pursued it? from that point i mean my guess would just be like brendan was saying like you know especially the hardware at the time the limitation was that well you can't really do that many lights and doing certain types of you know lighting like like let's say as an example if i want to do

Grand Theft Auto Vice City or something. You can't do it with just dynamic lights. And so I think there's really the limitation of that.

Open Source Licensing Realities

So that's why I think we still sell light maps a lot. And we're seeing some games now, you know, they're going fully dynamic, I think. It's pretty common in Unreal 5 games that everything's dynamic whether or not they're using ray tracing, right? And so, yeah, I think it's just like there is an aesthetic that if you're making a very dark... scary space corridor game like dynamic lighting made a lot of sense but like I think for

other games like i worked on let's say some tony hawk skateboarding games like we couldn't do dynamic like that was all light match right because it doesn't make sense you're out in the world and there's sun and all that right

It kind of feels like Doom 3 kind of feels like a path not traveled, though, right? I think to Brad's point, it feels like it feels like if people had blown up and it had been like the biggest quarter shooter success of all time, we wouldn't have seen 20 years of open world games. And and we'd be like, look, man, you can have three dynamic lights now. Here you go. Yeah. Yeah. I mean.

So I've worked in Quake 2 and Quake 1 and Doom 3 Engine, and the line systems are very different. And I think there are definitely like... pluses and minuses with both of them. There are things that you can do in Doom 3 that are really special with the lights, and the fact that everything is dynamic and you have no choice about making everything dynamic forces you to...

to make you do some interesting light effects that you can't do with traditional fake light maps. But to your earlier question of what are some interesting tech that Doom 3 has, So I got my start doing level design. And so for me, I'm still a huge fan of how its software did their map. level design tech which is BSP mapping. This is where you kind of like let the level designer place down giant blocks in the level editor and kind of create the geometry that creates the level.

Indie vs. AAA Development Paths

And it gives the level designer a lot of control over sight lines and experience and the specificities of the room. and lets them iterate very very quickly and like not need to wait for an artist to you know put something into the level they could just do it themselves with the modifying the geometry themselves And it's a type of a little design that I think is really, really special. And as a love designer, I love it. And I love how much, you know, it lets the love designer like be.

very creative with how they do things because of how quickly they can iterate on things did you do anything to dark radiant to make it work for skin deep are you just using it i think on the mod kit it said just download dark radiant and let it rip but uh it That seems amazing to me that it's just that open-ended tool. We did do, so Suzanne made some code changes to it and Sanjay also made some code changes to it too.

kind of don't remember the specifics now it's been a while but there's a lot of workflow stuff inside of it yeah i mean i think we did make some changes and we actually were able to like uh we made pull requests so uh those the the major changes that we made not all of them but most of the changes um are actually upstream in in the main dark radio now um but but yeah i mean we did like i think the other thing too is like configurable so like

we had different like python scripts that you can set up to run and stuff um so like any skin deep specific configuration stuff could be done through that um but but yeah it you know there were some small things that we added and fixed and Luckily, we're able to get at least some of those in for everyone else who's using it. Did you have to do some sort of scripting type of environment to set up the things like the one-off events and things like that? Or is that all just handled in game code?

Oh yeah, so Doom 3 has a pretty robust scripting language inside it that they use also for retail Doom 3. It's like their own, it's just called DoomScript, it's like their own little proprietary thing. But yeah, it's pretty flexible. We used it, Suzanne and Tynan used it for all the level logic, for detecting any, for doing all the scripting levels for like the special scripted stuff that we have. going on the objectives yeah it's pretty it's pretty well thought out I think

So the level scripts were off to do that. You could also do a lot of the core gameplay in that if you wanted to, but we tried as much as possible to just do that in the C++ code just because it's a lot easier to debug. but for all the level triggers and stuff like that are done in the level-specific script files. Yeah, for Quadradoddle Cowboy, a lot of gameplay was done through the Doom 3 scripting language, and...

Final Thoughts and Community Support

It lets you iterate quickly, but if something goes wrong, if you want to debug it, there wasn't really a good way to do that. We didn't really have like a... script debugger for Quadrat Cowboy. And so first game deep, we made the conscious choice to make gameplay be as code driven as possible and to keep the scripting stuff as, as minimal as possible. It makes a ton of sense.

I've got one more question digging into the kind of core Doom 3 tech, and I promise I'm not trying to like feed any Steam community forum threads here or anything. The game, like Doom 3 and every other derivative of it, is capped at 60 frames a second, which I assume is tied to some internal simulation rate or something. Yeah. Was there ever any discussion about ripping that stuff out and trying to...

There was. Engineer a higher frame rate. And also, clearly, you decided not to do that. How much work would that have been? Because I assume it's a lot. That we've talked about for a while, right? Really? yeah i mean we talked about it for a while we actually did some tests and it was just going to require so many changes to actually get to work correctly um that it was just like given our team size. Because, yeah, the whole physics system is written assuming this fixed time step. And so...

Yeah, like we did experiment with it a bit, but it just was going to be a lot of work if it just didn't. I understand the people that want higher frame rates. I'm actually planning on playing Soak Song tonight. I gotta get it. It's 120 FPS on PS5 or something. try it on that maybe. But I totally get that. But it's just like, you know, we have a really small dev team and it's just like, we did look at it and it just seemed like it was going to be so much work to change that.

It just didn't seem like it would be a good use of our resources to spend a lot of time on that when there were all these other things that we could make better and improve. I think we also looked at there was a... There's a game called the Dark Mod, which is a Doom 3 based game that is kind of like based on the Thief franchise. Really wonderful stuff. Like we use Dark Radiant was made from the Dark Mod.

We are super grateful that they let the tools be available for them to use. And I think that their team also has done some work to push past the 60 frames per second limit. And I think they got it mostly working, but I think there's still some quirks here and there that they're still getting after all this time of trying to do it. So we figured, well...

They're also trying to do it. They're still having these issues after all this time. So for us to release a game with trying to break this limit would be pretty tricky to do. Yeah, that totally makes sense. I'd swear it was the Doom 3 source port I looked at the...

change log at some point they had very briefly rolled out experimental support for it but there was literally like strikethrough text in the change log where they immediately pulled it because it just broke everything yeah i think we actually might have just like briefly like kind of just messaged daniel about it, too. What happened with that? It was kind of like, well, we tried, but it's just... In their case, right?

They want to make sure that Bass Doom 3 works still, and so they tried doing a Bass Doom 3 uncapped, and I think it just had a lot of sort of work, but there were... a lot of issues and um and the other thing too is i think just like even if we had gotten it working

mostly. The concern was that we're going to be spending a lot of QA time on like, oh, well, this bug is only reproducible if you're running at 100 FPS or something, right? Or the throw arc, right? The throw arc doesn't work properly now because... the, you know, we're assuming a certain time step, etc. So I think it just, yeah, it was going to be this like big can of worms.

um that like we probably could have gotten like 70 there without too much time but then that last like 30 would have just been crazy one of the questions i so your your broken glass is i love a good broken glass in a game and you all You all have real good broken glass for folks who don't know if the window you can break windows. You can break, I guess, glass items like the soap dispenser or something, maybe. Yeah. And then there's shards of glass on the floor.

that your character walks through and gets glass in her feet. And so I have a couple of questions about that. One is, are the physics deterministic or is it non-deterministic for the game? So that like there's predictable outcomes of where the glass is going to end up and stuff like that. Because there's a lot of throwing stuff in an IMSM. I.

I think it's non-deterministic. Does that sound correct, Sanjay? Yeah, I think when it breaks, it just decides shatter lines. I don't think it's deterministic, but... And also, like, we don't, I think it doesn't, like, some of the shards of glass just, like, go away because, like, if it was actually, like, the correct amount of glass would be a lot more than I think that we drop. But, yeah, I think it's...

I don't think there's the breaks are just like generated. So it's a little bit non-deterministic. So then I guess my next question is, was Nina barefoot before the glass was in or was that a choice for after? Or was that an original design thing, Brendan? Or a diehard homage. Yeah, yeah, that's the diehard thing. That was a day one choice, I believe. I think if you go back to the very, very first announcement trailer from... 2018 or something like she still had no shoes on just because

We had to make the Die Hard thing stick. It was the only way to do it. And you also do the thing. One of the things I didn't understand before I worked on a shooter. was that people feel really strongly about whether you can see your character or not when you look down. There's two really entrenched camps on the internet of, yo, I should be able to see my feet, and no, I never want to see my feet, and you all are clearly in the...

show me the feet category. Is that a, is that a, like, how did you end up there? I guess. I think for this specifically, because healing your glass shards on your feet was going to be a component, there was kind of an obligation, like, well, we've got to show the player body in this case, because you can't. That's the only way to do it.

Having said that, I'll say that making your body visible is an insane amount of work for a first-person shooter game. So I completely understand when people, when games don't do it, because, like, it added... A tremendous amount of more...

bugs and work and art assets and all that stuff to to the game um the night the nightmare of a first person look down rig when you look at it not in the first person mode is something that just sticks with you everybody should go look those up if they haven't seen them so that you know what you're asking for oh horror monster yeah um we talked about toilets uh 10 years ago at xoxo fairly extensively uh i know you're a bit of a video game toilet aficionado and i think at the time

You listed the Soma toilets as the high watermark because they had on controllers, they did some some magical one to one movements with like the lid lift and the and the trigger pulls and stuff like that. Has anything hit that high mark since in the last 10 years? Ooh, good question. You know, no other toilet has really stuck out in my mind. Okay.

I also have to ask about the squatty potties on spaceships that are built for cats. That seems like a choice. I'm not sure about it. It raised a lot of questions. I'm not sure I'm comfortable asking here, if I'm being honest. So the fiction that we have is that the ships were originally made for humans and then were retrofitted for cats later. So they weren't really thinking about the cats when they designed them in the first place. It was their backstory. That makes perfect sense.

I'm back in. So how much of the AI... there's the ai is really responsive we talked a little bit about market of the ninja and how that kind of was where you started but there's also like The AI have senses that go beyond most first-person shooters and sims that I've played, where if you go down the trash chute or you get something stinky on you, they'll smell you. I think I kind of got the feeling that they would pick up...

When Nina's barefoot, when you step in glass, you leave blood trails on the floor. And I feel like they saw that too, but I'm not 100%. They definitely see broken stuff. things around like how how much of that was stuff that doom did and how much of it was stuff you tacked on and and like it it feels really good in practice i you know i don't know how difficult how complex it is but it feels incredible when you're playing

Cool, yeah. So, yeah, the blood trails was something we wanted to put in, but we couldn't find the, couldn't quite make it go. In terms of AI, we did a lot of work.

to make it go um the doom 3 built-in ai generally like doesn't handle states like i'm partially aware of the player i am fully aware i am going back from combat to suspicious mode um so we did a lot of work to make them be playable in an immersive sim game and do the things that kind of players expect them to do let me let me follow on by asking

About the Mod Museum, because the Mod Museum, for folks who don't know, is a Steam Workshop download for the game that just is a mod campaign that you can load up from the main menu. And it kind of gives you behind the scenes of how. large chunks of the game work. You know, it shows you how the pathing works and how the AI works and how the Brad had talked about the clambering and mantling and jumping and all that movement in the game works.

And it seems like a ton of work to put together. Like, I love that it's there and I'm really grateful that you all did it. But it seems seems like a really, you know, huge, huge undertaking for, you know, for not a whole lot of return, I guess. Yeah, so part of that is just due to how game development schedules work. Prior to shipping, maybe like a few weeks beforehand, we continually start locking things down more and more of the game until we're at a point where like...

no one's allowed to change the game anymore. We just gotta let QA bash on it for a bit. And so during this time, some people have a lot of things to do, like programmers still have to. fix a lot of things and figure out why a certain bug is happening. Designers kind of have less tasks to do at some point, just because like...

Content is one thing that gets locked sooner than later. And so during this time, we thought it will be like a fun thing for the designers to make and work on during this time where we're kind of like waiting for the game to ship. so that they can stay on the project long enough to fix bugs after release and so we built the mod museum which was kind of like a behind the scenes tour of how things work and was kind of our compromise because like we wanted to do a

developer commentary mode, but just schedule-wise and budget-wise we just couldn't make it work. So making this this free mod museum that people can download from the Steam Workshop was kind of our way around that. It's really phenomenal for people who want to see how stuff works in the background. Because it's like the setup for most of the exhibits is...

Here's the thing in the game. Here's how we did it. There's some text usually smacked up on the wall that explains what's going on. And like, for example, in the windows, you you kind of exploded out all of the different. elements that are in the editor that make the the glass windows that break and then have pull down seals to keep the keep the air and work and it like

I've never seen anybody really do anything quite like that before, so it's pretty rad. There's some really incredible visual representations of what's going on, like the scripting section, you know, like not only is the script you're about to activate with an in-game button.

plaster on the wall in front of you, but it actually highlights line by line each step as it's executing. Like that stuff is just fantastic for visualizing what's going on under the hood. I loved it. Yeah, it's all Suzanne and Tynan. They're really good at making this stuff work. Do you think that building...

games in ancient like 20 year old engines is a good way for folks who want to learn how to make games or do you think there's is the older tech more approachable just because the art fidelity and the kind of everything's a little bit easier 20 years ago or is it easier 20 years ago i guess is the other question yeah i think it depends um like i personally like how lean the engine is like it's a very small download the entire source code is like

much more compact than you'd see from a more robust dimension. The downside, though, is that the amount of documentation and communities around these things are more limited than, say, Unity or Unreal. So getting over that hump of like...

i'm just getting started i don't know anything and getting going with that can be pretty challenging because like there's just less like the websites that talk about how to make stuff in dune 3 a lot of them just are not on the internet anymore um you'll still there's still like some you can find but just compared to more modern stuff um it can't be difficult those message boards are gone now huh it's you know yeah ChatGPT can't help you with Doom 3, right?

no doom three vibe coding i guess they didn't train it on a lot of plan files um yeah i think also just like i mean so i i do a lot like i mean my day job is i i teach at usc uh game development uh game programming and i think it would like certainly there is the advantage of like the code base is a lot smaller than unreal engine but like i think it'd be difficult for someone that doesn't know like you know um

Brendan is kind of a unique case in that he can code and he can design and he can do art. And I think unless you know how to code C++ already, like it's going to be hard to just like jump into. doom 3 um and just like make a game whereas i think it's probably a lot more approachable for like if you're learning to use something like game maker or unity right as you're like your first or rpg maker even right like

Those are probably way more approachable than jumping into Doom 3. Loading up Dark Radiant and starting carving out, they called them brushes, I guess? Yeah. yeah i think also too just like in general if you're starting out like 2d is way easier to start out in than 3d make a side scroller a top-down twin stick shooter or something not a first-person shooter right um

Have you looked at some of the other, I mean, there's a lot of stuff happening in open source game engines now. Have you looked at Godot and FNA and some of the, I mean, I see we ship stuff with FNA, so that's a bad question, but. I love FNA, big FNA fan here. fna is the open source version of xna slash um mono mono yeah thank you yeah yeah which was what was used for a lot of xbox arcade games back in the in the like xbox 360 era

For folks who don't know. Like Bastion. Yeah, yeah. Supergiant. Still on it, I think. No, so for Hades, they actually switched to their own. Oh, did they? They're using the Forge, which is like, it is an open source C++ engine.

or it's at least a game framework so they switched to that on hades i think they were using the mono game like tech stack until the first 80s um so yeah what do you think about like what do you think about the other like is the next is the next blendo game going to be a godot game brendan or is it going to stick within tech um i'm looking at

I think Godot is next on my list to investigate. Right now I am messing around with making a small FNA thing of some kind. So going back to previous tech that I've used. trying it out again. Yeah, I'm a big fan of SDL and we actually use SDL on skin depot. So it's not a game engine, but it's like such a foundational library. And I think both Brandon and I know a lot of the. core FNA folks and the SDL folks and stuff. But I think...

It's not a game engine, but it's a great framework if you want to learn the basics of game programming. And that's actually what I use when I start out in my first... Let's just make a window in SDL and then let's draw some sprites and do all that. So I really like that because I think it really forces you to learn the fundamentals in a way that like...

If you try to start programming in Unity or Unreal, it does so much for you. It's very powerful, but I think there's something good about learning those core things. I haven't really looked at Goodo too much, other than occasionally helping. people debug stuff in their games. But yeah, I think there's definitely a lot of options out there. I am a big fan of Unreal Engine. I think the main drawback or limitation is just how you need a good computer to really use it.

I do like how, even though there is the royalty system and everything, they give you all the source code, right? So you can really dive into it. And some of the Unreal games I've worked on, like... we've made pretty significant changes. So being a programmer, I really like that control of we have the source code. I think one thing that's really interesting about Doom 3 is just that...

But the code base is small enough that you can mostly understand most of it. Whereas something like Unreal is so big that even Tim Sweeney doesn't know what all of it does. Yeah. Well, and... There's also the danger of making your own changes to Unreal in that when they roll a new version out, you're going to then have to port your changes over to the new version. There's a lot of time involved with that.

I guess it's not a problem you have with Doom so much. Doom 3. Yeah, we've avoided that problem. Dodge that bullet, I guess. Not a lot of upstream activity on that one at this point. Yeah. I'm curious if there was any, if any of the, like you added controller support to this, for this game, which is something that they probably, I mean, maybe I guess at some point they released Doom 3 on consoles, but I always feel like the.

my expectation for controller feel back then and my expectation for controller feel now are pretty wildly different and i wondered like how challenging that kind of that kind of like it was was working in the old engine did that make that super difficult or was it just you know are you have to recreate call of duty controller feel in 2025 in a 2004 engine or or is it just getting good enough and ship it um if i remember correctly sanjay i think

the gamepad code was from Quadralow Cowboy? Yes, I think we brought over the gamepad code from Quadralow Cowboy, and then we did a little bit with the acceleration curve. I think Eric also did some stuff. Yes. Towards the end to kind of help get it to feel better. You know, I think I would say generally like we kind of really focused on keyboard mouse for the game. because that was the expectation for most players, but some players obviously prefer the controller, and I think we got it in a...

a pretty good place the last few months of development. I remember when we demoed the game at Day of the Devs, it was my first time seeing people play with the controller, and I was like, Brendan, we gotta... of things that we need to fix with this controller. It's not quite up there. So we were able to get, I think, a pretty reasonable feel on it. But we're not doing anything crazy with like...

aim assist or anything like that, like you might do in Call of Duty. Because I think the shooting isn't really a big... component of our game really so it didn't make sense to kind of do all the stuff that they do in like call of duty where like when you aim aim down sight it'll like

Locked onto the head and stuff a little bit, right? And stuff like that. So we didn't really need to implement that for our game. It seems like if you're shooting, you've kind of made a mistake in skin deep. You already did. it is interesting like in earlier versions of the game like the rifle was so overpowered right like and we really had to figure out okay like because it really felt like at one point in development like the best strategy was just like find a rifle

start shooting people. They're like, well, that's not really the vibe that we want for this game, right? So I think Brendan and Suzanne and Tana spent a lot of time brainstorming. How do we... How do we make it so there's not just like one like best way to do everything, whether it was shooting with the rifle or at some point it was just like, yeah.

there's one clear way that's like the easiest way to get rid of every enemy i was like bashing them in with like random objects right uh and so i think um there's a lot of time spent on like well how do we how do we encourage players to explore all the different ways that they can interact with enemies without making it feel like you're forced to do it in some specific way. We removed the win button, which made the game more fun.

Well, I mean, the level progression that happens, right? Because like the first couple of levels, I was pouncing at everybody and then smashing their heads against walls and whatever was around. And then that stops being an option later on for reasons we don't need to get into. But but it ends up. It prevents you from min-maxing the MSIM nature of the game, which is, I thought, quite fun.

Yeah. And I think the other thing too that worked out well was I think originally like even the early levels were much more like open-ended where you could just like kind of go and do whatever you wanted to, which just...

felt very overwhelming for the new players because they're like, I have no idea what I'm supposed to do. And so I think like adding all the... the barricades and key locking system and all the codes and stuff like that to sort of at least early on make it so that we can both teach you things and also just like not

just overwhelm you with sort of the analysis paralysis of like, I have too many choices, I don't know what to do. Yeah, like our inspiration was die hard, and then die hard, you know, John McClane just is able to roam around the building as he pleases. And so that was kind of our initial version for quite a while. But like Sanjay would say, it's pretty overwhelming to just have like...

a bazillion possibilities for you to interact with. It doesn't feel very... It felt kind of overwhelming, kind of like not in a fun way. And so we added the locks and keys to... kind of give the player more structure to the experience. We're kind of in the leftovers portion of the show because I'm just thinking of stuff I forgot to ask earlier that I should have thought of. But real quick about your source release of your engine that you've built on top of Doom 3.

Under the terms of that source code license, when exactly are you obligated to put yours out? Is it only after you ship binaries that you have to... Obviously, you're going to do it either way, but I'm just kind of curious what the nuts and bolts of the...

the license are like what is it that triggers your obligation to do your own release is it because you have shipped binaries for money is that what it is my understanding is once the thing is available for like public consumption okay that's when uh the activation. I think it's and it doesn't matter whether you're selling it or it's free. It's basically once once your project is publicly available in binary form, like you have to release the source code as well.

Because it's GPL 2, right? The Doom 3 stuff? I think 3, but I don't quite remember. I should have looked this up beforehand. I'm sorry. It is a GPL license. You need a lawyer to tell you what's the difference between all of it. It is GPL three and it's absolutely the, it's the one that everybody I've ever worked with says under no circumstances should you license your stuff with this one if you don't have to.

But I don't know why. We'll have to get Chris DeBona back on here to talk about licenses at some point. Is that the one that kind of infects every other piece of code that touches? Well, yeah, GPL is copyright in general. Yeah, so you have to basically, that's like a big reason why like, you know, especially big companies really. stay away from GPL, right? Whereas there's other licenses like BSD or MIT, et cetera, Apache, that are much more permissive, right? Yeah.

in my personal stuff i just i like using psd um because i don't you know i don't mind people using the code and then uh that's what my attribution which unfortunately none of the ais uh respect uh so right Yeah. So I took a quick look at your both of your backgrounds and like you guys really seem to have paid your dues with like 2000s era EA and pandemic and stuff. I mean, like.

Having covered games through that period, it sounds like that was really the like in the trenches era. I don't have a fully formed question here, but I guess I'm kind of like, I'm kind of curious, like, is there anything from that way of working that you actually miss? And.

Is open source development your preferred way of working from now on? Would you ever go back to a big team or not ship on an open source engine at this point? Are you just philosophically fully bought in on the way you're doing things now at this point? Having had that experience of an extremely much more corporate type of development. Yeah. So Pandemic Studios is where Sanjay and I first met back in like 2007 or so. Yeah, 2007, I think.

We were working on a Lord of the Rings Conquest video game. Yeah, I mean, so Pandemic was actually kind of interesting in that the tech that they used was all... proprietary right Sanjay like I think even each team kind of had their own variation of the tech or even I think in Lord of the Rings you all built engine from the ground up so I think Lord of the Rings was built on the full spectrum warrior engine. The Mercenaries team had their own engine. The Saboteur team had their own engine. The

I don't know if I'm actually allowed to say what. The games that we were working on in Australia, which got cancelled, were on different engines. And even, yeah. Some other unannounced titles had their own engines, which it turned out like... That model was very expensive, especially when you're like, oh, now we're making games for the Xbox 360 and the PlayStation 3, so now these code bases are getting bigger and bigger. In recent years, I've been working with indie teams on various projects.

working with brendan and then before that um with the giant squid folks and the beethoven and dinosaur folks on a few of their games and um you know i think one of the things i i think i like about the the old

era, which I think is difficult to get back now, is that pre-COVID, being in the office, developing this camaraderie with your colleagues. And I think that's a... really difficult to do now especially on a lot of you know because most indie teams are fully remote and and you can still do that to some extent but there there is something about like that era of like oh just like going over to someone's desk and like having

conversation right um but i think both brendan and i also experienced the you know like kind of there's this like huge bureaucracy right um you know the funny thing about pandemic was i actually so brendan was that or started at pandemic before uh ea had purchased us um i actually accepted my offer and then like

the week before i was to start that was when they announced ea was buying it and i was like i thought i had escaped you know i escaped ea escaped activision and i'm like nope i'm back in pulling you back so you know there's sort of this

like yeah i mean like obviously it's like and if you look at triple a now like it's very much like uh huge huge teams right where you're like you're one like you're like you could spend two years working on one very very specific thing or even like let's say in the case of

grand theft auto you could spend like six years or how long they've been working on it now on just like that one thing like you're the sound programmer and all you're doing for the next five years is programming sounds one thing that's really fulfilling and fun i think about working on in small teams.

is being able to wear lots of hats, right? Like, you know, I'm not good at art, but, you know, just being able to, like, go between, like, some week I'm doing gameplay, some week I'm rewriting the renderer, like, some week I'm, you know...

So just being able to jump around a lot, I think that's really fun. And it's difficult to get that in a huge AAA studio because it's like... because you know there's there's there's a person that's only there's a whole team of like 20 people that are doing the graphics or whatever right there's a shout out to the generalists right

Yeah, by a pandemic, we were kind of lucky that the team was still small enough that, at least on the design side, we were able to, like, wear some multiple hats. Like, I did camera design plus level design. you know, did some cinematics. So it was fun to be able to work in an environment where I'm learning a lot from other people, but also being able to kind of go beyond just what I was from what I was specifically hired to do.

Guys, thank you all so much for taking the time to come and chat with us. It's always fun to talk with you, Brendan. It was great to meet you, Sanjay. And I'm excited to see what's next and to spend some more time with Skin Deep. Where can people find the game? what what else are their future plays you know is it going to come to consoles and other stuff as well or is it a steam for life uh yeah so right now skin deep is on pc and you can find it on the steam store and on the epic game store

OK, well, awesome. Thank you guys. And any Twitter, well, Blue Sky post Twitter socials to plug for people to find out more information. Yeah, I'm on Blue Sky as a Blendo Games. B-L-E-N-T-O. I don't really use social media, but you can find me. Awesome. Well, thank you guys so, so much. Thank you so much to Brendan and Sanjay. That was fast. Always fascinating to talk about indie games. Yeah. And honestly, like.

The things I've done in the game press, like it has always remained my greatest privilege to get to talk to the people who make games about how they make games because it is just so endlessly fascinating. I just cannot get enough of availing myself of the knowledge of people that do that kind of work. Indie games, man, you get to do everything. And it's interesting to me because like.

Doom 3 existed in a time before we really recognized a lot of what are like established jobs in games now, right? You didn't really have technical artists in the Doom 3 early 2000s. That's a relatively new invention. We had the people doing that work. They were making rigs and building skeletons and making models move and stuff like that.

But it wasn't something that was that was just somebody on the art team knew how to do that. It wasn't like it was a separate a whole separate specialty. So, yeah, it's fascinating looking at how they kind of work with this old technology in a modern era.

And, um, and it's Brendan's Brendan is always great to talk to about games. Anyway, he's, he's a very thoughtful designer, I think. So one of my faves. And we should reiterate, if you have skin deep, you should really go download that mod museum. First off, you should go get skin deep because it's like it's a it's a rad game. It will teach you how to play M. Sims.

uh immersive sims like dishonored and prey and all like if you've ever tried those games you've been like i don't get what the fuss is about i don't understand what what's happening here those games are really dense and difficult to kind of break into an understanding of and

Playing skin deep will make it easier for you to understand something like prey. Yeah, the way it's broken up into small bite-sized levels makes it much more digestible, I found. Also, if those guys happen to listen to this, I meant to bring this up during the interview and did not, but...

Shout out to OK, the game really is like good about obeying its own rules. Shout out to whoever on the team decided to allow the duplicator to work on literally everything. Oh, that's my favorite part of the game. There is there is there's not there's a duplicator item that just literally duplicates.

whatever you're holding and gives you a second one whatever you aim it at yeah or yeah yeah right but the objective of every level is to get these special keys to unlock the cat cages and let out the cats if you have a duplicator and you find one key you can just duplicate the key and finish the level

Brad, you don't even have to have the key. You can just aim it at the key on somebody's belt and duplicate it off their belt. Right. Yeah. I just I love a game that is so devoted to its own rule set that it lets you just completely trivialize 90 percent of the gameplay. It's pretty rad. Have you duplicated a duplicator yet? I don't. I don't think it lets you actually. There's some kind of quantum overlap or folding of space going on there. It's probably impossible. Probably fine.

But yeah, so definitely check it out. If you when you have the game, check out the mod museum because it really like one of the things that every studio I've ever worked with does is they have like a playground level basically where they have like.

AI spawn enemy spawners and they have like the height blocks. So you have a reference that you can copy and paste in to know how tall your stuff should be in the world and all that. And turning that into a thing that's like a user playable experience where you can see like like where they have. essentially exhibits that show how vacuum works in the game or how vacuum um

kind of spreads, how it propagates through the world and the game is really, really, really cool. Ever since Valve built one of those for the Half-Life 2 promotional cycle, if you remember, I don't think they ever put out that level, but they put out video of it. It was just like, hey, here's every material in the game. Here's like a big physics playground. Like, here's how the facial animation works. Like, one of the coolest things a developer can do. It's really cool.

So, yeah, it's on Steam. It's on Epic. You can get it both of those places and it's eminently worth your time. But you know what else is worth your time? What's that? supporting the tech pod brad that's a bold claim but i guess i'll go with it i think if they made it this far they probably agree maybe uh this is i hope so at least i hope i hope you're not just asleep and you wake up to this um this is a listener supported show so we wouldn't be here without you the listener

And you can find out how you can support the show by going to patreon.com slash techpod. Again, that's patreon.com slash techpod, where for five bucks a month, you get access to the discord. You get our monthly patron exclusive episodes.

You get access to the disc. That's it. That's actually the two things you get. But the discord is full of wonderful nerds who talk about all sorts of interesting stuff all the time. The conversations around the windows 95 episode from a couple of weeks ago have been. unbelievable the number of people who wrote in in the discord and via email to let me know that yes when you use a snack with a zapper on a crt it works thank you we got it i thought

I was thinking when you use a snack with a zapper, it won't work on PlayStation or other light gun type cores, which is absolutely true. It does not do that. I confirm that. But yeah, the original games will work with the zapper on the original.

Thank you for writing it, everyone. We appreciate you. Again, you can find out how to write in by going to patreon.com slash techpod and get access to the Discord and get the Patreon-exclusive episodes. We appreciate the support from everybody very, very much. I do. But we especially appreciate our executive producer tier patrons, including Jason Lee.

Andrew Slosky, Jordan Lippett, Bunny Money, Twinkle Twinkie, David Allen, James Kamek, and Pantheon makers of the HS3 high-speed 3D printer. Thank you all so much. Thank you very much. You think it's a good month in the bunny-verse?

I hope so. You know, I heard some stuff that was going on in the Bunnyverse that sounded pretty good, so I don't know for sure. Okay, that's good to hear. Very mysterious, but positive. Well, let the bunnies tell their own stories. I'm not going to tell bunny stories. um that'll do it for us this month uh this week rather thanks everybody for listening and as always please consider the environment before printing this podcast

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.
For the best experience, listen in Metacast app for iOS or Android