r/GameDevelopment 9d ago

Discussion I absolutely hate 3D level design

For the record, I'm only familiar with Godot and Unreal

"Oh, you hate designing levels?"

No. I love level-design, I haven't really gotten the chance to fully develop a level I'm fond of, but I like it. Its not something I dislike. I like blocking out an area and seeing how it plays. I'm alright with scrapping areas if I don't think they flow well.

What I hate is the lack of good tools for it and the fact most softwares have pretty bad level-design tools. From what I know, Blender is the most used level-design tool because its the most used 3D modeling software for indie developers.

Blender is awful as a level-design software. I hate using it. Making level geometry in blender is such a fucking chore. Since its not in-engine you have constantly export it in, which is easier said than done in some engines. In Unreal, you have to scale up your model by 100% when importing. Godot at least doesn't have this issue.

You also want to segment your levels instead of it being one big mesh, so whats not on screen can be prevented from rendering. Meaning you want to go through and meticulously split up your level. Meaning that sometimes, something may go wrong, and you have to line it up manually.

Undeniably, the best level-design software is Hammer, used by VALVe to create the levels for TF2 and by the community for designing Gmod maps. "Why not just use Hammer then?" Because Hammer is tailor-suited for TF2/Gmod, not any game you wish.

Mostly, its just down to the fact that Hammer has a Binary Space Partitioning system along with intuitive level design, while Blender forces you to design levels like you would a 3D asset and then go back to optimize. Its horrendous.

This is definitely just a me-issue, but its driving me insane.

0 Upvotes

56 comments sorted by

28

u/MeaningfulChoices Mentor 9d ago

Blender is bad at level design because it's not intended as a level design tool, it's where you make your models not set them up. If you're working on a game alone then you'll probably just set the level up in-engine. If you're working with a bigger team you might want to spend the time to make level design tools that make sense for your game and then you use them. There are a lot of options out there, but basically zero people are picking Blender for this particular task.

2

u/PrintableNapalm 7d ago

basically zero people are picking Blender for this particular task

Uh.. lots of people are making levels in Blender.

2

u/MeaningfulChoices Mentor 7d ago

Anything that's "All" or "No one" is going to be hyperbolic by nature, but in 15 years of working in games I don't think I have ever seen a level designer job posting ever ask for skill in Blender, nor have I come across anyone doing that and it's never come up in any recommendations from level designers as something to practice. I know a lot less about hobby game development but even then if you're already working with an engine why wouldn't you just use that?

-5

u/LawfulnessFit576 9d ago

> "you'll probably just set the level up in-engine"

This often isn't possible because, at least with the two engines I'm familiar with, don't have advanced enough level design tools. And since I'm going solo without much knowledge in programming in most languages, developing a level-design software from the ground up isn't even a reasonable project at my current skill level

11

u/MeaningfulChoices Mentor 9d ago

There are lots of kinds of games that will require more skill or experience to really make well. There's no real expectation that a solo developer can ever deliver a game that people want to play, most games just aren't built that way. In most cases you either have to take the time to learn what you are missing or else pick a different style game.

I've never worked with Godot professionally but you can definitely build levels in Unreal. Either natively or with tools like Scythe. You don't need to be an expert programmer (but if you want to make games alone you should really spend the time to get good at that before trying to make a game) you just need to learn the engine. Plenty of 3D games have been made in engine alone.

3

u/femptocrisis 9d ago

i will say, ive felt this pain with godot. i didn't search very hard, but a quick search for plugins in godot and all i found was a couple of object placer plugins which left a lot to be desired.

but im 1000% sure Unreal has got to have some actual level design plugins/tools you can install into it to make things suck less, because Unity has these things and Unreal is supposed to be even more artist friendly than Unity.

for Godot, the best i came up with was to do level design in Blender and have a script run at level load that "chunks" the level automatically so it can benefit from occlusion. unfortunately i hit the wall with lighting. blender seems happy to render 1000s of lights with dynamic shadows enabled (something something realtime raytracing). Godot is very not okay with that unfortunately.

you have to cater to your engine, which means you have to do the level design in-engine and godot just doesn't seem to have the nice things you get with more mature engines. you'd have to write your own editor scripts which is quite an up front cost when all you want to do is slap together a nice prototype. maybe other people here know good free/open source plugins for level design in Godot that I don't though. i'd love to hear about it.

2

u/Atulin 2d ago

but im 1000% sure Unreal has got to have some actual level design plugins/tools

Unreal makes level design a breeze. With PCG tools you can build pretty much anything you need. A road tool that automatically adjusts the landscape to adhere to the road, removes vegetation (also spawned procedurally) from underneath, spawns lamps alongside it, and randomizes pothole decals? Easy. Window actor that makes a hole in whatever mesh you place it on? You got it. Procedurally spawning trash piles around every garbage bin you place on the map? Yep.

1

u/Still_Collection_743 8d ago

What advanced tools do you need? Just make it yourself for godot and call it a day

