Difference between revisions of "Mapping Tips & Tricks"

From Oldunreal-Wiki
Jump to navigation Jump to search
 
(40 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Here you can find some mapping tips & tricks submitted by OldUnreal community members.
UnrealEd is a complex tool, running on an old and complex engine. Here are a number of tips and notes to help you getting started. They cover the proper use of the software, some help, advice and technical details which will be helpful in creating, optimizing, cleaning the map, and achieving a balanced level. They do no cover gameplay, distribution or beta-testing.


== Mapping Tips & Tricks By... ==
==Brushes and Textures==
Please create an entry with your own name instead of editing someone else's.
*By default, the Unreal world is full: you create a map by subtracting matter to create rooms. You can create an additive map where the world is empty, as in engines such as Source, Gldsrc, or the Quake Engines.
Thank you.


=== Phoenix ===
* Semi-solids are important tools. They are similar to normal brushes, but to no create BSP cuts on the surfaces of solid and subtracted brushes, as they are another branch of the BSP tree. As a result, they should be used for details and decorations which are not part of the main structure of the map. However, they affect each others in the same way as normal solid brushes affect the whole level: do not use abuse them. They are also very sensible to BSP errors, and cannot be placed in contact with zone portals or a non-solid of any kind - including sheet brushes. In many cases, a semi-solid brush placed in contact with a solid brush will suffer also. The problems arising then can go from a surface of the semi-solid disappearing, or the semi-solid brush turning into a non-solid one, to to a full-blown Hall of Mirrors when the problem is more serious.
Great ways to map:


Here are some pointers for you eager mappers out there-
*An easy way to select a brush in the 3D Viewport is SHIFT+LMB click on any surface of the brush. You can select several brushes this way by pressing CTRL+SHIFT while clicking on brushes.


1. Have a 'builder map' so that you can create complex designs there, intersect, save brush, then open into map as 1 whole brush! saves time when you want to move that brush.
*Texture alignement has been facilitated in UnrealEd 2.1 by the addition of two options in the contextual menu: after a RMB click on a surface, select ''Align Selected'': the ''Align To Wall Around X Axis'' and ''Align To Wall Around Y Axis'' are the vertical equivalents of the ''Align to Floor'' projection, which aligns vertical surfaces perfectly.


2. USE SEMI-SOLIDS!!! It will cut down on BSP holes, ESPECIALLY if you are using complex brushes.
*Make sure all the textures in your map are properly aligned: nothing looks more ugly and amateurish than a map where coplanar walls with a similar texture are not properly aligned.


3. It is usually better to rebuild in this order: Geometry, BSP (settings are always at 5 for me), then lighting.
*By default, textures wrap: a texture too small to fit the surface it is applied on will be repeated - hence the importance of "looping" textures. This is the normal way things work. New options has been added in the texture browser to prevent the looping: by setting ''UClampMode'' and ''VClampMode'' to ''UClamp'' instead of ''UWrap'', the texture will not be repeated.


4. Save multiple copies, you never know when you need to go back.
*The Texture Browser now features a '''All textures in use''' button. This displays all the textures used throughout the map currently opened in UnrealEd.


5. Keep adding to your work! Update your map. New ideas will always come to mind :)
*Some textures are loaded by the engine but not displayed in the map. Such is the case, for example, of textures applied to surfaces which are entirely hidden (in contact with another piece of geometry, for instance). You can delete such textures by entering '''Texture Cull''' in the command prompt of UnrealEd. The log then shows the list of textures and a list of the textures which have been deleted.


6. For the love of pie, dont have a non-solid and a semi-solid touch!! Unreal Editor goes 'OMGWTFBSP!!'
*The '''Environment''' surface flag creates a reflecting effect on the surface, to simulate a shader.


I'll write a tutorial sometime on howto make great lighting effects.
*You can set Tesselated to true in the builder brush window to have the faces of a cube tesselated. You cannot do this for cylinders, and cylinders do not have all their vertices snapped to the grid. Here is a trick you can use to create tesselated cylinders and prisms snapped to the grid:


