# Best practices for creating 3D dungeons (interiors)?

**URL:** <https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300>\
**Category:** Uncategorized\
**Created:** [February 20, 2021, 10:02pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300 "2021-02-20T22:02:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wysardry](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/wysardry/32/266_2.png) [@Wysardry](https://forum.castle-engine.io/u/Wysardry)\
**Post date:** [February 20, 2021, 10:02pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/1 "2021-02-20T22:02:22Z")

</div>

I’ve been researching methods for creating 3D dungeons aka interiors and have found that there are at least two ways of doing things. I’m therefore wondering which is best for CGE.

“Daggerfall” method: Dungeons are created from several basic 3D shapes for rooms, corridors and junctions that the player moves around inside. These shapes are textured on the inside only by reversing the normals and culling the back faces.

The walls are 2D planes rather than 3D objects.

“Lego” method: Dungeons are created using solid 3D objects that are put together like building blocks that the player moves around the outside of. These objects are textured on the outside only and the back faces are culled.

Many modular dungeon kits seem to favour this method.

Is either one of these options better suited for the way CGE handles 3D scenes etc.?

---

<div class="post-metadata">

**Author:** ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)\
**Post date:** [February 20, 2021, 10:51pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/2 "2021-02-20T22:51:54Z")

</div>

As far as CGE goes, both methods are feasible. In both cases for CGE (as for any general-purpose 3D rendering library) what you have is just a set of meshes (number of polygons) with backface culling (where the “back face” is whatever you tell the engine, by orienting the normal vectors as you wish).

For a general 3D application/game, what you would do is just to model the environment (either interior or exterior or both, whatever the player may see) in a 3D application as a set of polygons. So it’s the “Daggerfall” method in general, with occasional assets put together from large pieces (e.g. make a castle from assets of “castle wall”, “castle tower”, “gate” etc.) just because it is often easier to put together a large 3D environment this way.

In case of a dungeon, it depends on what you want 🙂

In a way, both “Daggerfall” and “lego” (I understand you see it like Minecraft) methods are about the same, you just use “bricks” of different size 🙂 Your “brick” in “Daggerfall” is “a room with connections”, your “brick” in Minecraft is a like a literal brick, which is part of the wall, and the wall is part of the room.

- “Daggerfall” method means you sit in Blender, and can design nice rooms. Then you have a lot of modules that you can connect in various ways (as many as you can model – lets say ~100 if you spend a lot of time). I would choose this method, as I have some experience working as a 3D artist (I’m not an artist, but I can use Blender and I was even teaching Blender a few times, and I can create _some_ things in Blender given enough time), and it gives me control to make some impressive modules (like a sudden huge cave interconnecting some rooms, or a sudden outdoor vista in a dungeon).

- “Lego bricks” (Minecraft) method means you get to write a lot of cool procedural generation algorithms.

---

<div class="post-metadata">

