Creating Portal Breaking Ladders: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Removed skill level)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE: Creating Breaking Ladders}}
{{DISPLAYTITLE: Portal BTS - Tutorial - Breaking Ladders}}{{back | Portal Level Creation|Portal Level Creation}}
{{back | Portal Behind The Scenes Level Creation}}
__NOTOC__
__NOTOC__
{{Tutorial Skill Level | skill=2}}
==Introduction==
==Introduction==
This guide will teach you how to create breaking ladders from Portal. The purpose of breaking ladders is to get the player curious and to look up, according to a developer commentary node.
This guide will teach you how to create breaking ladders from Portal. The purpose of breaking ladders is to get the player curious and to look up, according to a developer commentary node.
Line 8: Line 6:
==Ladder Rungs==
==Ladder Rungs==


[[Image:Ladder.PNG|thumb|right|200px|The Ladders]]
[[File:Ladder.PNG|thumb|right|200px|The Ladders]]


Create multiple <code>[[prop_dynamic]]</code> entities and enter the following properties:
Create multiple <code>[[prop_dynamic]]</code> entities and enter the following properties:
Line 26: Line 24:
==The Holes==
==The Holes==


[[Image:Ladder holes.PNG|thumb|right|200px|Ladder Holes]]
[[File:Ladder holes.PNG|thumb|right|200px|Ladder Holes]]


Put <code>[[info_overlay]]</code> entities where the stairs connect to the walls.
Put <code>[[info_overlay]]</code> entities where the stairs connect to the walls and set the material to <code>decals/concrete/shot1</code>.


The texture names for each overlay can be:
Resize the overlay to <code>12*12</code>
 
* <code>decals/concrete/shot1</code>
 
* <code>decals/concrete/shot2</code>
 
* <code>decals/concrete/shot3</code>
 
* <code>decals/concrete/shot4</code>




Line 62: Line 52:
===Triggers===
===Triggers===


[[Image:Ladder Trigger.PNG|thumb|right|200px|The Triggers]]
[[File:Ladder Trigger.PNG|thumb|right|200px|The Triggers]]


Create a <code>2w*26l*2h</code> brush with the <code>[[trigger]]</code> texture and tie it to a <code>[[trigger_once]]</code>
Create a <code>2w*26l*2h</code> brush with the <code>[[trigger]]</code> texture and tie it to a <code>[[trigger_once]]</code>
Line 71: Line 61:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnStartTouch || phys_convert_ladder1_rung1 || ConvertTarget || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || phys_convert_ladder1_rung1 || ConvertTarget || <none> || 0.00 || No
|}
|}


Line 78: Line 68:
===Making Portals Break Ladders===
===Making Portals Break Ladders===


[[Image:Ladder Portal Detector.PNG|thumb|right|200px|Portal Detectors]]
[[File:Ladder Portal Detector.PNG|thumb|right|200px|Portal Detectors]]


Create a <code>2w*24l*2h</code> brush with the invisible texture. Tie it to a <code>[[func_portal_detector]]</code>.
Create a <code>2w*24l*2h</code> brush with the invisible texture. Tie it to a <code>[[func_portal_detector]]</code>.
Line 85: Line 75:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnStartTouchLinkedPortal || phys_convert_ladder1_rung1 || ConvertTarget || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchLinkedPortal || phys_convert_ladder1_rung1 || ConvertTarget || <none> || 0.00 || No
|}
|}


Line 92: Line 82:
==Detailing==
==Detailing==


[[Image:Ladder Details.PNG|thumb|right|200px|Detailing Ladders]]
[[File:Ladder Details.PNG|thumb|right|200px|Detailing Ladders]]


These ladders can be tilted. The holes are still in reasonable position. So basically the ladder is already broken.
These ladders can be tilted. The holes are still in reasonable position. So basically the ladder is already broken.
Line 98: Line 88:
Some ladder pieces can be missing but still make sure you have the hole textures. {{clr}}
Some ladder pieces can be missing but still make sure you have the hole textures. {{clr}}


== See Also ==
== See also ==


* [[Portal Behind The Scenes Level Creation]]
* [[Portal Level Creation]]


* [[Portal Level Creation]]
[[Category:Portal]]
[[Category: Level Design]][[Category: Portal]][[Category: Tutorials]][[Category:Level_Design_Tutorials]]
[[Category:Level Design]]
[[Category:Tutorials]]

Latest revision as of 17:52, 19 April 2025

Portal Level Creation

Introduction

This guide will teach you how to create breaking ladders from Portal. The purpose of breaking ladders is to get the player curious and to look up, according to a developer commentary node.

Ladder Rungs

The Ladders

Create multiple prop_dynamic entities and enter the following properties:

Property Name Value
Name ladder1_rung1
Collisions Not Solid
World Model models/props_bts/ladder_01.mdl
Note.pngNote:For the second rung piece, you will name it ladder1_rung2, the third piece will be named ladder1_rung3, and so on.

The Holes

Ladder Holes

Put info_overlay entities where the stairs connect to the walls and set the material to decals/concrete/shot1.

Resize the overlay to 12*12


Try to make each hole texture randomized for the detailing.

Making the Ladders Fall

Physics Converter

Create a phys_convert and enter the following properties:

Property Name Value
Name phys_convert_ladder1_rung1
Entity to convert ladder1_rung1

Go to Flags and check Convert As Debris

Copy and paste these entities.

Note.pngNote:For the second phys_convert, you will name it phys_convert_ladder1_rung2, the third piece will be named phys_convert_ladder1_rung3, and so on. Same applies to the Entity to convert

Triggers

The Triggers

Create a 2w*26l*2h brush with the trigger texture and tie it to a trigger_once

Enter the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch phys_convert_ladder1_rung1 ConvertTarget <none> 0.00 No

Copy and paste these triggers and make sure the are put in a reasonable spot the the ladder props. Don't forget to change the outputs though.

Making Portals Break Ladders

Portal Detectors

Create a 2w*24l*2h brush with the invisible texture. Tie it to a func_portal_detector.

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouchLinkedPortal phys_convert_ladder1_rung1 ConvertTarget <none> 0.00 No

Make sure the Portal Detector touches the wall and also make sure that every ladder has a func_portal_detector.

Detailing

Detailing Ladders

These ladders can be tilted. The holes are still in reasonable position. So basically the ladder is already broken.

Some ladder pieces can be missing but still make sure you have the hole textures.

See also