User talk:Mr.p.kiwi

From Valve Developer Community
Revision as of 12:54, 1 September 2011 by Mr.p.kiwi (talk | contribs) (→‎Disc Room: Disc receiver - progressing. I hope to hear what you think.)
Jump to navigation Jump to search

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

Disc Room

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 serve 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

Snap on the grid: 2

Create a prop_static and set it's model to models/props_gameplay/laser_disc_player.mdl, 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 properties as follows:

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 tools/toolsinvisible. 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 Ctrl+T) and make it a func_door. Now set its properties as follows:

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.pngNote:The Move Direction should be set to whatever Pitch Yaw Roll you have for your laser_disc_player.mdl.

Another entity must be made now a prop_physics_override, this will be the disc the players would carry around. Hold 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'll get lost.

Note.pngNote: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:

Property Name Value
Name template_disc_spawn
Template 1 start_disc
Template 2 spawner_door

Create one more point_template with these properties:

Property Name Value
Name template_disc
Template 1 disc

Step 3

This time, everything's included.
Snap on the grid: 8

After making all the entities needed to get the emitter working, all that is left is to connect their actions to form a disc; let's make some I/O connections!
Start by creating a logic_auto with the following output:

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn template_disk_spawn ForceSpawn   0.00 No
Tip.pngTip:We would use this entity again further in the tutorial, don't forget it's here.

Open your spawner_door 'Output' tab and add the following properties:

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnFullyOpen start_disc ClearParent   0.00 No
Io11.png OnFullyOpen start_disc TurnOff   0.00 No
Io11.png OnFullyOpen template_disc ForceSpawn   0.00 No
Io11.png OnFullyOpen start_disc Kill   0.10 No
Io11.png OnFullyOpen spawner_door Kill   0.10 No


Now add the following output to your template_disc_spawn:

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnEntitySpawned spawner_door Open   0.00 No

Make sure that the entity that detects when the disc has been lost or killed has the following output:

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger template_disk_spawn ForceSpawn   0.00 No
Tip.pngTip:It is usually advised to let the entity which destroyed said disc to fire the output. For example, when the 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.

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

Snap on the grid: 2

Place a prop_static in your disc room, and set it's model to models/props_gameplay/laser_disc_player.mdl. 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.

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 tools/toolsinvisible. Place it on top of the disc model, again, as shown on the picture to the right. Add the following properties:

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.pngNote:The Move Direction should be set to the opposite Pitch Yaw Roll you have for your laser_disc_player.mdl.
Note.pngNote:The func_door brush length depends on how far you want the disc to go; the disc has a 25 unit radius[1], 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.
The first a trigger_once brush, and the second will be a filter_activator_name. Add now the following properties:

1. The trigger_once:

Property Name Value
Name  
Filter Name disc_filter

Ensure the Physics Objects flag is checked.

2. The filter_activator_name:

Property Name Value
Name disc_filter
Filter Name disc

Step 3

To get everything interacting with each other, we will now use the I/O system. Add the following output to the trigger_once:

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger template_disk_spawn ForceSpawn   0.00 No


Property Name Value
Name spawner_door