• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design A few (quick) basic questions

Ihmhi

Grizzled Veteran
Jul 7, 2009
401
6
38
www.asseater.org
I'm familiar with Valve Hammer and I find the UT editor godawful in terms of moving around. That aside, I might dabble a bit in KF mapping and I have a few (relatively) simple questions.

1) Do I have to make sure the map is "sealed" (i.e. airtight), or is this not as huge of an issue in this engine?

2) Any decent Source mapper will tell you that Carve is the devil. While I could build rooms from primatives (i.e. seperate blocks to form a room and leave a door open), is there some sort of carving system? Is it palatable to the engine, or harmful?

3) Are there any vis concerns I should have? In Source, big open areas are a no-no - they can make your FPS drop into the single digits. Thanks perhaps to the fog, KF doesn't seem to have this issue.

4) Can you make doors open only one way?

5) If I use a "button door" like the ones on Doom2Final (however those are made...), will specimens be able to open it? (It would be one that can open and close.)

6) Can I load a map for a walkaround test without things like zed spawns? I recall reading a tutorial (somewhere) that all you would really need to do is Build the lights and have at least one entity (actor?) like an ammo box and it would run. Would the map just automatically win condition?

7) If the answer to #6 is "no", would it arse up the map if I just plonked a specimen spawn in a faraway, closed-off room so I can walk around without worrying about combat?

8) Can you have weapon spawns be set to spawn a certain weapon 100% of the time, or are they always random?

9) Can you change the angles of weapon spawns (for aesthetic reasons, i.e. a Katana hanging vertically on a wall)?

10) I doubt that I would need custom models, but how would I go about uploading a custom texture if I needed to do so?

11) Last one for the moment: in Source, you need to create a whole bunch of things like a .res file for fast download to work appropriately. It seems to me that KF just packs everything into the map file, so I only need to worry about the one file for downloads (and conversion to .uz2). Are there any files that are contained outside of the .rom?

That's all I have for now. I might have more questions after these responses.
 
1) Do I have to make sure the map is "sealed" (i.e. airtight), or is this not as huge of an issue in this engine?
Not sure what you mean here. A map in UnrealEd isn't empty space with a map in it, but it's matter with space carved out where the map is in. So technically it's always "airtight".

2) Any decent Source mapper will tell you that Carve is the devil. While I could build rooms from primatives (i.e. seperate blocks to form a room and leave a door open), is there some sort of carving system? Is it palatable to the engine, or harmful?
You can subtract brushes. I suggest you start reading some newbie tutorials as there are quite a few differences between the two engines besides using different keys to move around. No disrespect intended, but you should know what subtracting and adding brushes means before you start mapping in UnrealEd.

3) Are there any vis concerns I should have? In Source, big open areas are a no-no - they can make your FPS drop into the single digits. Thanks perhaps to the fog, KF doesn't seem to have this issue.
UnrealEngine in general doesn't have this issue.
It only becomes a problem if your room aren't well optimized in terms of polys and texture load, but this is true for small rooms as well.
There is nothing that really kills the performance unless you overdo it, of course.

4) Can you make doors open only one way?
Yes.

5) If I use a "button door" like the ones on Doom2Final (however those are made...), will specimens be able to open it? (It would be one that can open and close.)
Yes.

6) Can I load a map for a walkaround test without things like zed spawns? I recall reading a tutorial (somewhere) that all you would really need to do is Build the lights and have at least one entity (actor?) like an ammo box and it would run. Would the map just automatically win condition?
All you need is enough space for you to exist in and a playerstart for you to spawn from.
There used to be a bug in KF where it would spam the log with errors if you didn't have a few ammo boxes in the map and this would reduce performance greatly, but iirc they fixed it a while ago.

7) If the answer to #6 is "no", would it arse up the map if I just plonked a specimen spawn in a faraway, closed-off room so I can walk around without worrying about combat?
It's yes for #6 and no, it wouldn't "arse up the map".

8) Can you have weapon spawns be set to spawn a certain weapon 100% of the time, or are they always random?
You can have weapon pickups or random item/ammo spawns. Whatever you want.
9) Can you change the angles of weapon spawns (for aesthetic reasons, i.e. a Katana hanging vertically on a wall)?
No. Unfortunately not. You can change it in UnrealEd, but in-game it'll always be horizontal.
10) I doubt that I would need custom models, but how would I go about uploading a custom texture if I needed to do so?
Just distribute the texture package file in an archive with your map file when you upload it to a file-host. You don't have to use a separate package for textures or models as you can stuff them into the myLevel package. That way they are packaged directly into the map file.
Servers automatically supply clients with the packages they need, so no matter if you have your textures in myLevel or in your own package they will get downloaded by clients from the server automatically.

