• 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 Few Hints and Tips

-MGS- Sniper

Grizzled Veteran
May 22, 2011
869
38
I enjoyed mapping for KF2 and creating places for people to play and love the way it enticed many great mappers to make great maps for the game but not only that but new mappers learning their way through the SDK meaning a long future for the game hopefully like KF1.


Here are a few hints and tips for using KF2 SDK please feel free to add any further tips to keep things in one place and neat. You may know better ways or faster ways to do some of the things listed but these have personally worked for me!

FIRSTLY SAVE OFTEN infact more than often as the editor has a habit to crash alot

How do you add custom textures to things?
You can find many custom textures around the net and these can be implemented very easily. First find your texture and save to your PC.
Next step I use GIMP which is like photoshop. Open the texture and rescale to the power of 2 ie, 128x128, 256x256, 512x512 and so on.
Save to your desktop as a PNG file. Next open up content browser in the KF2SDK and click import. Make sure to name the import destination the same as your map Name. Ie testmap.
Once imported you will see it listed, it will say texture2d in the box, this is good but will not work on meshes. You could create a new material but it would be a lot of work building this to have say reflections etc..
In the content browser find the "Packages" folder and right click > Fully load. Once completed search for metal and find the Metal MaterialInstanceConstant. double click this and a box will appear with options etc.. under parent there will be a material name select and right click and copy.
Back in your map folder right click in the box your texture is in and select new materialinstanceconstant, make sure the package name is your maps name and fill out the other names. Open this MIC and paste the parent material name from the other one into the parent of the new one.
You will see in the preview box a ball with a texture. Scroll down to parameters in the box and find Texture check box, tick this and highlight your new texture in the content brower. click the green arrow at the end of the texture line and it will add your new texture. Congrats you can now assign this MIC to static meshes in the map.


Custom textures are not showing in my map online or to other people!
The way I found to fix this is, when your ready to upload your map click the build all like normal, once finished save and then look to the right of the build all button, there is a button that says publish, click this and a box will appear, IF this box says something like cannot compile material blah blah in yellow, let it finish close the box and try again, you have to keep running this until you get no yellow errors for materials or textures.
Save and then upload as normal and textures will work.


How can I add sound to my map?
For sounds you need to have a .wav file. You can use online converters to convert mp3 etc.. to a wav file, most work straight away after converting but some need their properties edited. 44hz seems to work good for me. Also be aware that the Mp3 file size will grow considerably, if you want to keep this down abit you can convert it as MONO instead of stereo.
Once done got content browser click import, packagename is your map name then fill out the rest and import. IMPORTANT : if you want to play say a music file to all players make sure to click "create cue" when importing.
You can either highlight the sound file in the content browser and right click in your map and add ambientsound to add the sound, you can then adj settings like radius of sound, volume etc..
If you want it to play to all players at the same time and volume open up kismet, right click > New Action > Sound > Play sound. this will place a node in kismet, in the options for the sound file you assign the CUE file and then hook it upto a trigger or level loaded or however you want to use it.
Back to the ambient sound, there are a few choices, an ambientsoundsimple will play whenever you go near it, or if you want one to toggle, use the ambientsoundtoggle, this one can be toggled using kismet.


How can I add custom staticmeshes?
You can import staticmeshes in the form of an .FBX file, the process is simple, in content browser click import, then fill out the map name etc.. and click import. The mesh should be now visible in your browser. BE AWARE there will in most instances be NO COLLISION on the mesh. depending where you are placing it that might be ok(its better to have no collision on meshes that the player cannot touch for performance reasons) but if it needs collision you can do so by going to the mesh in the browser and double clicking, up the top line you will see "collision" in the drop down box you can select an option to add collision.There is also a small icon which looks like a square with a green outline that if clicked will show collision bounds in the preview. This is mainly for square shapes and complex shapes should either have custom collision.or blocking volumes.


My Map size is HUGE after adding lots of custom things!
2 Ways to reduce the size are, firstly by publishing the map (see first tip) you will compress textures, this can decrease the file size a lot.
Secondly if you open up world properties (click the binoculars in the top bar and search for world you will see it, click it and click the box properties), scroll down to Lightmass and check Force no precomputed lighting then build lighting. This is not really recommended though and even though I have seen no real difference and it reduced the file size a lot, should only be used for massive files after publishing but better to not use at all unless you have the "burnt" effect below




