reepblue wrote:
Turrets holding down buttons are in Portal, but only in Test Chamber 16 tho. . .
I think if its necessary turrets should hold buttons down.
Hmm, I don't mind if turrets can press down buttons, but it wouldn't be my first solution if play a new map. In Hub however, the buttons were not meant to be pressed down by the turrets.
HMW wrote:
BTW, I have another question about the map: How do the panels with indicator lights rotate to a different starting position every time a new game is started? Is there some way to place obects randomly in the game? And how does it know when two panels are lined up correctly?
The randomness: With the PickRandom input, I let a logic_case choose a panel to rotate. This is done four times.
The connected indicators: This took me many frustrating hours. If I just could have programmed it in C++ it would have taken minutes.
Anyway... Each panel has a math_counter and a logic_relay. The math_counter knows in which direction the panel is facing. The logic_relay triggers the desired outputs when the indicators of its panel is connected.
Each time a level of panels is rotating, 1 is added to the counter of each panel on that level. The math_counters restart when the panels have rotated one revolution. When a math_counter reaches it's maximum value, its panel is facing forward. The OnHitMax ouput will then enable the logic_relay of the panel and disable all the other logic_relays on that level.
When a level of panels has finished rotating, a logic_relay will try to trigger all the logic_relays of the bottom level. Only the logic_relay enabled by its math_counter will take the input. The others are disabled and will ignore it.
The logic_relay activated on the bottom level will then try to activate the logic_relay of the panel(s) that can be connected on the second level. If the logic_relay on the second is enabled and can be connected, it will try to trigger the third level and so on. If it is disbled, the connection has failed and the indicator will remain blue.
Example: Panel 1A, 2A and 3C are the ones facing forward. A level of panels has just been rotated. A logic_relay will therefore try to trigger the logic_relays of panel 1A, 1B and 1C. The 1A math_counter has reached its maximum value and will therefore have enabled logic_relay 1A and disabled 1B and 1C. The logic_relay 1A will therefore take the input and turn the indicator orange, open the doors of the room on the second floor and so on. It will also try to trigger logic_relay 2A. Because 2A is facing forward, and is therefore enabled, it will accept the trigger input from 1A and do its stuff. 2A will then try to activate 3A, but 3A is disabled because 3C is the one facing forward. The chain of outputs has ended and the player needs to rotate the third level to continue up.
Hope that makes sense 
monkeyman wrote:
http://www.youtube.com/watch?v=0xmQ0skkuQs
20 portals run ^
after i uploaded it i watched it and realised a few bits of the editing were pretty bad, but it will do... 
Nice. I'll study it closer when I get time.