I get short breaks and occasional times to work on this at work and school, you'll probably see a lot of tiny updates to this but this is my way of transporting documents under development between work, school, and home. TBH wiki syntax gets difficult to read and understand without the preview button :). I'd appricate any advice or suggestions you have go in talk section and that you do not modify or move any content on/from/to this page, its a constant WIP untill it gets moved to another location, then feel free to edit the article. I just wanna keep my sandbox my work page.
Level Flow intergration
The below is aditional topics and ideas that need intergrating into the Level Flow tutorial.
Determine a Route Through the Entire Level
- A sketch on paper of the entire route through a level lays the foundation for a later more detailed design of the entire level. This is particularly important in a level intended for "single-level" play - a single level to be played from beginning to end.
- Without a concept of where the player will start out or end up in a level can result in a patchwork of ladders, steps or bridges which detract from the consistency of a level's design.
Layout The Level Very Simply
The initial phase of level construction blocks out the route the player must take.
- Use just three or four textures, such as the orange and gray dev textures, nodraw and the skybox texture. Detailed texturing should be much later in the process.
- Layout undetailed blocks for buildings, bridges and open doorways to outline the route the player must take through the level. Swing doors or lift gates can be added later.
- For outdoor levels, add a single light environment. Scene lighting is expensive with regard to compiling time.
- For indoor levels, limit the number of light entities to that necessary to test the route through the level. Again, scene lighting takes a lot of compile time.
- During this phase of design, do not add unnecessary entities or models such as NPCs, barrels or pipes. An exception may have to be made if, for instance, the level requires piling crates on one another as part of the primary route through the map.
- If the level requires stairways, use simple stairs without rails or supports. However, ensure the steps are sized correctly and room layout is sufficient to allow the proper height to be reached. Having to later resize a room that is too small for a long enough run of steps to reach the proper height can be time-consuming. See the section below on making separate test maps.
- Test the layout often, perhaps after adding just a few blocks or hallways. Determine if the size of the map and areas within the map give the "feel" for the level that is desired.
In this screenshot from Hammer, there are only four primary textures used: dev/dev_measurewall01a (orange), dev/dev_measuregeneric01b (gray), tools/toolsnodraw and tools/toolsskybox. The retaining wall and the street are textured but, at this point in the construction, unnecessarily. Although early NPC testing (ground and air nodes, triggers, etc.) has begun, detailed architecture and texturing will be done much later. Note that areas which the player cannot see (roofs, rear walls, etc.) are not even constructed. The backside of walls, floors and sky are all textured in nodraw. At this point, a single light environment entity serves the entire map.
Make Separate Maps to Test the Layout
Using separate small maps to test portions of the larger level map saves large amounts of compile time.
For instance, if the level requires an assault by a patrol, create a new map to layout simple block obstacles or cover and determine the general desired movement of the troops. From this map, the required area needed in the level map can be more precisely layed out. However, don't add the NPCs to the level map until later.
If the level requires jumping across gaps or moving entities to gain access to ledges or stair sizing, a test map can be used to determine the proper distances without requiring a complete compile of the level map. Once the information has been determined, adjust the level map but do not add entities such as crates or barrels to the level map unless required.
Hammer in Depth
(this section will be the Hammer in Depth article once compelte)
Now the why has been covered lets get deeper into the how. While all the menus and buttons and functions are well documented its not often clear what tool you'll need. You want a slope, should you carve, vertex manipulate, split, or even use a primitive? All will work but it becomes a trick to know which tools to use where and why.
<something deep and meaningfull>