When I build the lighting meshes turn black!
This could be cause by a few things, is there a lighting volume around the meshes? is there a light? sometimes its the simplist things.
If you have check the above and its still black try double clicking the mesh to bring up its properties and find lighting>lighting channels try changing the channel ie if its indoor change to outdoor, Did it light the mesh? if so either check your lighting volume or leave the channel changed and click override lighting channel.
If the mesh stays dark still try turning off precomputed lighting as described in tip above this one,if that fixes it you may have to leave this setting as it seems sometimes it can "burn" a shadow onto a mesh.


Can I use Terrain or Landscape?
As of now I believe Landscape is not working as in compiling the material of it, even though in game and editor it will show the material on the landscape it will not work online.
You can use terrain in the editor but not use it in game I believe this is to do with splatter maps. You could waste a lot of time building the terrain to only have it not work online.


My wall or ceiling spawners are not working!
I personally found that wall spawners do not like to be too high and also make sure to check they are on a trigger volume and you must set max trigger count to 0 in kismet and make sure they are all linked up. You can set spawner to wallHigh which normally works for higher spawns but I have noticed sometimes they still wont spawn.


How can I show text on screen?
In kismet under New Action>Misc>Draw Text, from here it will show the node in your kismet sequence, in this nodes properties you can message and size/location. You must select a font from the content browser (KF2 has one already) make sure to connect a trigger or a means of firing the text. IN the text properties if display time is set to -1 it will work on the hide and show inputs otherwise you can set the item to display message.
In addition if you want to display on a particular item say a door, just check the box display on item and connect the item to the bottom node.


How can I hide items until I need them to be seen?
A handy little node is called "toggle hidden" say for instance you have something falling from the sky when something flies over you can just set that item in the sky and hide it.
To do so, add the item to the level as an INTERPACTOR and highlight it, go into kismet and right click and add object, this will create a circle with the interactor name in it. Then right click , New action>Toggle>Toggle hidden. Connect the circle to the bottom connector and then add a level loaded and set that to the hide input. Now when you want to unhide the object have something go into thte unhide node ie a trigger or something.
Very handy for certain things.


How can I attach things to things?
Simple, say you want to attach an emitter to a moving object, postion emitter where you want it, then open its properties scroll down to attachment and add the name of the item to attach too ie interpactor_0 after this the emitter will move with the interpactor specified. Make sure to tick the hard attach box too.


Are there shortcut buttons?
Yes,
Shortcut keys are here http://blog.tiaan.com/link/2010/07/24/unreal-technology-udk-hotkeys-shortcuts

Lighting volumes indoor and outdoor
This is all down to personal preference, the way I norm do it is to put a volume covering the insides of any buildings etc.. and having no volume covering the outside, if you use an indoor volume around your indoor areas then when you build lighting this "should" change all the meshes within the volume to indoor and the ones outside the volume to outdoor. Sometimes it misses some meshes and you can easy go into the meshes properties and change the lighting channel (making sure to tick the override auto lighting channels check box).
Also make sure that any lights within these volumes are set to indoor unless you want the light to illuminate outside the volume too.

I get a warning when importing about FBX version!
Do not worry this happens a bit and should make no difference within the editor.


I got a some message about too many something when importing.
If your model is too complex then it will need to be split into pieces within a 3d program, for instance within 3ds max you can turn on xview to show vertices and polygons.


Matinee will not move my object
Common mistake is to not set the interpactor to PHYS_interpolating within the properties. Double click the mesh and scroll down and change the drop down to the above.
Also make sure you are moving an interpactor and not a staticmesh. If it is a static mesh right click and Convert>Convert to mover. It should appear as purple in the wireframe view.

I want effects to happen at certain times with matinee, ie a train catching fire etc..
After you have created your matinee sequence to for instance move a train you can add another track called "Event" once you create the event track move the time slider to when you want the even to happen and add a keyframe and name it whatever you want (ie, trainfire). Whilst this looks like it doe snot do much if you exit matinee back to kismet you will see a new output from the matinee node with the name of the even keyframe you added, connect this to a toggle and the emitter or whatever you want and when the timeline hits this key it will fire a signal out to the toggle to trigger it.
This is a good way to time events to a mover or sequence without having to guess times with delays.

