Report article RSS Feed Project-Alpha Techniques Tutorial

This tutorial will cover KernCore's techniques that were presented in Portal: Project-Alpha

Posted by reepblue on Oct 18th, 2009
Intermediate Level Design/Theory.

For this tutorial, I'll be sharing KernCore's mapping techniques on how he designed and lit the maps in Portal: Project-Alpha. It is important that I tell you that this is for people that know their way around the hammer editor tool and had made a good amount of maps before.

Setting up Source SDK for Project-Alpha (Optional)


First off, if you want to map for Project-Alpha, this part will make things easier for you. Making a segment in the GameConfig.txt file will take away the need to copy your map and paste it in the Project-Alpha folder if you were to compile it under the Portal hammer editor.

1) Go to your C:\Program Files\Steam\steamapps\username\sourcesdk\bin\orangebox\bin file.

2) After the last game, paste and edit this in the GameConfig.txt file.

Quote:"Portal: Project-Alpha"
        {
            "GameDir"        "c:\program files\steam\SteamApps\SourceMods\Portal Project Alpha"
            "hammer"
            {
                "GameData0"        "c:\program files\steam\steamapps\username\sourcesdk\bin\orangebox\bin\portal.fgd"
                "TextureFormat"        "5"
                "MapFormat"        "4"
                "DefaultTextureScale"        "0.250000"
                "DefaultLightmapScale"        "16"
                "GameExe"        "c:\program files\steam\steamapps\username\portal\hl2.exe"
                "DefaultSolidEntity"        "func_detail"
                "DefaultPointEntity"        "info_player_start"
                "BSP"        "c:\program files\steam\steamapps\username\sourcesdk\bin\orangebox\bin\vbsp.exe"
                "Vis"        "c:\program files\steam\steamapps\username\sourcesdk\bin\orangebox\bin\vvis.exe"
                "Light"        "c:\program files\steam\steamapps\username\sourcesdk\bin\orangebox\bin\vrad.exe"
                "GameExeDir"        "c:\program files\steam\steamapps\username\portal"
                "MapDir"        "c:\program files\steam\steamapps\username\sourcesdk_content\portal\mapsrc"
                "BSPDir"        "c:\program files\steam\SteamApps\SourceMods\Portal Project Alpha\maps"
                "CordonTexture"        "tools\toolsskybox"
                "MaterialExcludeCount"        "0"
            }
        }

(Where it says "username", replace it with your SteamID. You can also edit the "MapDir" location as well.)

Making Things In Hammer


Open Source SDK, Go to the tab that reads "Portal: Project-Alpha". Then open hammer. For this tutorial, make a new vmf file and just make a simple box similar to this. 

Make sure the walls are 256 units tall. Then clip them in half. Texture it with test chamber textures. Also add a info_player_start entity and the weapon_portalgun entity. 

By now, you should have a box room with a player start and a portal gun. Next I'm gonna show you how KernCore did the observation rooms. These are just hollow boxes with a texture to reflect light. First off, make 128 x 128 unit hole in the upper wall.

Now to the observation room. Make an observation window similar to this.

KernCore paid close attention to the Portal trailer and has concluded that Valve made the observation rooms just small boxes around the frame of the window that reflected light. Lets make the box now. Use the nodraw texture and make your window similar to this.

The side walls on mine are 64 units wide, 16 units thick, and 128 units tall . Back wall is 128 units tall, wide and 16 units thick. By now, the walls around the window are just nodraw textures. Lets get the right texture that reflects light. Through out the Project-Alpha campaign, KernCore used the reflectivity_90b texture. (dev/reflectivity_90b) You can experiment on this and might take it farther. For now, sponge off of KernCore.

With me turning off "Show Nodraw Faces", you can see the inner box without the camera view moving. Now for the entities. The observation rooms in Project-Alpha can contain 2 or 3 light entities.  First off place a light entity in the box.

The light is dead center on the side but a bit off from the top as seen here. Next, we need to set the light values.

Brightness "183 204 218 150 "
BrightnessHDR "183 204 218 150"
Constant "200000 "

That is all you need to do for the light entity. Next is the 2 light_spots. Make a light_spot entity and place it as shown.

Set its values to:
Pitch Yaw Roll "Set it facing the back of the box"
Brightness "202 255 255 1000 "
Outer (fading) angle "75"
Pitch "0"

One last thing. This light_spot is by choice if you need it. This creates the shadows. Depending were you want the light to cast, place it in the upper part of the box with the angle of your need.

Set its values to:
Brightness "206 225 255 3200"
BrightnessHDR "206 225 255 0"
Constant "200000"
Inner (bright) angle "15"
Outer (fade) angle "40"
Pitch "-35"

Now place it in the hole that we made earlier if you did not before. Cover the top part of the window if you made the window frame a func_detail. When finished, should look like this when its compiled. (But don't do so yet.)

Full size
Your done. You can add additional lighting if you want or need too. Before I end this tutorial, I wanted to mention on how KernCore created the hallway shadow effect like the trailer.

First make a hallway like this.

I've selected the back to show you that wall is textured with the black tool texture. (tools/black) Now make a brush with the Block Light texture. (tools/toolsblocklight) You can fill the hallway with the brush and clip it to an angle.

At the end, place a brush with the invisible tool (tools/invisible) and tie it to a func_noportal_volume. You can make this a teleport trigger or a level change. That is more detailed and I will not explain it here. Just add the details and when compiled, it should look like this.


Full Size

Compiling (The most important part)


So your all set to compile. You got a light source (observation room/other lights) and a end. So lets compile. However, Compiling maps for Project-Alpha is a tad different then compiling for Portal.

When you compile, make sure HDR is unchecked. "Don't run the game after compiling" is your choice. You will receive plenty of texture errors. Ignore these errors, they are harmless to the map. But when you exit the Source SDK to map for something else, remember to turn it back on. Thanks to the wall edits in the mod, Project-Alpha looks better without HDR. It gives it that old feeling.

Conclusion


I'm done and your on your own. Using normal techniques with some of KernCores, you can make your own Project-Alpha maps. You can also try 1/4 Life's Color Correction (beta.raw) along with Valves test chamber Color Correction. Doing this will make the map look like the Test Chamber 13 edit I did. A big thanks to KernCore for learning these techniques and joining the Project-Beta team. Without him, Project-Alpha would have been impossible!

Post comment Comments
ammd
ammd Oct 18 2009, 1:46pm says:

Cool stuff

+3 votes     reply to comment
fadi.naoum.
fadi.naoum. Oct 18 2009, 2:27pm says:

that looks like it took a short time

+1 vote     reply to comment
maddima
maddima Oct 18 2009, 4:52pm says:

like it

+2 votes     reply to comment
salolito42
salolito42 Oct 18 2009, 8:50pm says:

BALLS TO THE WALLS!

+3 votes     reply to comment
Xylemon
Xylemon Oct 24 2009, 8:44pm says:

Very useful.

+1 vote     reply to comment
fadi.naoum.
fadi.naoum. Oct 29 2009, 1:04pm says:

thanks i learned 2 things i didnt know before

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Tutorial
Browse
Tutorials
Report Abuse
Report article
Related Mods
Portal: Project-Beta (Portal)
Portal: Project-Beta Portal - Single Player First Person Shooter
Related Games
Portal
Portal Single Player Puzzle Compilation
Related Groups
Project-Beta team
Project-Beta team Developer & Publisher with 5 members