In short
Software Engineering Daily: Teardown and Voxel-Based Rendering with Dennis Gustafsson
Episode Overview This episode features Dennis Gustafsson, founder of Tuxedo Labs and creator of the 2022 sandbox puzzle game *Teardown*. The game is known for its innovative use of voxel-based rendering, allowing for highly interactive and fully destructible environments. Dennis discusses his long journey in game development, the technology behind *Teardown*, and the complexities of creating a physics-driven game.
Key Participants
- Dennis Gustafsson: Founder of Tuxedo Labs and creator of *Teardown*
- Joe Nash: Developer and educator, host of the podcast
---
Game Concept
Teardown
- Premise: The player controls the owner of a demolition company who becomes involved in illegal activities amidst police investigations.
- Gameplay:
- Sandbox style with a focus on heists.
- Players can destroy and manipulate the environment, which reacts physically (as opposed to just visually).
- The goal is to prepare for and execute heists within a limited time by stealing specific objects.
Technical Achievements
- Voxel-Based Rendering:
- Enables real-time destruction with accurate physics.
- Unlike other voxel games like *Minecraft*, objects behave according to physical laws (e.g., they break and react in 3D space).
---
Dennis Gustafsson's Journey in Game Development
- Background:
- Over 20 years in game development, primarily focused on physics.
- Initially involved with physics engine companies before delving into rendering.
- Initial Interest in Physics:
- Motivated by the lack of physics in games during the late '90s.
- Inspired by early games that utilized rudimentary physics, such as *Carmageddon 2*.
---
Development of Teardown
- Game Engine:
- Built using a custom engine primarily in OpenGL.
- Focused on voxel rendering to simplify destruction physics and enhance performance.
- Development Timeline:
- Began development in 2017; solidified gameplay mechanics by 2019.
- Initially explored various gameplay concepts before finding the heist model.
Gameplay Mechanics
- Destruction:
- Players can break and manipulate the environment.
- Complexity arises in designing gameplay that accounts for fully destructible environments.
- Challenges with Structural Integrity:
- The game does not simulate real-world structural integrity for gameplay balance.
- Players can plan around predictable environmental interactions.
---
Rendering Technology
- Ray Tracing:
- Implemented to enhance visual fidelity and lighting.
- Unique approach using a bitmap representation of voxel data for efficient ray tracing.
- Challenges in Rendering and Physics:
- Balancing performance and visual quality, particularly with dynamic environments.
- Addressing issues with lighting accuracy and collision detection in a highly destructible environment.
---
Modding Community
- Support for Mods:
- While not a primary focus initially, modding support was included early on, allowing users to import custom models.
- The success of modding has been rewarding, with various surprising mods enhancing gameplay.
---
Future Directions
- New Technologies:
- Dennis is studying new rendering technologies, including Vulkan for hardware-accelerated ray tracing.
- Plans to explore enhancements in physics simulation, including fluid dynamics and soft-body simulations.
- Tuxedo Labs’ Growth:
- Dennis has stepped back from day-to-day management to focus on technology and development.
- The team is now working on updates for *Teardown*, allowing Dennis to investigate new projects.
---
Key Takeaways
- Innovative Use of Voxels: *Teardown* exemplifies how voxel technology can reshape gameplay experiences through physics-driven interactions.
- Balance of Gameplay and Technology: Challenges in designing fully destructible environments lead to innovative solutions that enhance player experience without sacrificing gameplay mechanics.
- Community Engagement: The modding community's support has greatly enriched the game's ecosystem and longevity.
- Looking Ahead: Continuous exploration of new technologies positions Tuxedo Labs for future growth and innovation in game development.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:00Teardown is a 2022 sandbox puzzle game developed and published by Tuxedo Labs. The game revolves around the owner of a financially stricken demolition company who was caught undertaking a questionable job and becomes entangled between helping police investigations and taking on further dubious assignments. The game stands out for its technical achievements, particularly its use of voxel-based rendering, which enables highly interactive and fully destructible environments. Dennis Gustafson is the founder of Tuxedo Labs and the creator of Teardown, among other games. In today's episode, Dennis speaks with Joe Nash about his 20-year history in game development, his passion for physics and games, teardown, the advantage of using voxels, and much more.
0:44Joe 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 Gary's mod, and game development remains his favorite way to experience and explore new technologies and concepts.
1:16Welcome to the show, Dennis. How are you doing today? Thank you. I'm very good. Really happy to be here. Yeah, awesome. Thank you so much for joining us. So where I want to start today is your journey into game development, because, you know, poking around in preparation for the show, it seems you come from a very much like rendering background, which makes a lot of sense looking at teardown. So I'm really interested, like, what was your career to date leading up to teardown? Yeah, that's actually not entirely correct. For being a game developer, I've been pretty uninterested in vendoring for a long time.
1:45I've been working in games since 2001 or two. It's more than 20 years now. And I only started tinkering with rendering really just a couple of years before starting on Teardown, really. I've been doing some rendering, of course, in order to be able to do the previous games. So that was maybe seven, eight years ago or something like that. My main interest has always been physics in games. And that's also where my main part of my career has been. I worked for physics engine companies and writing my own physics engines and doing physics games. And so that's really the core of my background. That absolutely makes a lot of sense.
2:25Having experienced tear down and the core gameplay loop, a physics background absolutely makes sense. Where did that interest come from? Is that driven by your own gameplay experiences? What got you going on physics engines? Yeah, I can't remember exactly, but it was during my time at the university when I was studying media technology. A lot of my student colleagues were really interested in rendering. and I thought somehow that physics was more interesting because of the interactivity and it wasn't really that much used in games back then. This was 1997. We didn't even have ragdolls at that time.
3:02It was just no physics at all for the most part. And I remember there were a couple of games that started to use physics and one of them was Carmageddon 2. I remember playing that a lot to study the physics. there was also this dinosaur game i don't remember the name now but there was one where you could actually pick up objects and manipulate them with a virtual hand and and i thought that was really cool so i just started tinkering with that and then yeah it was carmageddon the one on nintendo 64 the one i played was on pc i might have been on multiple platforms we spoke to the developer of the back port of valves portal to nintendo 64 a while ago and i remember looking at that there was one game that had like physical driven gameplay on the 1064 and it was a cart game so maybe that was carmageddon but i can't remember yeah maybe it was a pretty silly game but the physics was good so yeah well awesome so obviously we're gonna spend a lot of time talking about teardown a wonderfully physics driven game for folks who aren't familiar or haven't experienced the game can you briefly introduce the title so teardown is a voxel sandbox game where the gameplay is based around heists.
4:12So you can, since everything is based on voxels, you can modify the environment, you can break things, and they break in a physical way, not like Minecraft, where you can remove blocks, but when you remove something and explode something, they actually fly and rotate and behave like actual objects. So the core gameplay is that you're preparing a scene for a heist, you're tasked to steal a number of objects on a timer. And you can before starting that timer and starting the heist you can go around and prepare the level destroy things you can build stuff you can move vehicles and then when you perform the heist hopefully you can steal all the targets in 60 seconds awesome yeah that's a great description i think that first point you mentioned is actually particularly important about you know you can damage objects they go flying off and the comparison to minecraft so i think one of the things that first caught my attention on it is like there are voxel games where the voxels you know exist to make up the world to make up the objects but then everything is aligned to a voxel grid and that is not the case with teardown right like the voxels make up the geometry of the things in the world but then they are operating in free 3d space am i correct on that yeah that's correct they're still on a grid but each object is on its own grid and then the whole grid can rotate in the world and move around freely perfect yeah we'll come back to the heist concept because i think it's really neat and a really good way of using the engine you've built to make gameplay and it's really really fantastic but as we're spending a little bit of time on the game and the engine that you mentioned so it's built out in its own engine where's the chicken and egg here did you have the idea for the game well formed and was like cool this is you know i need to build this technology to do this or was it very much a i know these are the features i want to make from an engine perspective and that's the game grew out of it yeah it's very much the second one i had no idea about gameplay when started to tinker with this.
6:02I just wanted to do cool physics-based destructible voxels. And then gameplay was actually a pretty hard one to crack for this game. It took a long time to come up with that concept. And there was a lot of prototyping for different games involved in that. So it was really nice when that finally landed. Fascinating. And what kind of time period, like how long have you been working on the engine before the core gameplay loop kind of cemented i started in 2017 i think and then building the technology and doing prototype for the gameplay was kind of interleaved a little bit but it wasn't until 2019 it must have been where i finally decided on the gameplay and and started building the actual game nice so that was a couple of years yeah yeah that's a good amount of time.
6:53So I guess, tell us about the engine. I guess a place to start, like, what were you seeking to build? Like, what was the engine that you had in your mind before the game crystallized? Like, what were you after? So the idea for the voxels started, I think, with this little voxel modeling program called Magica Voxel. It got pretty popular during that time. There was a lot of beautiful images floating around on Twitter, and I just saw them by accident. And it struck me how well suited that would be for a game. And I don't think that had really been done before at that scale. And it was also kind of perfect for physics, because normally when you do destruction with polygons, like you normally do with games, you have these triangle meshes.
7:36When you do destruction on those, there are a lot of gnarly cases with degenerate triangles and floating point precision issues. And none of that really exists with boxes. Everything is nicely aligned on the grid. It's all integer math, and it's much more well-behaved. So that kind of clicked the whole thing. It could also be worth mentioning here that the voxels here are considerably smaller than typical voxel games. So they are on the scale of where one voxel is 10 centimeters. So there's quite a lot of them. So I wasn't really sure that was going to work. And that's sort of what inspired me to try and replicate that Magica Voxel feel in a video game.
8:19Oh, that's awesome. So the size of the Voxels came from Magica Voxel. Do I understand that correctly? Fascinating. Okay, cool. That was going to be one of my questions, because that's one of the first things, you know, as a person who spent a good amount of their teams on Minecraft, like the size of the Voxels is one of the first things you notice booting up the game, that and the ray tracing. And so I was like really interested in how you came by that size. But okay, that being from Magica Voxel makes sense. So actually, you know, mentioning the size of Voxel and how many of them and the performance.
8:43I think there's been, I don't know if you're aware, but there's been a couple of really amazing like blogs tearing down, tear down and the rendering and the performance of it. And lots of people very impressed by your work. And what are some of the challenges of, you know, dealing with, I guess, both physics and also just drawing that many voxels on the screen that you're dealing with? Yeah, I read those blogs. Also, it's really incredible how detailed they are. And they've done a much better job than I could have done describing that. So I'm really thankful someone did it, because I've been wanting to write that up for some time, but now I don't have to.
9:14And I think the most challenging issues, there were a lot of challenges, both in the physics and in rendering. But I know for a long time, I was keeping lighting in screen space, meaning that when doing ray tracing, it was only considering the parts of the world that you were actually looking at, which is not great, because if you have a light behind your head, or if there's something blocking your light behind the head, it's not really casting shadows correctly. And it's a lot of artifacts. So getting all that to run in voxel space and make it more correct, that was quite challenging to make that run at decent performance.
9:57And from a physics perspective, a lot of physics actually turn out much nicer with voxels. That was something I thought was going to be challenging to do collision detection, to detect if two objects are close or overlap in order to make them respond with physical forces. That was something I thought would be really tough, but actually turned out much easier than I thought. So there were both pros and cons, I think, with going with voxels instead of regular objects, so to speak. yeah i mean on the physics in terms of things that are different i don't know if i have a well-formed question on this but obviously i noticed like you know as you're first exploring a physical driven game especially a destructive one you're like okay if i smash it this way will it you know react in the way i expect were there any i guess like particular physics interactions that you found very difficult to implement or decided didn't contribute to the gameplay and didn't implement if that makes sense yeah there is one clear candidate for this question and that is the structural integrity right so if you have a whole house for instance and you remove almost all of the lower floor so it's only hangs on a single voxel it's still connected but it in reality it should just break no material is so strong to be able to hold up the house that's something a lot of people have requested obviously and it's also something i thought would have been cool to have in the game but it's i still don't know exactly how i would go about implementing something like that because it's really complicated when it's so generic as it is in teardown right and there are just so many voxels there are hundreds of millions of voxels in a scene and trying to untangle how they're connected exactly and how much weight they're feeling how much they're supporting we have to like calculate stresses along like different lines of material real times and all kinds of nonsense yeah so i'm not doing that and i think and there have been some misconceptions about this in the past that i i think it was actually a good decision for gameplay i don't know that since i don't know how the game would have played with it but i i do appreciate that you can trust the environment if there is something holding up a building or something i know that it's not just going to randomly break like it does in the real world then that gives you more ability to plan when you prepare yeah that is really interesting for the planning stages as you say like you know you can set up like i know on my way out that i want this thing to collapse and i want it to be a single block that i knock out right like you can you wouldn't be very stressful to do that otherwise fascinating so this is i guess like a very table stakes question but you know what is the technology of the engine and what did you use to build the engine?
12:39I'm really interested in game technology and I tend to build a lot of stuff myself. Just, I mean, there are pros and cons. I could have built Teardown in an engine. It would have been hard because there are no engines supporting that technology natively. So I would have to rewrite large portions of it. And I'm not sure in the end if it would have been easier or harder to do it in something like Unity or Unreal. You get a lot of things for free, but it also takes a long time to learn and you have to keep updating it and all that. But I've always, also in the past, written my own engines. I really enjoy it.
13:21It's a big motivating factor for me. So I'm not really planning on changing that. So I wrote everything. I do use, for Teardown, I wrote the graphics using the OpenGL API. it's an old API it was old already when I started now it's ancient and we have replaced it since but that's pretty much it I do use some libraries for compression reading images and stuff like that but it's very low level small replaceable bits and pieces it's not built on any existing framework or anything like that so it's very much a handwritten engine that's when you say you've replaced opengl was that with vulcan or it's actually d3d12 i did not replace that myself but it was done by saber interactive when porting it to console that was yeah we needed something else for that to work awesome cool so you mentioned that you only really got into rendering shortly before starting to build the game and obviously one of the very like commented on things is like the beautiful ray tracing and it's i think also just as a slight aside the fact that the like planning phase of so many levels takes part like golden hour is like a fantastic touch it's very like everything's beautifully lit excellent choice of time of day for your game what was the way around it was like you developed an interesting rendering you were like cool i now need to like you know i'm gonna this interest has fueled this game or yeah how did the ray tracing element come about?
14:54So I think since I have not been so interested in rendering previously, I kind of missed that whole train of learning all these tricks that you have to do in rendering. I never implemented cascaded shadow maps and all these tricks that people use in order to simulate what ray tracing already does. So I kind of jumped straight to ray tracing instead. And ray tracing is conceptually much simpler than rasterization. So a lot of things is just easier. I think that the choice of voxels was also simplified the ray tracing implementation a little bit. There were a couple of tricks that I used that you can't really do, not as easy at least, with triangle meshes.
15:42And that is, in order to calculate what light is blocked, I actually create a voxelized version of the level that is all in memory, where I just represent each voxel as a single bit. so it's basically a bitmap with hundreds of millions of voxels and i can just keep that updated and use that for ray tracing and it's super fast to just traverse the bits in that grid instead of visiting different objects and all acceleration structures and things that you do in normal hardware ray tracing that's becoming popular now so it's a very custom implementation of ray tracing that only works for this particular game.
16:26So it's not really something you can apply to any game. That's fascinating. So trace for the implication, I guess I'm most surprised that keeping and maintaining that bitmap and keeping it updated when like, you know, you've got players knocking houses down in real time. I'm surprised that's performant. Yeah, I wasn't sure it was going to work. I've often gotten the recommendation to why don't you move that to the GPU? Because right now it's the CPU is actually orchestrating that whole update scheme. And it can be complicated if you have a lot of changes simultaneously on the map, you have to update a lot of objects, obviously.
17:03But the CPU is pretty good at orchestrating difficult, complex things, whereas the GPU is not. It's much better at just crunching numbers, just going over big chunks of data and crunching numbers. So it's a pretty hard task for the GPU to do. And I think it turned out pretty well. You can see sometimes it gets expensive if you play the game and you've driven one of these large boats. There's a yacht, for instance, you can drive around. That one is pretty expensive to update because there's just so many voxels moving. But for the most part, it's not really a bottleneck. You can obviously do that update on the CPU in the background, so you don't really have to do it all at once you can just paralyze that really well while doing other stuff fascinating that's very cool yeah i'd seen we mentioned this blog i should probably yeah this is a echo.net's teardown blog was one i think i read mentioned that your ray tracing was entirely on the cpu i think which was very interesting the ray tracing is not on the cpu it's actually on the gpu it's only the update of this shadow volume these are the bits that block light right okay cool so we've spoken a bit about the development of the highest concept and obviously the gap between you know you starting the engine and the highest concept coming out i guess my one thing i'm you know dying to know is the teardowns that could have been like what concepts did you experiment with in that two-year period before you landed on the heist so i was working with a colleague emil and we were trying to come up with different games with this and we did quite a few prototypes on that.
18:39We started, I don't remember which one was the first one, but we did have a heist game that we worked on. But it wasn't really the same concept. It didn't have a timer. It didn't have multiple targets in the same way that Teardown does. It was more based around resource limitations. So you had like one explosive and a sledge and they were affecting different materials and you had to be strategic about where you placed that bomb and it was a game but it wasn't really that fun because if you're given this world with infinite destruction and you have like one bomb it's just not gonna be such a fun game so that was i think the main problem and with with most ideas that we tried and also some idea we had a vehicle or like a driving game of sorts where the physics and the destruction was more like a decoration, more like a visual effect.
19:36And that was something I didn't want. I wanted the destruction to affect gameplay and really matter and not just be big explosions with things flying everywhere. You actually want to use that for some problem solving. So there were a lot of constraints. And also doing games with fully destructible worlds is a nightmare for a designer because there's really nothing to work with. You're players in this world and you don't really have anything that can limit the player. You can't place, well, you could place unbreakable walls, of course, but then everything wouldn't be destructible. So everything is destructible.
20:14It comes with a lot of constraints on the gameplay. It wouldn't work. Most games just wouldn't work if you added fully destructible environments. because they're designed to limit the player. If you can just, if you're going to pick up key card, the yellow key card, and you could just take out the walls and pick it up, it wouldn't be much of a game. I think that was the biggest obstacle in trying to come up with a good gameplay. Fascinating. Yeah, it's really interesting to hear just thinking about the first couple of levels and how concepts like, you know, different material harmonices and stuff come in, like how you introduce that like that first level where you're like oh i can't just sledgehammer through this wall because it's brick ah there's a window around the side like it's really interesting to think about that i guess like escalation of all that problem solving experience from the perspective of like finding that hard as a level designer because i think you've approached that really well also the limitations is fascinating because one of the things that like really surprised me in multiple ways because you said that is that first i guess like quasi tutorial level you've just got to smash up the first house i was like oh okay we've got a house here there's a couple of propane barrels next to it.
21:19That's cool. Turn around. Oh, there's three tractors and another stack of propane barrels. They really want me to go ham on this. I was so surprised how quickly you were just like, have all the tools, do everything. The sky is the limit. Yeah, that tutorial level was actually, it was designed that way that you get two or three propane tanks, but it's not enough to take down the house. So that kind of encourages the player to look around the environment and see if they can find something else. It's also very interesting in terms of what you know, what you said about the example you gave for the limitation of physics engine in terms of not having like structural stress in terms of like you know if you knock down all the walls of a house but there's one pillar there's one like pixel still stand or one voxel still standing it will stay up it's then interesting that the like the first building to destroy is literally a house where the the intuition i think for most players is going to be take out the ground floor walls right it's a good yeah that was also a very deliberate decision because we knew a lot of people were going to be disappointed for that lack of structural integrity.
22:16So we thought it was better to just show it immediately. This is how it works. You're not going to get the full thing. It would be cool to try and add something like that. You could also fake it a little bit by making the house in multiple parts and join them together with physical joints instead. And we do that for some parts of the buildings, but it's generally quite hard, I think, to enable that on everything yeah imagine you'd start getting into unpredictable behavior like bits of building shaking even this kind of thing right yeah and there was actually one one other constraint in the beginning when we released teardown in 2020 in early access there was a limitation on this thing that finds connected parts so if you have a really big house and you take down the whole entire lower floor even the last voxel it would actually still stand right which was incredibly frustrating for people who took the time to do that.
23:14And that's something we updated a few months later. It was a really challenging technical problem, actually, to come up with an algorithm that could do that for infinitely large objects, because you may end up searching the whole level, which is hundreds of millions of voxels. So it can be really slow. But we managed to come up with a good one in the end. So you mentioned that infinitely large objects, which you know makes me think of modding so you know a lot of these constraints you know in a normal game you could be like okay well we don't have to make this super generic powerful algorithm because we know we're not going to build a structure because it's going to be a problem but obviously your game is enormously popular with the modding community and i think actually there's an article out there that describes it as like the new gmod which is very i was very happy to see that description of it what was your approach to making the game modable was that a vision you had from the start to like support the modding community was that an emergent use case it was not there from the very start but we knew that or we had a hunch that people were gonna be into modding this even before the first early access released so we did kind of prepare the game in order to have a fully supported scripting api and all that i think in the first version we even had a little bit of modability you could you could like build an object in the magic of oxal and then import it into the game.
24:36And so there was, we did have this idea that we wanted to support modding properly already from the start. And I think for me that that has been the most rewarding part of the whole experience to see what the modding community can do with this. And that's one thing I'm particularly happy about that it turned out so well. And we have so many people spending their free time modding this game. It's amazing. And I guess as a developer and as someone who, you know, you mentioned earlier, really enjoying building your own tools, how do you think about providing that development experience for your modders?
25:11Is there any particular like tools or things of the API that you were really interested in making a good experience? I think in the beginning, we just did what we needed in order to build the game, but made sure that it was in a format so that it could be used for other things as well. But as time went on, we started implementing recommendations or requirements from the modding community. So now it's been a little bit of a mix between the two. It's not really a full platform. There are still some things that are really hard to do for the modders, like implementing a custom character controller, for instance.
25:46Some people have tried and failed, and it's very much not designed to do that. So it's kind of hard. and i think at this point it's going to be hard to change the api because we have so many mods using it so we're a little bit locked in and that's i guess that's the downside with all software one that you keep updating that that you kind of get locked into a corner and there are definitely some things i would have done differently if i knew where it was going but for the most part i think it turned out fine actually i realize this is a really hard question on top of your head are there any mods or the work of modders that really surprised you where you were like, oh, I didn't think anyone would be able to do that with this engine.
26:23Yeah, there's a lot of them. I think the first time I felt that must have been the portal gun. Someone obviously implemented the portal gun in Teardown. And that, I was just amazed. This shouldn't be possible. They had a rendering from within the portal using, we didn't even have a way to draw pixels on the screen so they were using the ui api to draw big rectangles and they just did lots of them and doing rate cast it had their own ray tracer from within the scripting language to render the portal and put them in the world using sprites and it was it was just incredible and not something i would have ever thought would be possible so yeah things like that are really fun to see so also the game has been around for a while now and you've been you know it's been a journey like you've been acquired and then i believe saber are no longer part of the chain you're directly under embracer is that correct yeah there's been a little rough path the last couple years i sold the company to to saber interactive they were owned by embracer and then about maybe half a year ago embracer got rid of saber or saber got rid i don't know they were changing ownership.
27:38Embracer did a lot of things about half a year ago. Yeah, a lot of things back at that time. And in that process, Embracer really wanted to keep us. So we changed owner to be under Embracer instead. It hasn't really affected us that much, I must say. We do have a little bit more control now, which is good. But it's been relatively smooth, I would say. Yeah, so across all of that, you know, game is reaching 11 maturity. has got a great user base, building great content on it. How are you thinking about the future of Teardown or of Tuxedo Labs? Is there anything else cooking in this engine? You think about future titles?
28:16Are you working on more stuff for Teardown? Yeah, I've been doing for the last, I'm actually not that much actively working on Teardown anymore. We now have a good team doing updates and working on that. I've spent most of this year actually researching new technologies and new types of rendering. And whether some of that ends up in teardown or a new title is not really decided. But it's been a lot of fun to get back to more tech research. I haven't really done much of that in the last six, seven years. It's been mostly just crunching out features and code for the existing one. So I'm really happy to be back at that.
28:55What is it that's given you that space to do it now? Is it just because like where teardown is? Is it lifecycle? Or is it like a stage of Tuxedo Labs? this growth? I think the main thing that enables me to do that is the fact that I sold the company because I wasn't really interested in running a company. It was quite surprising to me how Teardown took off and I had to spend a lot of time, you know, salaries, management, it's just these day-to-day things you do when running a company that I don't enjoy at all compared to technology and programming so that was the main motivating factor for me to sell it and kind of take a step back and really focus on the technology and it's been taking maybe a year to do that full transition to have build a team that can take over all those those tasks of maintenance so i can focus on something new and i think that kind of happened beginning of this year so awesome very cool yeah it sounds a lot like the story of the zattronics acquisition as well where he was just like, I don't want to be running this company.
29:59I want to make cool games. And yeah, very, very understandable. Very understandable impulse. I don't want to push you on revealing any decision reveal in terms of what you're doing with it. But you mentioned, you know, like up and coming rendering technologies that you've been looking at. Is there any particular like named techniques that the audience might be interested in? I finally learned Vulkan. Oh, nice. I've been stuck on OpenGL for so long, mostly because I'm lazy. And now I took the time to learn Vulkan. I'm not sure. I really like it. I think it's a bit too low level for me. It's just you have to do everything yourself, even the not so fun parts.
30:35But the reason I wanted to learn Vulkan was to get access to this hardware ray tracing that's been cooking for, I don't know how many years now. When did it come in, was it 2018 or something when it came out? Yeah, it was when the proprietary RTX cards and whatever start landing. Yeah, I think about that. Yeah. And it's actually really useful, even when ray tracing voxels. I thought that it wouldn't be so useful for rendering voxels because it's designed to work with triangles. But it turned out that it's actually quite useful for what we're doing. So I've been looking into that quite a lot to build a fully hardware ray tracing supported graphics pipeline, which has been really cool, because then you can do proper path tracing and you get much better lighting and performance is awesome.
31:24And you get around a lot of restrictions that we had. We had a limitation on the world size. For instance, we couldn't have more than 4 ,000 voxels across the world because of a texture size limitation in OpenGL. And now that we have hardware ray tracing, we don't really need this big bitmap of voxels. We can just operate directly on the objects and also the trying to get rid of restrictions that make life easier for modders to build, make it easier to build content and faster. That's what I've been focusing on the most. And also starting to look into physics again a little bit. It would be something I'm wanting to get back to.
32:06I haven't really done that much yet in that, but I'm slowly getting there. Is that just in perspective of like, you know, just revisiting it's been a while or is there like you know it's kind of the same with with rendering there's new hardware that's enabling you to tackle problems again yeah i don't think from a hardware perspective it's not really not that much you can do well you could do some physics work on the gpu but it's not really well suited for it so it's more about technologies and algorithms and also other types of simulations i've been looking into fluid simulation for instance a little bit and also soft body simulation and see if that can be combined with voxels.
32:46Yeah, there are some things cooking. I have shown a little bit on Twitter about that, but I expect that to be hopefully a lot more during fall this year and going forward. The fluid's particularly exciting here. I mean, there are water-based shenanigans in Teardown very, very early on. So yeah, that's a very exciting area of exploration. Awesome. Well, Dennis, thank you so much for your time. I think I've run to the end of things I wanted to ask you. And yeah, it's been absolutely illuminating. Thank you so much. Yeah, thank you for having me.
From the publisher
Teardown is a 2022 sandbox puzzle game developed and published by Tuxedo Labs. The game revolves around the owner of a financially stricken demolition company, who is caught undertaking a questionable job and becomes entangled between helping police investigations and taking on further dubious assignments. The game stands out for its technical achievements, particularly its
The post Teardown and Voxel-Based Rendering with Dennis Gustafsson appeared first on Software Engineering Daily.