All my doors are open at the beginning of the level
right Click on one of the door actors in the level (looks like a little man) the up the top click select then all kfdoor actors, go into kismet and hold down T and press the left mouse button, this will add a toggle, right click on the Target output of the toggle and click assign objects, this will add all the door actors to the toggle. Create a level loaded node and connect the begging of level node to the toggle input of the toggle. All the doors will not close upon level starting.

I am creating a rotating object like a wheel do I have to use matinee to rotate it?
No there is a simpler way, firstly make sure the mesh is an interpactor or mover, the go into properties, you will find a section to change the PHYS of the object, change this to PHYS_Rotating and then below change the Yaw etc until you find your sweet spot

I have added an interpactor but can walk though it!
When you add a mover or interpactor it has no collision, right click it select Collision>Block all now it will be solid again


I will update this thread as / when I have more time but feel free to ask any question etc.. and add your tips
 
Last edited:
  • Like
Reactions: MA1L0
great input thanks, in regards to the pre comp lighting that was mainly if people suffered with the "burnt" shadow effect, even when turned off you can still get static shadows though :)


Terrain is not supported at all but landscape is to some degree, although cannot be textured in the editor as it will not compile the shader cache for it. IT will however as you stated work from an external source.


Master materials has always been ok for me when I have made and created MIC from them also. When you get the yellow warning in the publishing command prompt if you keep trying it will eventually compile and add to shader cache. This is including custom materials.
 
Last edited:
Upvote 0
Heyo peoples, to MGS-Sniper; excellent tips and helpful hints so far, but I might've found something of an error with the 'All my doors are open at the beginning of the level' section - tried it, and the doors remained opened, instead I used 'level loaded and visible' in the 'Level Loaded' node, seems to work now.

Alas, perhaps yourself or others could share hints, ideas, tips and the like for gameplay on the map? Gameplay flow, suggestions on placement of items, ammo, key areas, locations you want players to gravitate towards or stay away from?

If I may, a few things I could offer, general or otherwise;

Pawnblocking volumes on a line of bushes and protruding roots and trees near an accessable open space or tighter path, over the doors and windows of a small, partly 'blocked' building with a normal route having to go around it, or simply minor doorways/windows blocking humans but allowing Zeds in the play-area. This can allow Zed-players and their AI counterparts to ambush humans or otherwise keep up with them without relying on spawn volumes to 'teleport' the Zeds about, as it also makes the human players go around such passive-looking threats, potentially paranoid about something lurking within.

Until a more publicly accessible terrain/landscape maker is usable, the cave-floor pieces from Volter Manor seem useful, resized and re-textured, they can make for some nice looking forest-floors, and using the 'debris pile' static meshes stacked or connected together than be useful for small inclines or changing terrain, various bush, grass or plant statics for blending changes in this 'DIY' terrain.

Destructible actors, perhaps actual doors or barricades can block off areas to players until they break them down (if they figure it out of course, you may need to show the lead to other places), while allowing Zeds/Zed AI to move through the level more freely, to burst from buildings or other spots, making the idea of 'where will they come from' less predictable until the players learn of these spots.

I cannot claim to be a experienced mapper, but eh, things I learned. Still working on getting a nice looking, fully functioning 'window-door' thing going; wide window humans and zeds can pass through that has a moveable barricade over it, basically a re-shaped swing/slide door. Swinging 'shutters' of metal seem to work, while a sliding chunk of metal/wood works well until it's destroyed, then the mesh remains and blocks humans, while Zeds can pass through, meaning it doesn't work too well...
 
Last edited:
Upvote 0
Landscape works fine if you use Material Instance Constant for your custom material. Check out my KF-IceArena for details
<a href="http://forums.tripwireinteractive.com/showthread.php?t=116684" target="_blank">http://forums.tripwireinteractive.com/showthread.php?t=116684



Confirmed online? from people who did not play before? IF so I will change the opening post to reflect this, In addition if using a normal MIC it most likely will work, But full landscaping requires the use of a terrain material with layers to paint onto the landscape and these I believe are not working atm.
 
Last edited:
Upvote 0
ofcoz
I have also tried making a custom material which didn't work
Material Instance is the only working solution for now
But full landscaping requires the use of a terrain material with layers to paint onto the landscape and these I believe are not working atm.
The "base" material I used is from Black Forest map landscape. It has 4 layers if I remember properly.
 