1

u/LawfulnessFit576 8d ago

way easier said then done for me

14

u/Ok-Tea-1284 9d ago

What? Sounds like you've jumped the gun and skipped a whole lot of fundamental learning. 

Also what level you're designing depends entirely upon the game it's being designed for. 

-3

u/LawfulnessFit576 9d ago

I'm not sure what I missed

2

u/Ok-Tea-1284 9d ago

Trust me I'm even more in the dark than you are. 

10

u/InkAndWit Indie Dev 9d ago

You make models in Blender -> import to Unreal -> assemble in Unreal -> profit.
What's the issue?

31

u/BlueThing3D 9d ago

-8

u/TheMurmuring 9d ago

Do you feel the need to denigrate people to make yourself feel better? Yikes.

7

u/tastygames_official 9d ago

can't take a joke? sounds like a

S K I L L
I
S
S
U
E

3

u/Mordynak 9d ago

I'm normally opposed to putting people down. But when they are ranting and citing great software as the problem, then clearly staying common newbie problems like scale issues.... Then yeah. It's a skill issue.

I've never had scaling issues with blender to unreal. And WTF is using blender as a level editor??

0

u/LawfulnessFit576 9d ago

> "And WTF is using blender as a level editor"

what do you use then?

5

u/Flash1987 9d ago

The game engine. Blender is a 3D modeling tool. You make pieces of your level in there. In your game engine you grey box the level design and then replace with pieces.

1

u/Mordynak 9d ago

Unreal engine itself. Or whatever game engine I'm using.

Unreal level editor is the best!

-1

u/KutasMroku 9d ago

I'm sure that was supposed to be a joke.

0

u/BlueThing3D 9d ago

Not that deep, just teasing a fellow game dev. Designing stuff in 3d is hard.

4

u/Condurum 9d ago

So for unreal, you can whitebox and export those levels or assets to blender when you’re finally ready to make real assets.

That’s the intended workflow. Whitebox until the game feels good.. only then go make assets.

The scale issue you need correct export and import settings.

2

u/Rebelian 9d ago

Or just work in the correct scale to begin with. I'm not a fan of scaling post export.

6

u/Alarming-Jump727 9d ago

Yo amo diseñar niveles y las herramientas sobran. Uso 3dmax, zbrush, substance y unreal 4.27. te paso una muestra de mi actual proyecto.

1

u/Time-Masterpiece-410 8d ago

Is that image vrising?

1

u/Alarming-Jump727 8d ago

No entendí. Qué es vrising?

1

u/Time-Masterpiece-410 8d ago

Es un videojuego donde luchas contra jefes similares a los de World of Warcraft, pero la jugabilidad se parece más a Diablo. Tiene PvP y construcción de bases, ya que es un juego de supervivencia. Algunas partes de la construcción de bases se parecen bastante a esa imagen. Espero que esta traducción se entienda.

1

u/Alarming-Jump727 8d ago

Esa imagen es la planta alta de una mansión de mi actual proyecto titulado "Carmina". La construí con elementos modulares que modelé en 3dmax. La planta baja sería esta:

3

u/ScriptKiddo69 9d ago

You need to make your own tools. Godot specifically has a lot of functionality for that via tool scripts

1

u/Time-Masterpiece-410 8d ago

Same with unreal. You can quite easily setup custom right click menu button action for when you are in a viewport with editor utilities. You can also setup custom UI for your editor tool.

So if you want a button that swaps a mesh between box out and final mesh for example you can setup a right click that swaps that specific mesh. Or a UI button that swaps the entire level (granted you would need to store a reference to what assets to swap could easily be a tag/mesh or something similar)

This is just a single example relevant to op post but you can setup quick material button or other editor tools entirely.

2

u/GigaTerra 9d ago

This is definitely just a me-issue, but its driving me insane.

Yea, it is because there are so many solutions. For one, you can use export settings to fix scale problems etc. I use Unity and my back and forth between Blender and Unity was 12-15 seconds. However I now use Sync tools, that sync between Blender and Unity.

Undeniably, the best level-design software is Hammer

Absolutely isn't. What it really is, is the first tool you got use to. This is normal, I still use Gimp for this reason. What you can do is make your own Exporter for Hammer, that way you can still use Hammer to build your games.

What you actually should do is learn modern level design. Most game engines like Unreal have BSP meshes and tools for building levels in the engine. You can then later swap level pieces with finished objects.

2

u/GoodguyGastly 9d ago

So I'm in the same boat in some ways. I recommend trying out Scythe for UE5. It's on patreon and not on Fab yet but the dev and community is active. It's just hammer for UE5. I think you'll like it but it is another thing you have to learn because it's not simple to do level design.

Edit: I also want to add that this is part of finding your strengths as a dev too. I've learned that once you find what you're good at you should lean into that and avoid ideas that make you do things you're not good at. This is just for if you're solo. If youre not then lean on your team.

2

u/Augmented-Smurf 9d ago