=== ThexDarksider ===
{|
Some mapping tips & tricks to avoid bsp, to make a nice map, etc.:
|[[image:Vertex_snap_tesselated_cubes_trick_1.png|thumb|200px|Build a cylinder, then snap a tesselated cube to one of the cylinder's faces.]]
|[[image:Vertex_snap_tesselated_cubes_trick_2.png|thumb|200px|Delete the added cylinder and rebuild, leaving only the tesselated cube. Then deintersect a cylinder that is snapped to that tessalted cube..]]
|[[image:Vertex_snap_tesselated_cubes_trick_3.png|thumb|200px|Rotate the cylinder and repeat for the other faces till all cylinder faces are tesselated.]]
|}


[[Image:Deintersection_Bad.jpg|thumb|300px|What NOT to do.]]
==Lighting==
[[Image:Deintersection_Good.jpg|thumb|300px|What to do.]]


1. NEVER use cubes as zone separators (I made a nonsolid cube w/ sides marked as portals and it worked out fine until it cut a bsp hole through half of my map... replaced with 4 sheets (from floor to ceiling) and it worked fine).
*OldUnreal's 227 patch adds a '''Lighting Only''' view mode, which allows you to see the geometry with only the lightmaps and no textures. This is a powerful and useful mode.


2. <s>Intersect anything you want to substract, deintersect anything you want to add.</s> NO NO NO! Using too much intersection/deintersection often makes brushes heavily loaded with useless polygons and stupid ne edges you don't need. (de)intersection should be used only when required. (but still, don't let the brush be 50% in the floor and 50% in the air because that fails)
*You can determine how fine and accurate the lighting and shadows of an area are by modifying the ZoneInfo (or any other adequate Info actor): under ZoneLight, decreasing the values in LightMapDetailLevels will make the lighting of the zone more accurate. Increasing the levels will make the shadows less accurate, mor blocky and generally less pleasant. A finer lightmap means a nicer scene, a bigger filesize and more strain on the computer's resources.


3. Don't fuck with the rebuild dialog's sliders too much for it can cause a disaster and completely fuck up your map beyond all recognition.
*The previously not-working flag Dirty Shadows can be activated on a surface to add random patches of shadow on a surface, regardless of its lighting.


4. Avoid using reflective surfaces (translucent + mirror) near fake backdrops (I did that because I can but only once, for lulz).
*You can prevent an actor from casting shadows with the parameter ''bNoShadowCast'', under Display.


5. Slice your map to pieces using zones, but don't get crazy and zone off every unit.
*The DistantLight Actor can be used when the maximum lighting distance of a light actor is not enough: it supports a lighting radius superior to 255 without adding several normal lights.


6. Basic geometry goes first (use "Set ZoneInfo AmbientBrightness 255 | Flush" while playing through"), then basic lights, then detail geometry, then fine lighting and finally items and enemies (but make sure you leave enough room for everything).
*If using a fog effect, make sure the DistanceFog parameter has a superior value then DistanceFogStarts. Otherwise, the engine will be unable to display fog: Distance Fog is the distance where the fog becomes opaque, and cannot be smaller than DistanceFogStarts, which is the distance at which fogs begins to be visible.


7. Save before rebuild!
==Static-Meshes==
*You can create static-meshes from BSP Geometry by selecting one or several brushes and choosing RMB - Convert - To Static Mesh. Note that surfaces with the flag '''Fake Backdrop''' will be eliminated from the mesh, allowing you to control what is and is not part of the final mesh.


8. Keep multiple copies of your map so if you fuck something up, you can easily revert (like I keep at least 1<s>00</s> snapshot<s>s</s> of my virtual PC where I code).
*If you create the mesh and notice too late that you have the normals of its polygons inverted (because you did not pay attention in your 3d modeling software or because you built it with subtracted brushes instead of added ones), you can flip all polygons in the mesh browser by selecting your mesh in the browser and clicking Edit => Properties, and under the StaticMesh tab, changing the value of bFlipNormals. The boolean will remain "false" but normals will be flipped. This affects all instances of the mesh. You can change it as many times as you want.


9. Do not rebuild paths until final rebuild.
*Subtracted brushes will have strange problems when converted to static meshes, as their normals will be upside down. Do not convert subtracted brushes, or structures containing such brushes, into static meshes: start by intersecting the structure.


10. Do *NOT* rebuild paths until final rebuild!
*You can build an entire map with static meshes, but you will need at least one piece of BSP somewhere (possibly out of view) inside the map. Otherwise, the lighting rebuild will not be possible.


11. However, if you *DO* rebuild paths every time you rebuild your map (because you didn't know this before, hurf durf), select all Inventory, Pawn, Keypoint (?) and NavigationPoint (sub)classes, right click one of the selected actors and select Order -> To Last. That will sink reachspecs like Titanic sunk itself (lol fail).
*You can create movers from static meshes by selecting the desired mesh in the mesh browser and RMB clicking on the addmover menu, then choosing one of the options followed by the [Mesh] signal.


12. Before you add or sub<s>s</s>tract a brush, look at it for god's sake... If it's additive and sinking into floor and you don't want it to, deintersect it (and if it's sub<s>s</s>tractive and is hanging in mid-air, intersect it). If it's pointing out somewhere it shouldn't, make a test room, do (de)intersection(s) there and add/sub<s>s</s>tract it into your map afterwards.
*Among other things, you can prevent a static mesh from receiving static shadows by setting ''bBuildStaticLights'' to false.


13. (optional) Delete all test rooms and test brushes before releasing your map (if you want to keep your brushes for later lulz, keep a copy of your map with them for yourself).
*You can disable the collision of all the surfaces of a mesh bearing a specific texture by going in the texture browser, and opening the mesh's properties: under StaticMesh - Materials, select the desired material and set ''bNoCollision'' to true.


14. (optional) Add music and ambient sounds into your map if it's not a very silent map (like underwater or something) to keep it interesting.
*You can speed up the rendering of static meshes by disabling "bUseMeshcollision".


15. (optional, recommended) Add eye candy. Small semi-solids, Decorations, Emitters, etc. However, do not add too much or it'll generate bad bsp/big file (except if you have a leet upload speed of over 9000 Mbps and a magic wand - no homo).
*Static meshes use a special type of lighting: they do not have lightmaps, but the lighting is calculated at each vertex of the mesh, and then extrapolated for the whole triangle. Make sure the vertices are not inside a well if the mesh appears black. If you still have lighting issues after converting brushes into static meshes, exporting and reimporting the mesh as a .obj file may fix the problem.


16. <b><font size=4>USE 227'S FEATURES</font> GOD DAMNIT!</b> These guys are working hard on this stuff and it's not to be left out... If you make a map without 227's features using 227's editor, then <s>YOU FAIL, PERIOD</s> you should make one, lol. (In case you didn't know, 227's features are extremely sexy...Emitters, Distance Fog, Woodruff and everything else. :))
==Optimization==
*Zones now require an Info actor (Zoneinfo, WaterZoneInfo, SkyZoneInfo or other) to be counted as a separate zone. They will otherwise be merged with one of the adjacent zones. If two zones with separate Infos are merged into one, the zone is either not sealed (i.e: the zone portal does not cover all the separation), or a BSP hole affects the portals and prevents the division.


17. (recommended to required) Play through your map at least 100 times after you make the "final" version and get some beta testers, because you don't want to release a broken map. Or you want...whatever.
*The new DynamicZoneInfos can be moved or generated on the fly. They do not count towards the maximum limit of 64 zones in a map.


18. Add pillars into tall rooms for more realistic look except if the map is abstract or something so pillars really bother and you don't want them.
*A problem might arise if a single zone portal covers several opening between two zones (for example, if a single zone portal is used to seal two windows). In this case, delete the portal and replace it by several smaller ones, one by opening.


=== Hellkeeper ===
==Miscellaneous==
*You can activate the fake backdrop rendering in both real time preview and in simple preview modes in UnrealEd. By default, the real time preview has the fake backdrop activated, and the simple preview does not. You can activate the fake backdrop in simple preview with the '''K''' key.


1. If it's a surface, if it's flat, it could probably use more decoration.
*Textures projected by a Projector will have a blue tint when combined with distance fog. You can prevent this by using the AlphaBlend style.


2. Trims and borders are essential for a polished look. Trim your walkways, platforms, stairs. You can add trims to a lot of things and it's always nicer with them.
*It is a good idea to trim the borders of platforms and walkways. The transition from one texture to another is less jarring this way. Use a trim texture which has a significant contrast with the other nearby textures, so that the edges of the map stand out.


3. You know what sucks? Empty useless rooms suck. If it's useless, it shouldn't be there. If it's empty, it's useless.
*The ACTOR ALIGN console command can repair brushes with vertex rounding errors. This command snap vertices of any selected brushes to the current grid. This way cylinders/shapes from 2D shape editor and other brushes can be aligned to the grid without problems. Before using this command make sure that selected brushes are transformed permanently. Make sure faces with 4 or more vertices still have all their vertices on the same plane after using this command: otherwise, BSP problems will occur.


4. Never think "Hum, that should be okay". Work until it IS ok.
*UnrealEd can perform simple math operations in the input fields of the Brush Builders. Prefix the operation with the '=' sign. For instance, enter "=512+128" in the height field (without the double quotes) and build the brush. The final height will be 640.


5. A noiseless map is a dead and lifeless map. Everything makes noise in the real world (outside the window). Everything should do the same in your map.
==Good Practices==
*Save often and save multiples copies of your map. It is a good idea to save before any rebuild.


6. Emitters are cool. Trims are cool. A lot of different texture packages are cool. Sometimes, mixing everything in one huge bloated map is not as cool as the sum of the cool things it has in it.
*It is best to path the map after the map is finished. Rebuilding the map rebuilds paths, which adds invisible actors used by bots to navigate the map. With successive rebuilds, this can slow down the whole process. A solution is to select all items and NavigationPoints in the map and set them to Last (Order - To Last) before the final rebuild.


7. A singleplayer campaign should not be the story of a man whose ship crashed on an unknown planet. We've been playing this for ten years, we know all the tricks you can come up with.
*Do not try to fit everything in a single map. Select a theme and stick to it. Many maps are plagued by unfocused design.


8. If you have only one height level in one room, it better be a small and useless room. If something happens in this room (like, I don't know, the player fighting), it should have at least two levels. Three is good. Four is very good. Five is too much. Six is a cheap and impossible labyrinth (or the entr hall of a skyscraper).
*Use music and sounds to bring your map to life. A map without any sound is both unrealistic, boring and feels like it lacks something.


9. Adding stairs of 2 steps in the middle of the room does not count as a different height level.
*You can use groups to save time. Assigning a group to several brushes allows you to turn them on and off at will: when turned off, they will not be displayed or rebuild, speeding the rendering, building process and decluttering the screen. You can then turn them back on for the final rebuild.


10. A lot of textures of the original game are very, very, very abstract and can be used for a lof of different things, including things you didn't see in the game. Making a map with the exact style of an existing map is dull, useless, uninteresting and not creative. And you should be creative (one good way to do that is using a lot of textures that are only scarcely used in the game and using them for something they were NOT made to. The Skaarj.utx texture pack is used a lot at the end of the game, but you can use the ceiling textures on your walls and vice-versa).
*An easter egg is always appreciated.


11. If you really want to make something with the oldschool style of the original Unreal maps, make something with great amplitudes. Think Sunspire, don't think Rajigar mines.
==Design==
*The traditionnal way to build a map is to first build a rough sketch with no decoration or lighting, then detail the geometry, then add the lighting and finally the items, monsters and AI pathing.


=== Unknown ===
*A lot of textures of the original game are very abstract and can be used for a lof of different things, including things you didn't see in the game. Making a map with the exact same style as one of the stock Unreal maps is dull, and uninteresting. A good way to break away from this is to use a lot of textures that are only scarcely used in the game and using them in ways they were not designed to: The Skaarj.utx texture pack is used a lot at the end of the game, but you can use the ceiling textures on your walls and vice-versa). The change will allow you to be original and creative with old assets.


1. If you're making a coop map, ALWAYS make triggerable PlayerStarts [or teleporters to newer places] what longer your map gets, because it's highly annoyning to respawn all over again very far from the end.
2. Align every possible surface in your map. Otherwise it look very ugly.
3. NEVER make you map too *cool* or realistic because it may waste too much time.


== See also ==
== See also ==
Line 102: Line 102:
*[[Mapping]]
*[[Mapping]]


== External links ==
[[Category:Mapping]]
*[http://www.oldunreal.com/editing.html More Editing Tutorials]<br />
[[Category:UnrealEd]]
*[http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1252018011 Teh Thread Almighty]
[[Category:FAQs]]

Latest revision as of 10:42, 1 May 2018

UnrealEd is a complex tool, running on an old and complex engine. Here are a number of tips and notes to help you getting started. They cover the proper use of the software, some help, advice and technical details which will be helpful in creating, optimizing, cleaning the map, and achieving a balanced level. They do no cover gameplay, distribution or beta-testing.

Brushes and Textures

  • By default, the Unreal world is full: you create a map by subtracting matter to create rooms. You can create an additive map where the world is empty, as in engines such as Source, Gldsrc, or the Quake Engines.
  • Semi-solids are important tools. They are similar to normal brushes, but to no create BSP cuts on the surfaces of solid and subtracted brushes, as they are another branch of the BSP tree. As a result, they should be used for details and decorations which are not part of the main structure of the map. However, they affect each others in the same way as normal solid brushes affect the whole level: do not use abuse them. They are also very sensible to BSP errors, and cannot be placed in contact with zone portals or a non-solid of any kind - including sheet brushes. In many cases, a semi-solid brush placed in contact with a solid brush will suffer also. The problems arising then can go from a surface of the semi-solid disappearing, or the semi-solid brush turning into a non-solid one, to to a full-blown Hall of Mirrors when the problem is more serious.
  • An easy way to select a brush in the 3D Viewport is SHIFT+LMB click on any surface of the brush. You can select several brushes this way by pressing CTRL+SHIFT while clicking on brushes.
  • Texture alignement has been facilitated in UnrealEd 2.1 by the addition of two options in the contextual menu: after a RMB click on a surface, select Align Selected: the Align To Wall Around X Axis and Align To Wall Around Y Axis are the vertical equivalents of the Align to Floor projection, which aligns vertical surfaces perfectly.
  • Make sure all the textures in your map are properly aligned: nothing looks more ugly and amateurish than a map where coplanar walls with a similar texture are not properly aligned.
  • By default, textures wrap: a texture too small to fit the surface it is applied on will be repeated - hence the importance of "looping" textures. This is the normal way things work. New options has been added in the texture browser to prevent the looping: by setting UClampMode and VClampMode to UClamp instead of UWrap, the texture will not be repeated.
  • The Texture Browser now features a All textures in use button. This displays all the textures used throughout the map currently opened in UnrealEd.
  • Some textures are loaded by the engine but not displayed in the map. Such is the case, for example, of textures applied to surfaces which are entirely hidden (in contact with another piece of geometry, for instance). You can delete such textures by entering Texture Cull in the command prompt of UnrealEd. The log then shows the list of textures and a list of the textures which have been deleted.
  • The Environment surface flag creates a reflecting effect on the surface, to simulate a shader.
  • You can set Tesselated to true in the builder brush window to have the faces of a cube tesselated. You cannot do this for cylinders, and cylinders do not have all their vertices snapped to the grid. Here is a trick you can use to create tesselated cylinders and prisms snapped to the grid:
Build a cylinder, then snap a tesselated cube to one of the cylinder's faces.
Delete the added cylinder and rebuild, leaving only the tesselated cube. Then deintersect a cylinder that is snapped to that tessalted cube..
Rotate the cylinder and repeat for the other faces till all cylinder faces are tesselated.

Lighting

  • OldUnreal's 227 patch adds a Lighting Only view mode, which allows you to see the geometry with only the lightmaps and no textures. This is a powerful and useful mode.
  • You can determine how fine and accurate the lighting and shadows of an area are by modifying the ZoneInfo (or any other adequate Info actor): under ZoneLight, decreasing the values in LightMapDetailLevels will make the lighting of the zone more accurate. Increasing the levels will make the shadows less accurate, mor blocky and generally less pleasant. A finer lightmap means a nicer scene, a bigger filesize and more strain on the computer's resources.
  • The previously not-working flag Dirty Shadows can be activated on a surface to add random patches of shadow on a surface, regardless of its lighting.
  • You can prevent an actor from casting shadows with the parameter bNoShadowCast, under Display.
  • The DistantLight Actor can be used when the maximum lighting distance of a light actor is not enough: it supports a lighting radius superior to 255 without adding several normal lights.
  • If using a fog effect, make sure the DistanceFog parameter has a superior value then DistanceFogStarts. Otherwise, the engine will be unable to display fog: Distance Fog is the distance where the fog becomes opaque, and cannot be smaller than DistanceFogStarts, which is the distance at which fogs begins to be visible.

Static-Meshes

  • You can create static-meshes from BSP Geometry by selecting one or several brushes and choosing RMB - Convert - To Static Mesh. Note that surfaces with the flag Fake Backdrop will be eliminated from the mesh, allowing you to control what is and is not part of the final mesh.
  • If you create the mesh and notice too late that you have the normals of its polygons inverted (because you did not pay attention in your 3d modeling software or because you built it with subtracted brushes instead of added ones), you can flip all polygons in the mesh browser by selecting your mesh in the browser and clicking Edit => Properties, and under the StaticMesh tab, changing the value of bFlipNormals. The boolean will remain "false" but normals will be flipped. This affects all instances of the mesh. You can change it as many times as you want.
  • Subtracted brushes will have strange problems when converted to static meshes, as their normals will be upside down. Do not convert subtracted brushes, or structures containing such brushes, into static meshes: start by intersecting the structure.
  • You can build an entire map with static meshes, but you will need at least one piece of BSP somewhere (possibly out of view) inside the map. Otherwise, the lighting rebuild will not be possible.
  • You can create movers from static meshes by selecting the desired mesh in the mesh browser and RMB clicking on the addmover menu, then choosing one of the options followed by the [Mesh] signal.
  • Among other things, you can prevent a static mesh from receiving static shadows by setting bBuildStaticLights to false.
  • You can disable the collision of all the surfaces of a mesh bearing a specific texture by going in the texture browser, and opening the mesh's properties: under StaticMesh - Materials, select the desired material and set bNoCollision to true.
  • You can speed up the rendering of static meshes by disabling "bUseMeshcollision".
  • Static meshes use a special type of lighting: they do not have lightmaps, but the lighting is calculated at each vertex of the mesh, and then extrapolated for the whole triangle. Make sure the vertices are not inside a well if the mesh appears black. If you still have lighting issues after converting brushes into static meshes, exporting and reimporting the mesh as a .obj file may fix the problem.

Optimization

  • Zones now require an Info actor (Zoneinfo, WaterZoneInfo, SkyZoneInfo or other) to be counted as a separate zone. They will otherwise be merged with one of the adjacent zones. If two zones with separate Infos are merged into one, the zone is either not sealed (i.e: the zone portal does not cover all the separation), or a BSP hole affects the portals and prevents the division.
  • The new DynamicZoneInfos can be moved or generated on the fly. They do not count towards the maximum limit of 64 zones in a map.
  • A problem might arise if a single zone portal covers several opening between two zones (for example, if a single zone portal is used to seal two windows). In this case, delete the portal and replace it by several smaller ones, one by opening.

Miscellaneous

  • You can activate the fake backdrop rendering in both real time preview and in simple preview modes in UnrealEd. By default, the real time preview has the fake backdrop activated, and the simple preview does not. You can activate the fake backdrop in simple preview with the K key.
  • Textures projected by a Projector will have a blue tint when combined with distance fog. You can prevent this by using the AlphaBlend style.
  • It is a good idea to trim the borders of platforms and walkways. The transition from one texture to another is less jarring this way. Use a trim texture which has a significant contrast with the other nearby textures, so that the edges of the map stand out.
  • The ACTOR ALIGN console command can repair brushes with vertex rounding errors. This command snap vertices of any selected brushes to the current grid. This way cylinders/shapes from 2D shape editor and other brushes can be aligned to the grid without problems. Before using this command make sure that selected brushes are transformed permanently. Make sure faces with 4 or more vertices still have all their vertices on the same plane after using this command: otherwise, BSP problems will occur.
  • UnrealEd can perform simple math operations in the input fields of the Brush Builders. Prefix the operation with the '=' sign. For instance, enter "=512+128" in the height field (without the double quotes) and build the brush. The final height will be 640.

Good Practices

  • Save often and save multiples copies of your map. It is a good idea to save before any rebuild.
  • It is best to path the map after the map is finished. Rebuilding the map rebuilds paths, which adds invisible actors used by bots to navigate the map. With successive rebuilds, this can slow down the whole process. A solution is to select all items and NavigationPoints in the map and set them to Last (Order - To Last) before the final rebuild.
  • Do not try to fit everything in a single map. Select a theme and stick to it. Many maps are plagued by unfocused design.
  • Use music and sounds to bring your map to life. A map without any sound is both unrealistic, boring and feels like it lacks something.
  • You can use groups to save time. Assigning a group to several brushes allows you to turn them on and off at will: when turned off, they will not be displayed or rebuild, speeding the rendering, building process and decluttering the screen. You can then turn them back on for the final rebuild.
  • An easter egg is always appreciated.

Design

  • The traditionnal way to build a map is to first build a rough sketch with no decoration or lighting, then detail the geometry, then add the lighting and finally the items, monsters and AI pathing.
  • A lot of textures of the original game are very abstract and can be used for a lof of different things, including things you didn't see in the game. Making a map with the exact same style as one of the stock Unreal maps is dull, and uninteresting. A good way to break away from this is to use a lot of textures that are only scarcely used in the game and using them in ways they were not designed to: The Skaarj.utx texture pack is used a lot at the end of the game, but you can use the ceiling textures on your walls and vice-versa). The change will allow you to be original and creative with old assets.


See also