Portal 2

Portal 2

Not enough ratings
p0rtalmaster's Hammer Guide Series Part 05/19
By The Sojourner
Hello and welcome to part 05/19 of my series of mini-guides, designed to help you learn perhaps what is the biggest part of the Portal 2 Authoring tools: Hammer.

For a super-quick version of this series, please check out my other guide, Hammer for the Flustered.
   
Award
Favorite
Favorited
Unfavorite
Indicator Lights: Those Blue and Orange Antlines
Although Aperture Laboratories exists through the 21st century, where wireless devices are abound, the testing elements still communitcate with one another via wires. The good news is that you don't need to actually create any of these wires, as they're hidden behind the walls and floors.

Before, I suggested you create something like this:



But now that's going to change. All you really need are some overlays and either a prop_indicator_panel or an env_texturetoggle. The indicator lights are controlled by whatever output device/testing element you have, be it a button, laser catcher or laser relay. The steps of this recipe:



1) Use the texture signage/indicator_lights/indicator_lights_floor to create straight lines.

2) For corners and bends (but not transitions from floor to wall, e.g., which are actually straight-line paths), use signage/indicator_lights/indicator_lights_corner_floor. The same texture is also used nearby output testing elements (e.g. buttons), but not input testing elements (e.g. doors, lasers, hard light bridges, excursion funnels, etc.)

3) If you haven't already, set the grid size to 8 and "snap" your overlays to this grid.



4) This is where you get to morph the path of your indicator lights more freely than ever before (i.e. more freely than using the in-game editor). With texture lock off, move and resize your straight line overlays and move the corners to form a path. Remember also that indicator lights are never placed on the tile borders — only the faces, despite the slight asymmetry.
→ TIP: if you're stretching an overlay across multiple brushes, it will only appear on the brush face that it was applied to. To fix this, right-click and go into the info_overlay's properties, and select the brush faces to apply the overlay to (it's a property of overlays; click "Pick...").



5) Select all the overlays that make up your antline, right-click on them and name them the same thing (perhaps something like door1_indlights). The name will appear bold, which in Hammer means that it's a group and things like I/O are to be treated the same for all of the parts.

From here on out, there are a couple of ways to proceed: use a checkmark (prop_indicator_panel) or use an env_texturetoggle. If using the latter entity, you'll need to take care of one small thing first:





Checkmarks are used for doors and for remote testing elements. Everything else, including panels (unless invisible), will not use a checkmark. Since these devices will be receiving input, give them a name such as door1_indlights_check or door1_indlights_tt. It's recommended (though not required) to place the env_texturetoggle as you would a checkmark for organization reasons.

1) With an env_texturetoggle coming from a button, set these I/O:



2) With a prop_indicator_panel coming from a button, set the "Indicator lights" keyvalue accordingly (in our example, door1_indlights) and set the I/O as above, but instead of using the SetTextureIndex input, you'll be using the Check and Uncheck inputs.

Alternatively, the prop_indicator_panel can be used as a timer (i.e. that little thing with eight slices slowly appearing one by one). This is typically useful in conjunction with pedestal buttons that also have a timer of the same amount of time. Of course other, more advanced uses exist for the timer as well.

Timer or not though, make sure to use the Transform tool to place the prop_indicator_panel exactly 2.75 units into whatever wall it's touching unless it has a signage border (which, by the way, is virtually absent in Portal 2 styles).
Where Indicator Lights Cross
Here you have a couple of options:

1) Reform your indicator lights so that they cross like this:



2) Use an env_texturetoggle and a math_counter (to serve as an OR gate) for the one dot that crosses:


Aperture Science Indicator Lights Standards
1) We all know about how the Aperture Science Logo should go at all corners. However, it should not go at all bends:



2) All activators receive the Aperture Science Logo:



3) On the other end of the line, there is not an Aperture Science Logo:



In the end, your Aperture Science Indicator Lights will benefit better than when they did using the Puzzlemaker, for more reasons than the ones above:


Creating the Good Ol' Cube, Button, and Door Puzzle
1) Create a button with a base, as I showed you in the previous guide.
2) Create a testchamber door like I showed you in the previous guide.
3) Connect the two with indicator lights and a checkmark as I described above.
4) Finally, for the button, set outputs to open the door and switch the indicator lights, as described above and in the previous guide.

This process extends to essentially all Aperture Science testing elements: create your activator, create what you want to be (de)activated, connect the two with indicator lights, and finally, set the outputs in the activator so that everything will work.
Mistakes to Avoid & More Information

  • Not following the Aperture Laboratories Indicator Lights Standards.
  • Using the lines between the tiles instead of the tiles themselves to place indicator lights.
  • A more subtle mistake that can be made with the prop_indicator_panel is not to recess it into the wall. It'll look like it's floating slightly rather than attached to the wall.
  • Thankfully, not many mistakes are common here, and the ones that are seem to be easily ignorable.

More information from the VDC Wiki:
Master Guide List
Please note that there are still some works in progress. This section will be updated as I finish more guides for you!

You are currently viewing part 05/19 in the series.

| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

Previous Guide (about activators (e.g. buttons), and how to make them look pretty and such)
Next Guide (Aperture Science Vital Apparatus Vents, from scratch)

Please feel free to leave a well-reasoned question or comment below. Either I or a qualified Test Chamber Associate (you'll know because they make all the good maps on the workshop) will respond. If your question or comment is not well-reasoned, I recommend reading over my guides again until you understand them 100%. No further information is required here or will be provided, and you will become an excellent Test Chamber Designer — using Hammer!

7 Comments
The Sojourner  [author] 18 May, 2023 @ 7:35pm 
It's in the "Tools" section of your library, specifically the Portal 2 Authoring Tools. For more, check out Part 00 above.
Nebulus 17 May, 2023 @ 6:15am 
I feel like I would agree with this if I knew how to use the Hammer engine.
fluttershY_ 4 Apr, 2018 @ 8:38am 
...
The Sojourner  [author] 17 Mar, 2017 @ 7:34pm 
Yes, and there are other examples of going the other way as well (particularly in the official coop maps). Although the Aperture Science Indicator Lights Standards aren't always followed to a tee in Hammer maps (in part due to Valve's laziness, but perhaps for other reasons as well), they are in PeTI maps. The most important thing is that we know which activator does what.
TG 21 Apr, 2016 @ 10:05pm 
@quaternary input = reciever
output = sender
quat 19 Apr, 2016 @ 2:29pm 
persnickety grammar police: "The same texture is also used nearby output testing elements (e.g. buttons), but not input testing elements" Output and input are mixed up