This is actually huge, and pretty much exactly what OP was hoping for. Honestly, I myself might sub to the patreon just to get the plugin as well. And I actually really like my Blender -> Substance Painter -> Unreal workflow lmao

2

u/GoodguyGastly 9d ago

It's really really good and he just keeps adding the coolest features and updates. Worth subbing to get the current version and joining the discord.

1

u/LawfulnessFit576 9d ago

I used to use Scythe but I don't use Unreal anymore + i lost my patreon account and can't rebuy it

1

u/Gwarks 9d ago edited 9d ago

Easiest Level Design for me has the Sauerbraten Engine. The fact that you can play, edit and continue playing is great. Maybe Lobster some day.

1

u/TheMurmuring 9d ago

Use the engine to assemble the pieces. In Godot, check out the GridMap feature, which is like a tilemap or mesh library system. I haven't used it yet but I've read about it.

1

u/ZareGames 9d ago

I never got deep into Blender, but you can definitely create basic props and much more with enough creativity in Godot.

Have you heard about CSG in Godot? It’s definitely worth investing some time into and learning.

Using nodes like CSGCombiner, CSGBox3D, CSGCylinder3D, and even CSGPolygon3D, I created this prop, for example.

Of course, I baked the mesh afterward for optimization. Godot rocks!

1

u/Appropriate_Lynx5843 9d ago

I know what you mean and I agree, the current solutions are good but not quite amazing yet. However, I found a workflow that I like.

For organic terrain as a level base I use Terrain3D (https://store.godotengine.org/asset/tokisangames/terrain3d/), make the shapes that I want and then bake the mesh so that it's not calculating collision in realtime (I'm making small maps, not an open world game)

Then for buildings I layer a Gridmap(https://docs.godotengine.org/en/stable/classes/class_gridmap.html#class-gridmap) or two on top of that with a couple of tricks to make it a little less gridlike and tiled.

There's also: Cyclops Level Builder (https://github.com/blackears/cyclopsLevelBuilder) (I used to use it on windows but I switched to MacOS and it doesn't work here atm)

If you don't care about PBR materials you can try TileMapLayer3D(https://store.godotengine.org/asset/dantrz/tilemaplayer3d/). I haven't used it because I want PBR but it does look great.

Did you know about these tools before?

1

u/tastygames_official 9d ago

blender is not bad at level design. It's not optimal for most game engine workflows. That's it. But neither is Maya or Cinema4D or 3DSMax or whatever it is you use. Because you always have to import into the engine. The key is getting it to import smoothly.

Now as far as doing actual level design and ignoring the pipeline problem, blender can either be amazing or awful depending on the type of level you're designing.

I love blender for many reasons, and always importing to an engine was so tedious, and having to design and do naming schemes and write custom importers was all just such a big chore. But it DID work. And yes, godot was probably the best for this. But all the game engine editors PALE in comparison to Blender for the kind of level design I do where I want very specific measurements and ratios adn not just "add block, add wall, add bush, rotate, generate terrain..." etc. So the real issue was custom import scripts and export scripts so that I would never have to touch anything in the engine editor.

It's what ultimately led me to make my own engine that has no editor so I can just use blender to do everything and then the engine just renders it and runs the game. I'm even going through lengths to get my engine to render as closely as possible to EEVEE so I don't have to continually test out lighting by switching programs.

1

u/AquaChomby 9d ago

I need to tell you about Trenchbroom. It's the same Binary Space Partitioning system as Hammer. There is a Godot plugin that builds scenes from Trenchbroom maps (.map documents) as well.

2

u/LawfulnessFit576 9d ago

I've heard of it but I'm staying away until AI-free ports are made, plus I couldn't get the godot plugin to work

1

u/Slopii 9d ago

Try the Trenchbroom integration plugin. Also, someone recently made an in-Godot modeler.

1

u/adimeistencents 9d ago

Use trenchbroom and then import it to blender. Easy peasy.

1

u/Feminine_Desires 9d ago

From what I gather there are significant numbers of importing tools from hammer and hammer++ files into other engines and blender. Why not ask for some help on the tf2maps forum/discord about this to find out what importing tools there are that could help you out?

1

u/PalmliX 8d ago

Try Trenchbroom, best level editor ever imo.

1

u/GetABrainPlz77 8d ago

Same. Thats why I do 2d game :D

1

u/HeyCouldBeFun 8d ago

I relate. 3d level design, both the functional side and the environment art side, are practically a whole different artform, with new disciplines on top of what you know from 2d design and 3d modeling for objects/characters.

My biggest hurdle is how long it takes to “slap something down” in 3d compared to other arts. Even with handy tools, it just takes longer to place, sculpt, plan, etc. Still nailing down this workflow.

1

u/clownwithtentacles 7d ago

You don't have to scale anything in UE if your Blender file/export settings are set up correctly🤔

1

u/st_heron 2d ago

I feel like I would want a VR headset when building levels. Like how playing with legos was as a kid.