11) Last one for the moment: in Source, you need to create a whole bunch of things like a .res file for fast download to work appropriately. It seems to me that KF just packs everything into the map file, so I only need to worry about the one file for downloads (and conversion to .uz2). Are there any files that are contained outside of the .rom?
See above and read the link. The .rom file is the map including any packaged content that is packed in "myLevel". Stuff that is in separate packages is automatically downloaded to clients from the server. Just make sure to include every package that is needed for the map to run and that isn't part of the game in your archive when you upload the map to a file host.
I don't think you have to worry about compressing to uz2 as a mapper. Just pack everything into myLevel and it'll be fine.

I recommend reading everything under 1 (may not be necessary if you can control UnrealEd alright already) and definitely everything under 2 in this topic here:
http://liandri.darkbb.com/unrealengine-2-f11/tutorials-for-unrealengine-2-t27.htm

Good luck!:)
 
Upvote 0
I'm a former Hammer mapper, worked with Source since release so i might be able to answer a few of your concerns:
1) Do I have to make sure the map is "sealed" (i.e. airtight), or is this not as huge of an issue in this engine?

Sealing is not an issue, while in Source everything in the world is empty and you "add" to it, in UE2.5 the world is one massive block out of which you carve.

2) Any decent Source mapper will tell you that Carve is the devil. While I could build rooms from primatives (i.e. seperate blocks to form a room and leave a door open), is there some sort of carving system? Is it palatable to the engine, or harmful?

Yes, Add and Subtract. Now UE2.5 is very much more basic brush based, it's more model intensive than source is.

3) Are there any vis concerns I should have? In Source, big open areas are a no-no - they can make your FPS drop into the single digits. Thanks perhaps to the fog, KF doesn't seem to have this issue.

All engines have this, no turning around that. Newer engines optimize automatically, but the UE2.5 engine still needs manual optimization.

4) Can you make doors open only one way?

you could make the trigger only selectable on one side of the door.

5) If I use a "button door" like the ones on Doom2Final (however those are made...), will specimens be able to open it? (It would be one that can open and close.)

Specimen get near a door trigger and it auto opens if they need to get trough

6) Can I load a map for a walkaround test without things like zed spawns? I recall reading a tutorial (somewhere) that all you would really need to do is Build the lights and have at least one entity (actor?) like an ammo box and it would run. Would the map just automatically win condition?

Nope, it wouldn't cause an instant win. You'd need to compile a map without the kfzombiespawn volumes to just walk around in it.

8) Can you have weapon spawns be set to spawn a certain weapon 100% of the time, or are they always random?

you should be able to do that and otherwise you could just let the weapon in question spawn.

9) Can you change the angles of weapon spawns (for aesthetic reasons, i.e. a Katana hanging vertically on a wall)?

never did this but i see no reason why not.

10) I doubt that I would need custom models, but how would I go about uploading a custom texture if I needed to do so?

tutorials on the mapping wiki avp2501 will answer that.

11) Last one for the moment: in Source, you need to create a whole bunch of things like a .res file for fast download to work appropriately. It seems to me that KF just packs everything into the map file, so I only need to worry about the one file for downloads (and conversion to .uz2). Are there any files that are contained outside of the .rom?


packages for models/textures/sound/etc if you plan to add any of them.
 
Upvote 0
Thanks for the info.

I've read up on add and subtract and I can't quite seem to understand it. Subtract appears to texture the inside of, say, a block, so I suppose that would make a hollow block. Add appears to do the opposite, make a solid block with the texture on the outside.

The basic question is, if I had two subtracted boxes next to one another (rooms) and wanted to connect them, how would I do that? Do I put a third block in-between the two and subtract it? :confused:

Once I understand this last bit I believe I'll be fine for some time.
 
Upvote 0
You've more or less got the hang of it.

I think of the unreal world as a giant mold of Jelly (Yum) and you just cut rooms into it.

You're right if you want to join 2 rooms up you just use another cut but make sure all the lines are neat since this will help in the long run.

If you wanted to add a square to these rooms just use add. if you find that an add will not appear inside a cut then you need to change the order of the Add to "Last" otherwise the "Add" is added and then the "Cut" Cuts it out.

It's also possible to "Group" a bunch of these CSG shapes using the intersect tool which will help you create more complicated structures.
 
Upvote 0
In the sense of FPS and rendering, is there any reason to give preference to models over adds?

An example:

Code:
|
|__
   |
---
|
|

If I wanted to make a wall with a lip stickng out like this, I could just make a long add and nudge it up against the wall.

Would a model work better in the sense of framerates, aesthetics, etc.?