**Author:** ![Wysardry](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/wysardry/32/266_2.png) [@Wysardry](https://forum.castle-engine.io/u/Wysardry)\
**Post date:** [February 21, 2021, 4:46am UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/3 "2021-02-21T04:46:32Z")

</div>

I probably should have used the word “block” instead of “brick” as I didn’t really mean something the size of a house brick.

In the “lego” method, I was thinking that each square of the dungeon would have a floor block with zero to four wall blocks around it, plus a ceiling block on top. I would probably create modular prefabs from different combinations of these pieces, so that there would be less assembly required.

The “Daggerfall” method looks to be easier for simple corridors and rooms, but I can see it getting complicated when it comes to doors into rooms next to corridors. I’d need to place each side of the wall (and any ends that showed) separately if each side had zero thickness.

I also remember that in the game Daggerfall, the player was prone to falling through the joins between dungeon pieces. I’m not sure if that was due to floating point errors or bad collision detection, but it was annoying.

The “lego” method would likely take longer to create individual corridors, but I can see doors through walls being easier to assemble with solid blocks.

As you mentioned, there would be some faces that would never be seen though. I suppose that creating wall sections in multiple lengths would reduce that problem. i.e. have 1, 2, 3 and 4 metre long wall blocks instead of making everything from 1 metre blocks.

---

<div class="post-metadata">

**Author:** ![eugeneloza](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/eugeneloza/32/12_2.png) [@eugeneloza](https://forum.castle-engine.io/u/eugeneloza)\
**Post date:** [February 21, 2021, 7:51am UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/4 "2021-02-21T07:51:04Z")

</div>

> [@Wysardry](#):
>
> I’ve been researching methods for creating 3D dungeons aka interiors and have found that there are at least two ways of doing things.

If you’re asking that in context of Dungeon Crawler Jam 2021, then note, that making a proper tileset of either “rooms” or “blocks” takes a hell of a time (I’ve spent around 1 month making library tileset for Mazer). It might be a good idea to go much, much simpler, as in Duungeon example I’ve posted some time before (video [https://drive.google.com/file/d/1RhwxyBUah1PxAXM7l9om32bDksqBD3QF/view?usp=sharing](https://drive.google.com/file/d/1RhwxyBUah1PxAXM7l9om32bDksqBD3QF/view?usp=sharing)). Where you just generate a map on a rectagonal grid (making it a simple generation algorithm) plus makes the design of “tiles” much easier - they can be as simple as textured boxes:  
 ![2017-12-28-004529_1366x768_scrot](https://forum.castle-engine.io/uploads/default/original/1X/bc9de9f19bb35cce01112003b4ce662bf2c6713a.jpeg)  
Yesterday I was just absolutely impressed by artstile of [Pencil Dungeon by Generalis](https://generalis.itch.io/pencil-dungeon)

---

<div class="post-metadata">

**Author:** ![Wysardry](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/wysardry/32/266_2.png) [@Wysardry](https://forum.castle-engine.io/u/Wysardry)\
**Post date:** [February 21, 2021, 12:42pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/5 "2021-02-21T12:42:49Z")

</div>

I was intending to create my own modular dungeon kit before the game jam starts and then put the pieces together during the jam. That wouldn’t be against the rules, as some people intend to use ready made asset kits of various types and/or engines specifically made for creating RPGs.

Keeping it simple would definitely be a good idea, considering my lack of experience and limited time. I was thinking along the lines of Might and Magic I to V or Eye of the Beholder, although they were created in 2D.

I just started playing [The Deep Paths: Labyrinth of Andokost](https://store.steampowered.com/app/375500/The_Deep_Paths_Labyrinth_Of_Andokost/) as inspiration, and it seems a little more detailed than what I will be aiming for.

---

<div class="post-metadata">

**Author:** ![eugeneloza](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/eugeneloza/32/12_2.png) [@eugeneloza](https://forum.castle-engine.io/u/eugeneloza)\
**Post date:** [February 21, 2021, 1:37pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/6 "2021-02-21T13:37:37Z")

</div>

> [@Wysardry](#):
>
> it seems a little more detailed than what I will be aiming for.

Try Anvil of Dawn for inspiration (4 USD for a 1995 game?! With the developers disbanded in 2001. They’re joking, right? Ah, looking at a longplay on Youtube is enough - the game fails contemporary gaming standards anyway). I guess that level of detail is perfect.

---

<div class="post-metadata">

**Author:** ![Wysardry](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/wysardry/32/266_2.png) [@Wysardry](https://forum.castle-engine.io/u/Wysardry)\
**Post date:** [February 21, 2021, 10:00pm UTC](https://forum.castle-engine.io/t/best-practices-for-creating-3d-dungeons-interiors/300/7 "2021-02-21T22:00:35Z")

</div>

That looks more hand drawn than I would likely attempt (I’m not an artist).

This [low poly dungeon kit](https://overactiongames.itch.io/modular-low-poly-cartoon-dungeon-props-and-tileset-pack) is closer to my skill level, although it’s intended for top down games.

It’s also quite close to what I meant by “lego” method. Ignore the outdoor pieces, as I’ll likely only create indoor areas to keep it simple.

I also found a [video on Daggerfall Unity dungeon construction](https://www.youtube.com/watch?v=7-hqwyc7qxM) at Youtube and a [modular environment building course](https://www.udemy.com/course/3dmotive-learn-modular-environment-building-for-games-with-blender/) at Udemy. The latter isn’t free, but you should be able to get the gist of the method by watching the previews.
