User talk:Mr.p.kiwi: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Started working on this new tutorial, based on ForbbidenDounat's tutorial from ThinkingWithPortals)
 
(9 intermediate revisions by the same user not shown)
Line 38: Line 38:
*[http://meta.wikimedia.org/wiki/Help:Table| How to create tables]
*[http://meta.wikimedia.org/wiki/Help:Table| How to create tables]


= Disc Room =
[[Image:Insert disk.jpg|thumb|right|300px|This is how you do it...]]
The '''disc room''' is the final challenge Atlas and P-body must face when completing a course. It is placed in parts beyond GLaDOS's influence and serves as a last stand of the humans against GLaDOS's growing control over the facility.
== Disc Emitter ==
the '''disc emitter''' is the device that creates the discs. It can re-create the disc in case the disc is lost or dissolved. It is usually placed near the '''Disc Receiver''' at the end of the last chamber of the course. However it doesn't have to be like that; placing the emitter at the start of the chamber can lead to some interesting puzzles, in which the main priority is to make sure the disc wouldn't get lost.
=== Step 1 ===
[[Image:Disk emitter1.jpg|350px|thumb|right|Snap on the [[Basic Construction#The_grid|grid]]: 2]]
Create a [[prop_static]] and set it's model to <code>models/props_gameplay/laser_disc_player.mdl</code>, place it anywhere in your disc room. This is where the disc would be picked up from.


We will create the disc now; a [[prop_dynamic_override]]. Set its [[Hammer Object Properties Dialog|properties]] as follows:
= [[Underground Testing Tracks (Portal 2)]] =
::{| class=standard-table
{{Portal 2 theme menu}}
!  Property Name || Value
|-
| Parent || spawner_door
|-
| Disable Shadows || Yes
|-
| World Model || laser_disc.mdl
|-
| Name || start_disc
|}
Place the disc model in the device as detailed in the picture to the right.


Now create a 8x20x1 brush and texture it with <code>tools/toolsinvisible</code>. Place it on top of the disc model, again, as shown on the picture to the right. Tie the brush to an entity (by pressing {{key|Ctrl|T}}) and make it a [[func_door]]. Now set its properties as follows:
This [[Portal 2]] tutorial will expand the [[Underground (Portal 2)|Old Aperture]] page with various insightful tips and tricks too complex or long for the main article to contain.
::{| class=standard-table
!  Property Name || Value
|-
| Name || spawner_door
|-
| Speed || 26
|-
| Start Sound || World.LaserDiskLoad
|-
| Delay Before Reset (-1 stay) || -1
|-
| Loop Moving Sound || Yes
|-
| Move Direction || 0 0 0
|}
{{Note|The Move Direction should be set to whatever [[QAngle|Pitch Yaw Roll]] you have for your <code>laser_disc_player.mdl</code>.}}
Another entity must be made now a [[prop_physics_override]], this will be the disc the players would carry around. Hold {{Key|Shift}} and drag the ''start_disc'' to the point it is no longer in the device and only it's 'tip' touches the entrance. Change it's "Class" to prop_physics_override and name it disc.
=== Step 2 ===
Here we would make some templates to respawn the disc in case it gets lost.
{{Note|This step is not crucial for the emitter to operate, skip to step 3 if there is no way to lose the disc in your map.}}


Create a [[point_template]] with the following properties:
== In-Depth ==
::{| class=standard-table
'''Aperture Laboratories''' again proves they are able to find the most ridiculous ways of dealing with their issues as a growing facility. This time they bought a salt-mine and started building from the bottom upwards. Now they faced a new problem - how to build their testing tracks. Luckily they found a solution for that too, they built huge metal spheres that suspend hundreds of feet in these underground trenches. So a major component when designing an Old Aperture-themed map is capitalizing on the exterior portions of your map. The [[Enrichment sphere|enrichment spheres]] are meant to give an ominous impression, full of damaged structures and deteriorated walkways. A successful Old Aperture map looks daunting – although it has survived the test of time, it has received scars and has potential for danger. Take for example this picture from Valve’s map in Portal 2 [http://cloud.steampowered.com/ugc/541775700474320140/FBE3C8667135695217AED66121B08BF2120F7A83 sp_a3_jump_intro].
!  Property Name || Value
|-
| Name || template_disc_spawn
|-
| Template 1 || start_disc
|-
| Template 2 || spawner_door
|}


Create one more point_template with these properties:  
The map is almost completely revealed at the start of the course, exposing all of the brittle supports and winding pipes. However, the feeling of anticipation is built as the player wonders what incredible events occur in the upcoming structures. Valve’s maps are designed like soundstages on a Hollywood movie lot to detach the player from the realities of Chell’s dire situation and enter the world of Aperture Science in its 1950’s heyday.
::{| class=standard-table
In this next picture, taken from one of my Old Aperture maps, I attempted to recreate that same feeling:
!  Property Name || Value
http://cloud.steampowered.com/ugc/541775700470392286/C2EE4B8CC0052EDF11B190717C9CA996F9F4A356/
|-
| Name || template_disc
|-
| Template 1 || disc
|}


=== Step 3 ===
By raising the next chamber up, I’ve given the building a dominating presence in my map – this is a place that the player will ultimately have to make his climb to the exit. No matter what kind of map you are working on, designing it with a vertical perspective is a good idea as it makes gravity its own puzzle element and gives the player the sense of progress. I’d also like to take the time to note how important lighting is in Old Aperture maps. Unlike its clean counterpart, Old Aperture should have plenty of variance between dark and light to display the importance of certain areas and elements. There’s a lot of extra space in the spheres, so designers need to use light to show where the player should and shouldn’t need to go.
[[Image:Disk emitter2.jpg|350px|thumb|right|This time, everything's included.<br>Snap on the [[Basic Construction#The_grid|grid]]: 8]]
After making all the entities needed to get the emitter to work, all that is left is to connect their actions to form a disc; let's make some [[Inputs and Outputs|I/O]] connections!
<br>Start by creating a [[logic_auto]] with the following output:
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnMapSpawn || template_disk_spawn || ForceSpawn || &nbsp; || 0.00 || No
|}
{{Tip|We would use this entity again further in the tutorial, don't forget it's here.}}


Open your '''spawner_door''' '[[Inputs and Outputs#Outputs|Output]]' tab and add the following properties:
Since much of the exterior work is built to make the player anticipate the upcoming chambers (unless you specifically designed a puzzle to work outdoors in Old Aperture, which has its own upsides and downsides), making the interiors is equally important. Here is an example from the same Valve map:
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnFullyOpen || start_disc || ClearParent || &nbsp; || 0.00 || No
|-
| [[Image:Io11.png]] || OnFullyOpen || start_disc || TurnOff || &nbsp; || 0.00 || No
|-
| [[Image:Io11.png]] || OnFullyOpen || template_disc || ForceSpawn || &nbsp; || 0.00 || No
|-
| [[Image:Io11.png]] || OnFullyOpen || start_disc || Kill || &nbsp; || 0.10 || No
|-
| [[Image:Io11.png]] || OnFullyOpen || spawner_door || Kill || &nbsp; || 0.10 || No
|}


http://cloud.steampowered.com/ugc/54177 ... D153227DB/


Now add the following output to your '''template_disc_spawn''':
The important element in this map, and throughout the Old Aperture section of the game, is the function over cosmetic point of view. These “sets” aren’t designed to impress people with their state-of-art architecture or beautiful design, but rather to supply as a testing stage that can be easily built. From this picture alone, we can see the bare bones of the structure are visible: the building’s framework lining the ceiling, the air conditioning system riding up the wall, metal and wood supports holding up corners and edges and left-over paint work.
:{| border=1 cellpadding="2" cellspacing="1"
Here is my map again, trying to recreate that same feeling:
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnEntitySpawned || spawner_door || Open || &nbsp; || 0.00 || No
|}


Make sure that the entity that detects when the disc has been lost or killed has the following output:
http://cloud.steampowered.com/ugc/54177 ... 324CDF62A/
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnTrigger || template_disk_spawn || ForceSpawn || &nbsp; || 0.00 || No
|}


{{Tip|It is usually advised to let the entity which destroyed said disc to fire the output. For example, when the [[Emancipation Grid|fizzler]] dissolves the disc, it will fire the output OnDissolve. Check that there are no other physic objects that can get dissolved by that fizzler.}}
If you use many different wall materials, it gives the impression that the builders of these sets were using whatever they could get their hands on: wood, metal, grating, sometimes nothing. Again, we see the left over paint work, which could have been used to tell the builders where to orient the test structure and is now left to hint the player. For the inside of the structure, I used a mixture of self-designed florescent lighting along with the “cold” light instances to give the section a more isolated, forgotten feeling in comparison’s to the exterior’s warmer, ominous glow. Again, it is important to highlight the pinnacle testing items.
Now the emitter should be working, and dispensing new discs when the last one is gone. However, this is only a third of the process of getting the disc room to be functioning.
 
== Disc Receiver ==
 
The '''disc receiver''' (also '''disc player''') is where the disc is placed to fulfill it's purpose; placing the disc in the receiver turns on the video showing the information GLaDOS was looking for.
 
=== Step 1 ===
[[Image:Disk loader1.jpg|350px|thumb|right|Snap on the [[Basic Construction#The_grid|grid]]: 2]]
Place a prop_static in your disc room, and set it's model to <code>models/props_gameplay/laser_disc_player.mdl</code>. This is where the player will place the disc to end the level.
 
When the player places the disc near the receiver the disc that was carried would be removed and a hidden disc would load. We will do this to have better control over the way the disc will enter the receiver and to simply overcome a lot of problems. Another '''prop_dynamic_override''' would be required, the one that would load in the device by being attached to a func_door.
::{| class=standard-table
!  Property Name || Value
|-
| Parent || loader_door
|-
| Disable Shadows || Yes
|-
| World Model || laser_disc.mdl
|-
| Name || hidden_disc
|}
The disc needs to be placed as detailed in the picture to the right.
 
Now create a func_door brush with the <code>tools/toolsinvisible</code>. Place it on top of the disc model, again, as shown on the picture to the right. Add the following properties:
::{| class=standard-table
!  Property Name || Value
|-
| Name || loader_door
|-
| Speed || 8
|-
| Start Sound || World.LaserDiskLoad
|-
| Delay Before Reset (-1 stay) || -1
|-
| Loop Moving Sound || Yes
|-
| Move Direction || 0 180 0
|}
{{Note|The Move Direction should be set to the opposite Pitch Yaw Roll you have for your laser_disc_player.mdl.}}
{{Note|The func_door brush length depends on how far you want the disc to go; the disc has a 25 unit radius<sup>[http://en.wikipedia.org/wiki/Radius]</sup>, so you can judge by that. In the picture above the brush is 26 units long, making the entire disc go in.}}
 
=== Step 2 ===
'''Step 1''' lists the visible entities used for the disc receiver, this step will list the invisible entities.
<br>The first is a [[trigger_once]] brush, and the second is a [[filter_activator_name]]. Add now the following properties:
 
1. The '''trigger_once''':
::{| class=standard-table
!  Property Name || Value
|-
| Name || &nbsp;
|-
| Filter Name || disc_filter
|}
Ensure the '''Physics Objects''' flag is checked.
 
2. The '''filter_activator_name''':
::{| class=standard-table
!  Property Name || Value
|-
| Name || disc_filter
|-
| Filter Name || disc
|}
 
=== Step 3 ===
 
To get everything interacting, we will use the I/O system. Remember that logic_auto we used? Open it's Outputs tab and add the following properties:
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnStartTouch || hidden_disc || TurnOff || &nbsp; || 0.00 || No
|}
 
Add the following output to the trigger_once:
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnStartTouch || hidden_disc || TurnOn || &nbsp; || 0.00 || No
|-
| [[Image:Io13.png]] || OnStartTouch || !activator || Kill || &nbsp; || 0.00 || No
|-
| [[Image:Io11.png]] || OnStartTouch || loader_door || Open || &nbsp; || 0.00 || No
|}
{{Note|[[Hammer]] might show the !activator command in red. Just ignore it, in-game it'll work fine.}}
 
To the loader_door entity add one output:
:{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!
! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io12.png]] || OnFullyOpen || disc_loaded_relay || Trigger || &nbsp; || 0.00 || No
|}
{{Note|At this point we haven't yet made the disc_loaded_relay entity, so it might show that output as broken, at the moment.}}
 
Now the disc receiver should be operating and accepting the disc when it's placed in it. This is, however, only one more step in the process of completing the disc room.
 
== Projected Movie ==
[[Image:Coop bts blueprints.jpg|thumb|right|300px|This is the part where the magic happens.]]
The '''projected movie''' is the sequence that happens after loading the disc. Including the bot explosion at the end.
 
=== Step 1 ===
We will start by placing a prop_static with it's world model set to <code>projector.mdl</code>
 
 
::{| class=standard-table
!  Property Name || Value
|-
| Name || &nbsp;
|-
| &nbsp; || &nbsp;
|-
| &nbsp; || &nbsp;
|-
| &nbsp; || &nbsp;
|-
| &nbsp; || &nbsp;
|-
| &nbsp; || &nbsp;
|}

Latest revision as of 13:53, 13 January 2012

Tables

Trying to create good looking tables! ...You know, for the articles; but they need to reach perfection somewhere. If YOU feel like it, you can create a table here too, so that everyone can learn, including yourself. You can experiment on this page all day long - just leave your name as the title of the table, so that it'll be more organized.

To do such a thing, you would need to do something like this:

{| class="standard-table"
|+ your name goes here
!Header
|-
|Table
|}

For example:

Mr.p.kiwi 23:43, 31 July 2011 (PDT)
This will be a header This will be a header2 This will be a header3
Column1; Row1 Column2; Row1
Column 1; Row 2&3 Column3; Row2
Column2; Row3 Column3; Row3


External Links


Underground Testing Tracks (Portal 2)

This Portal 2 tutorial will expand the Old Aperture page with various insightful tips and tricks too complex or long for the main article to contain.

In-Depth

Aperture Laboratories again proves they are able to find the most ridiculous ways of dealing with their issues as a growing facility. This time they bought a salt-mine and started building from the bottom upwards. Now they faced a new problem - how to build their testing tracks. Luckily they found a solution for that too, they built huge metal spheres that suspend hundreds of feet in these underground trenches. So a major component when designing an Old Aperture-themed map is capitalizing on the exterior portions of your map. The enrichment spheres are meant to give an ominous impression, full of damaged structures and deteriorated walkways. A successful Old Aperture map looks daunting – although it has survived the test of time, it has received scars and has potential for danger. Take for example this picture from Valve’s map in Portal 2 sp_a3_jump_intro.

The map is almost completely revealed at the start of the course, exposing all of the brittle supports and winding pipes. However, the feeling of anticipation is built as the player wonders what incredible events occur in the upcoming structures. Valve’s maps are designed like soundstages on a Hollywood movie lot to detach the player from the realities of Chell’s dire situation and enter the world of Aperture Science in its 1950’s heyday. In this next picture, taken from one of my Old Aperture maps, I attempted to recreate that same feeling: http://cloud.steampowered.com/ugc/541775700470392286/C2EE4B8CC0052EDF11B190717C9CA996F9F4A356/

By raising the next chamber up, I’ve given the building a dominating presence in my map – this is a place that the player will ultimately have to make his climb to the exit. No matter what kind of map you are working on, designing it with a vertical perspective is a good idea as it makes gravity its own puzzle element and gives the player the sense of progress. I’d also like to take the time to note how important lighting is in Old Aperture maps. Unlike its clean counterpart, Old Aperture should have plenty of variance between dark and light to display the importance of certain areas and elements. There’s a lot of extra space in the spheres, so designers need to use light to show where the player should and shouldn’t need to go.

Since much of the exterior work is built to make the player anticipate the upcoming chambers (unless you specifically designed a puzzle to work outdoors in Old Aperture, which has its own upsides and downsides), making the interiors is equally important. Here is an example from the same Valve map:

http://cloud.steampowered.com/ugc/54177 ... D153227DB/

The important element in this map, and throughout the Old Aperture section of the game, is the function over cosmetic point of view. These “sets” aren’t designed to impress people with their state-of-art architecture or beautiful design, but rather to supply as a testing stage that can be easily built. From this picture alone, we can see the bare bones of the structure are visible: the building’s framework lining the ceiling, the air conditioning system riding up the wall, metal and wood supports holding up corners and edges and left-over paint work. Here is my map again, trying to recreate that same feeling:

http://cloud.steampowered.com/ugc/54177 ... 324CDF62A/

If you use many different wall materials, it gives the impression that the builders of these sets were using whatever they could get their hands on: wood, metal, grating, sometimes nothing. Again, we see the left over paint work, which could have been used to tell the builders where to orient the test structure and is now left to hint the player. For the inside of the structure, I used a mixture of self-designed florescent lighting along with the “cold” light instances to give the section a more isolated, forgotten feeling in comparison’s to the exterior’s warmer, ominous glow. Again, it is important to highlight the pinnacle testing items.