First off, backup up your entire Portal directory in a safe place. It’s the folder marked “portal” in …\Steam\steamapps(your_steam_id). We, nor Valve, take any responsibility in the unlikely event of you hosing your game files. Worse comes to worse though, you could always just redownload from STEAM. Next, download and install, if you haven’t already, GCFScape. This handy program will allow you to access the cached game files for any Source-powered game, in addition to several other Steam games you may have downloaded. Once that’s done, browse to the directory …\Steam\steamapps. There, you’ll see all the available GCF archives. We’ll start with Half-Life 2. Open the GCF marked “half-life 2 content.gcf” You’ll see a directory tree in the left pane. Click the box to the left of the folder marked “hl2″ to see the directory listing contained within it. Then, right-click “maps,” select ‘Extract’ and extract the entire folder into the directory \Steam\steamapps(your_steam_id)\portal\portal. This will merge it with the existing Portal map folder. Do the same with the ’scenes’ folder Fire up Steam and run Portal. When it’s done doing its thing, open up the developer console with ‘~’ (you may need to enable it under your keyboard options). At the console, type “maps” to list all the available maps. Now that you’ve imported the Half-Life 2 maps, this will be a fairly lengthy list and some of the names, like citadel and canals, should seem familiar. Type “map” and then the map name to open that map. For instance, “map d1_canals_01″ When the map is done loading, pull up the console again and enable cheats by entering “sv_cheats 1″ To give yourself all weapons, including the portal gun, enter “impulse 101″ Depending on how far you got in Portal, you may need to upgrade the portal gun to fire both portals. Enter “upgrade_portalgun” to do so Go lay waste to some alien scum with the power of portals! Here are some more thoughts on our experiences: Follow the same steps if you’d like to try it out with Half-Life 2: Deatmatch or Episodes 1 and 2. We actually highly recommend starting with the HL2: DM maps to give you a feel of how things operate and allow you to experiment with various techniques. You can spawn an enemy by first looking where you would like him to be placed and then entering, say, “npc_create_equipment weapon_shotgun; wait; npc_create npc_combine_s” to create a Combine soldier with a shotgun. (Visit this HL2 Filefront page for more details) Sorry, but we’ve racked our brains and can’t figure out a simple way to get multiple people into a game of HL2: DM this way. We’re sure some enterprising group of modders will come up with something in the coming weeks, though. We did not attempt to do this with Team Fortress 2, Counter-Strike: Source, or Day of Defeat: Source. As fun as it might sound in theory, we would like to dissuade you from trying it as well, as it probably won’t yield any real satisfactory results. All the same basic concepts of Portal apply here, including realistic momentum and gravity. You’ll also automatically regain health very quickly as in Portal. We’ll try to find a fix for this and post it soon. It may take some time to figure out which surfaces work and which don’t, since obviously this is no longer clearly indicated by the textures. Generally speaking, shoot only for flat walls, floors, and ceilings and not objects like rocks or boxes. Sadly, NPC’s and enemies cannot pass through portals. However, almost all ammunition, from bullets shot to grenades tossed to objects flung with the gravity gun, can and will make their way through smoothly. You’ll also probably notice a weird, floating colored cloud that follows you around (it appears a few times in the video above). We couldn’t figure out a way to disable this, but thankfully it’s only a minor annoyance. As in Portal, the player’s health will regenerate very quickly. A savvy reader by the name of Adam Brock has posted in the comments a way to ‘disable’ regenerative health by setting ’sv_regeneration_wait_time’ to a very high number. You can do so, for example, by entering “sv_regeneration_wait_time 7200″ at the console (after applying “sv_cheats 1″) to postpone any health regeneration for two hours.