I'm given to believe that the Unreal engine is way more forgiving with how resource hoggy it is compared to Source (you learn, very quickly, how to be careful with your architecture in Source).
 
Upvote 0
Subtract and Add just helps you shape your geometry. You can do it with that for a simple lip or nudge.

For more complex shapes StaticMeshes work better as brushes are a little buggy and can cause so-called BSP-errors if they aren't made super clean (and in the long run they can cause BSP-errors either way. Once the complexity gets too high UnrealEd glitches out as it seems) and the performance of StaticMeshes is usually better because a) your hardware can use Transform & Lighting on them if you are reusing them, b) it's easier to cull them with Zones or CullDistances and c) they aren't lit with a lightmap but per vertex and d) they have no effect on the level's geometry, so to speak.

For huge surfaces this looks bad (unless you cut them up into smaller sections to get some more vertices onto the surface to create more detailed lighting) and doesn't help a lot when it coems to saving performance and you can just use brushes instead.

The geometry you get from Brushes is called CSG. It's your level. StaticMeshes are just deco. Think of them as holographic projections with added collision. They are there, you can see them and bump into them, but they aren't really part of your level's geometry.

To give you a rough idea of how to use CSG and StaticMeshes think of it as if you were making your level on a table with clay and tin-models. A huge block of clay being your starting point for your level and tin-models being StaticMeshes.
You can make the rooms with clay (cut out rooms; cut out one huge room and build your level into it; add structure; ...) but to make a realistic looking soldier or a car clay is far from ideal since it's too rough and the small nooks and crannies can break off. Use tin-models for such fine details instead.

That should give you a rough idea of when to use what for what. To get this in more detail plus technical explanations I suggest you consult the wiki:
http://wiki.beyondunreal.com/
 
Last edited:
Upvote 0
Why you would prefer to use models over adds/subbtracts?

reason: As like in Source every shape cuts into anything else in the world it touches, now in Source there are easy ways around this "problem" (not a problem per say as it is necesairy for vvis compile) by making it a func_detail, but in Unreal it is a lot better to just do this in models as having a too complex brush based environment just tend to give a lot of trouble (performance wise and error wise).

so in essence, for the best kind of optimization, all basics of your map need to be made with brushes, all detail with models. Now that doesn't mean that every trim needs to be a model, you'll have to decide that yourself. I usually make anything that can be a cube or cube like form, a brush not a model (just for ease of adjustment when needed).
 
Last edited:
Upvote 0
Ah, so static meshes basically are func_detail in Source.

I have a few more that I've been thinking about, related to weapon spawns.

1) Weapon spawns on % chances based on difficulty. Can I set up a 100% weapon spawn regardless of difficulty (i.e. the weapon is always there guaranteed)?

2) Can you do one-shot, 100% weapon spawns (i.e. it is spawned guaranteed in Wave 1 (or pre Wave 1) and stays there until someone picks it up?)

3) Just in case #2 is "no" (and even if it weren't, I might use this anyway), can you do one shot doors? i.e. it only opens the one time, closes, and then never opens again?

4) Can players grab weapons through thin walls/doors? I'd like to have a couple secret weapon spots (like, say, a pistol in a wall safe) and I wouldn't want them to be able to grab it through the door.

Basically as my design goes, I have weapon spawns I want in certain places (like the aforementioned Hunting Shotgun over the fireplace), but I don't want it to continually respawn for obvious reasons. I do want it there the one time. I'd also like to have 6 of the same weapon at the starting point - perhaps 6 Bullpups, or something like that - that would only spawn once. (The Bullpup issue can be fixed by forcing the player to drop down from a ledge to continue in the map or something I suppose...)

Thank you all for your help so far.

I'm a real ambitious motherlover, so... yeah haha. I know I'm asking more complex/higher-end questions, but I know that I can get a handle on the really basic stuff thanks to my hundreds of hours in Source SDK Hammer and the wide variety of tutorials (especially considering the ones you've linked, thank you very much!)
 
Last edited:
Upvote 0
3) Just in case #2 is "no" (and even if it weren't, I might use this anyway), can you do one shot doors? i.e. it only opens the one time, closes, and then never opens again?
Of course. Just don't use KFDoors but regular movers with regular Triggers. There should be an abundance of tutorials regarding movers on the net. You won't be able to weld the door then, but if you really want it to stay shut this shouldn't be an issue.
If you need specific help, you know where to find us.

4) Can players grab weapons through thin walls/doors? I'd like to have a couple secret weapon spots (like, say, a pistol in a wall safe) and I wouldn't want them to be able to grab it through the door.
I don't think it's possible to grab them through something if it has collision.
I have a breakable sheet of glass in front of an emergency fire-axe in my map and it can't be picked up until the glass is gone.
 
Upvote 0