I am really struggling to find good methods for making FPS maps.
I was excited to use doom builder and export them as a 3-D model, and to be honest it works great for the most part, but the problem was the geometry has way too many leaks that the player can be knocked through and there are sections where my controller gets hung up.
My next instinct was to use either World builder or hammer (which is World Builder 2.0 really). But best I can tell it does not have a good method for exporting models.
Pro builder is not nearly fast enough and requires too much finagling.
blender is only good for modeling it seems.
I’m not opposed to using snaps, but I would much rather have a classic BSP or WAD feel to it. And frankly I’m sick of games where it just looks like models dropped all over the place.
I absolutely agree with BIGTIMEMASTER on this. You can make anything with Blender.
If for some reason you still want to use Doom Builder, you can always bring the geometry in to Blender and there’s a feature to automatically merge vertices that are within a certain distance.
I think this should fix the “leaks” that you’re talking about (assuming it’s the level geometry that is causing the problem to begin with). I’m guessing that you are just generating a non-convex mesh collider for collision?
As you’re definitely aware, when I was tinkering with this, I wrote such tool myself. I do not recommend doing that.
Blender actually is not the right tool for the job, and it would be more fitting for replicating quake. And not Doom 1.
However, it may be a good idea to focus on getting things done and not getting them done perfectly.
Additioanlly getting pushed through the wall is a result of mesh being converted into mesh collider. This is something you have to handle carefully on script side in your movement contrroller.
No, if you take it seriously, it will be very tedious, because doom levels adhere to very specific logic of builder software, and you’ll go nuts in unwrapping phase.
For example:
All maps are 2d.
Overhangs are forbidden.
All floors and ceilings are flat.
All walls use same number of texels per meter.
Then there are minor issues like moving platforms. Basically, if you make a moving platform modern way, as geometry, it might be noticeable through z-fighting on the floor.
You’ll REALLY want a different software for this kind of thing.
Well, I will tell ya, I guess what I’m looking for is something that will let me develop extremely fast as I’m a solo dev looking to make a 10 hour experience.
I am pretty happy with how fast I can turn out content with doom builder, But I will say the collapsing vertices does not work all the time because of how it converts it to a 3-D model.
i’m not having an issue with my player walking through the wall, I am having an issue of them being hit through a wall (especially seams) when something runs into them like an enemy.
I had considered making a script specifically to draw a raycast between frames and jumping the player back if it collides.
since it will be drawn from the dead center of the players movement collider it seems unlikely that it should ever hit anything.
but that still doesn’t leave out the issue of directional light making cracks all over the place.
I know there’s some other things I can do for that, but it really slows down the process.
I just wish there was an option to carve from negative space like the light engine does (thief series) And treats everything outside of the level as solid.
That actually sounds like a bug in doom builder and the way it exports models. Something like this shouldn’t occur as long as there’s no enemies above ceiling level in areas with open ceiling.
You could try replacing raycasts with spherecasts, though.
And I did that, but the problem is that when exporting it treats walls, ceilings, and floors completely unrelated to one another. So it will merge the verts in corners and the like, but it will chop up floors and ceilings with no regard to the walls and leave holes all over the place.
you have options for exporting any way that you need. Just got to look into it. I am sure somebody on blender related forums can help sort that up in no time. There should not be any issue separating or combinging your models in any configuration and getting expected results in unity.
As for textures, if you are doing a non-trivial amount of that grab a trial of substance painter or equivalent and you can probably get what you need knocked out before a free trial ends. OF course if you are doing simple stuff in the same style of 20 year old games, probably photoshop or equivalent is more than enough as well.
You know, when they made the original doom all of the tools they used were much, much worse. Honestly, getting the art done for something like this I would expect to be a matter of a couple of days - at least the enviro art if you are keeping it simple. Def don’t need any specialist tools or genius workflows. Just seek out some enviro artist and stick to the modern basics and you wont have any issues.
The main problem is that blender will be INCREDIBLY inefficient for this.
Doom 1 style of game level construction works best when your software does automatic texture mapping for every surface. So anything horizontal already has texture applied, you can quickly cycle through availabe textures, you can point at a seciton of the floor and pull it up/down, walls are already using correct texture spacing and coordinate, and you can scroll them.
Blender can’t do such thing. So either you’ll waste time writing addons, or you do all of that manually, which will be a huge waste of time, plus you’ll definitely make an error somewhere, as you’ll have to unwrap everything, ensure correct projection on everything, and check everything for texture errors, by hand.
And you can’t just substance painter the whole thing, because you’ll lose the aesthetic.
A 3d workflow that is close to desired effect of doom or quake level editor would be CSG based, like SabreCSG or RealtimeCSG I listed. There you’ll be creating additive/subtractive shapes, create level out of booleans, and can “carve levels with negative space”. That will allow you to block them out very quickly.
Blender CAN be used to quickly construct levels, but those will be prefab-based levels like those in Skyrim and Oblivion. Where meshes are copy-pasted many times across levels. Those can be built very quickly in blender. However Blender is absolutely not made for CSG which is the most efficient workflow for those old-style levels. Yes, you can build old-style level. The experience is going to royally suck, though.
I can answer if you want, because prefabs become extremely noticeable very quickly and there is a certain artistic quality of the stage design with BSP.
One of the big aspects I hate about modern FPS games is how everything looks like prefabs slapped down everywhere.
The shadow warrior remake was particularly eggregious about this. It was just awful
That’s not how I would do it in blender, necessarily. More likely I would start with inverted cube and then extrude everything out from there. A lot of levels in Doom could be represented by a continuous mesh.
Or if I did use “prefabs” they’d just be single wall and floor segments for the sake of reusing UV mapping.
Because it is an incorrect methodology for this kind of levels.
Doom uses prefabs for candles, explosive barrels etc, and those are a single sprite.
But the levels levels are built by carving through an infinite solid block with negative space, editor will automap the walls and floors.
In practice, let’s say you have a wall segment which is 2 meters wide, and you want to make this shape with it:
While keeping texture sizes completely constant.
You won’t be able to do it. You’ll have to scale and stretch.
And once you stretch, you betray the aesthetic.
There’s additional benefit in that that in doom the exterior is an infinite solid block meaning you can’t tunnel through the walls into it.
That will give you geometry, but not textures. Texture mapping this thing will be a pain, and while building you’ll be missing ability to easily raise/lower floors. There is extrude manifold which SORT of does similar thing, but that’s not the same.
In this situaiton you greatly benefit from automatic uv coord generation. And blender does not provide it.
You honestly need either 2d editor or CSG brushes for this sort of thing. While you CAN work without them, it’ll be less efficient.