Last edited:
Upvote 0
Small tip I realized myself recently:

There is a display mode that shows various types of blocking geometry in your map. This mode is super useful for placing Path Nodes and generally setting up walkable terrain that uses uncommone meshes, like making cliffs or rock piles for the player to walk on. It makes it very easy to see and understand why your path nodes act they way they do, and for optimizing navmesh and general map movement patterns.

It is also very useful for easily figuring out what parts of your map can be possibly exploited by moving places you don't want players to go. Sometimes a mesh has a larger collision model than the graphics show in normal view mode. In Rigid Body mode, you can immediately tell which areas needs adjusting without having to run around manually in PIE mode to find those exploits.

See the below image for details on where to find it:
Spoiler!
 
Last edited:
  • Like
Reactions: MA1L0
Upvote 0
Seanchaoz;n2257550 said:
Small tip I realized myself recently:

There is a display mode that shows various types of blocking geometry in your map. This mode is super useful for placing Path Nodes and generally setting up walkable terrain that uses uncommone meshes, like making cliffs or rock piles for the player to walk on. It makes it very easy to see and understand why your path nodes act they way they do, and for optimizing navmesh and general map movement patterns.
Nice, managed to catch a few broen blocking volumes using that, they weren't causing errors when building but probably were the cause of flex crash in my map, didn't know there were more view types not shown in the viewport icons
Found a few of those filling the screen and disappearing at certain angles
Spoiler!
 
Upvote 0
Wanted to show love for the thread, awesome work. Just wondering if anybody has any tips on optimising for outdoor spaces, like woodland? Or optimising in general that hasn't already been mentioned.

Speaking of landscapes, probably already covered, but if you can't use a 'proper' landscape actor, you can kit-bash something together using the manor-basement/cave floor meshes, enlarging them using a factor of 2-4, along with using the debris pile mesh or Outpost rocks and altering their height, using another material and combining several grass-clump actors for a forest ground. Looks reasonably good, using plenty of grass or other vegetation patches, can visually blend flat sections with mounds or inclines/declines. Otherwise, small-large rock-meshes arranged can effect a sudden rise or drop in terrain elevation - like a short cliff, a small stream, or possibly a crater or ravine. Buildings can be raised up by 32-64 units, or the landscape dropped by the same amount, the 'manor garden walls' can be used to give your structures a cobble-stone like foundation, or other such suitable meshes.
 
Upvote 0
Dragontear;n2279667 said:
Wanted to show love for the thread, awesome work. Just wondering if anybody has any tips on optimising for outdoor spaces, like woodland? Or optimising in general that hasn't already been mentioned.

Speaking of landscapes, probably already covered, but if you can't use a 'proper' landscape actor, you can kit-bash something together using the manor-basement/cave floor meshes, enlarging them using a factor of 2-4, along with using the debris pile mesh or Outpost rocks and altering their height, using another material and combining several grass-clump actors for a forest ground. Looks reasonably good, using plenty of grass or other vegetation patches, can visually blend flat sections with mounds or inclines/declines. Otherwise, small-large rock-meshes arranged can effect a sudden rise or drop in terrain elevation - like a short cliff, a small stream, or possibly a crater or ravine. Buildings can be raised up by 32-64 units, or the landscape dropped by the same amount, the 'manor garden walls' can be used to give your structures a cobble-stone like foundation, or other such suitable meshes.


With woodlands you could remove collision on the trees and add a simple collision around them, this is depending on how complex the current collision is. Also draw distance and fog work very well setting the fog at the right distance and the draw distance can eliminate "popping" of meshes
 
Upvote 0
Hey all! I have a few questions for anyone with the time. I've played an extensible amount of L4d2 and Ut3, so when I got interested in Killing floor 2 I was felling pretty inspired for level design with a familiar format in an engine that I also had experience with. I was feeling about ready to publish a map for Killing Floor when I recached the terrain materials to get rid of a couple error messages about some mats that I had deleted. When I went to playtest the new changes, the terrain material, being only one, had been replaced by the fallback green and pink error material. I have loaded up versions of the level where the mats had been working, but since I have been saving in place these are not available to me. In the editor the material is working and looks fine, but rendered in game it is, how you say..... cotton candy snow. Any help would be appreciated as well as maybe pointing me to a thread on how to optimize a large level, lighting settings and what not that are new for the Udk.
 
Upvote 0