Testing Portal 2 Co-Op Maps Alone: Difference between revisions
(note on starting maps with non-standart name) |
Kestrelguy (talk | contribs) m (updated language bar.) |
||
Line 1: | Line 1: | ||
{{ | {{lang|Testing Portal 2 Co-Op Maps Alone|title=Testing ''Portal 2'' Co-Op Maps Alone}} | ||
{{p2 topicon}} | |||
| | |||
| | |||
}} | |||
[[Category:Portal 2 Level Design]] | [[Category:Portal 2 Level Design]] | ||
This is a guide on how you can test co-op maps alone utilizing the [[splitscreen]] capabilities of the Source engine. | This is a guide on how you can test co-op maps alone utilizing the [[splitscreen]] capabilities of the Source engine. This also works for any existing coop maps. It does not require any modifications to the map file itself. | ||
This does not cover the requirements for making a coop level in the first place. | This does not cover the requirements for making a coop level in the first place. | ||
Line 11: | Line 8: | ||
==Loading the Map== | ==Loading the Map== | ||
; <code>[[ss_map]] ''mapname''</code> | ; <code>[[ss_map]] ''mapname''</code> | ||
: Load <code>''mapname''</code> in splitscreen 2-player mode. | : Load <code>''mapname''</code> in splitscreen 2-player mode. Analogous to <code>[[Map (ConCommand)|map]]</code> in singleplayer. Like <code>map</code>, it is not required to add the trailing <code>.bsp</code>. | ||
{{Note|If the map name doesn't begin with "mp_coop_", add " *mp" to the end of the command: <code>ss_map ''mapname'' *mp</code> }} | {{Note|If the map name doesn't begin with "mp_coop_", add " *mp" to the end of the command: <code>ss_map ''mapname'' *mp</code> }} | ||
; <code>[[ss_splitmode]] ''mode''</code> | ; <code>[[ss_splitmode]] ''mode''</code> | ||
Line 19: | Line 16: | ||
: <code>ss_splitmode 2</code>: Side-by-side split | : <code>ss_splitmode 2</code>: Side-by-side split | ||
If your map is stuck at the loading screen, try to shorten the | If your map is stuck at the loading screen, try to shorten the VMF filename and recompile. | ||
===Dual Monitors=== | ===Dual Monitors=== | ||
If you run dual monitors and want to split to each monitor, follow [https://web.archive.org/web/20160726125926/http://forums.steampowered.com/forums/showthread.php?t=1857198 this guide] | If you run dual monitors and want to split to each monitor, follow [https://web.archive.org/web/20160726125926/http://forums.steampowered.com/forums/showthread.php?t=1857198 this guide] | ||
==Controlling the | ==Controlling the Second Player== | ||
If you could actually play the coop map entirely as one player, it wouldn't be a very cooperative map. | If you could actually play the coop map entirely as one player, it wouldn't be a very cooperative map. These are some ways you can control the second player. | ||
===<code>in_forceuser</code>=== | ===<code>in_forceuser</code>=== | ||
; <code>[[in_forceuser]] ''playerindex''</code> | ; <code>[[in_forceuser]] ''playerindex''</code> | ||
: Take over the second player. | : Take over the second player. All movement and other keybindings will be as if the second player used them. Requires cheats to be enabled. | ||
: | : {{ent|sv_cheats|1}}: Turn on cheats | ||
: <code>in_forceuser 0</code>: Control player #1 (Atlas) | : <code>in_forceuser 0</code>: Control player #1 (Atlas) | ||
: <code>in_forceuser 1</code>: Control player #2 (P-Body) | : <code>in_forceuser 1</code>: Control player #2 (P-Body) | ||
Line 38: | Line 35: | ||
: Swaps you between first and second player when you push "z". | : Swaps you between first and second player when you push "z". | ||
{{note|If you are moving, crouching, shooting portals or otherwise performing an action when you change players, you will stop during the change but immediately resume the action when you change back. | {{note|If you are moving, crouching, shooting portals or otherwise performing an action when you change players, you will stop during the change but immediately resume the action when you change back. For instance, if you're holding "w" to move forward, you will stop moving forward as soon as you hit "z" (assuming you use the BindToggle above), but immediately resume moving forward when you hit "z" again even if "w" is no longer being held down. To stop this, simply tap "w" again, or use a more robust keybinding: <code>[[Bind]] "z" "-moveleft; -moveright; -use; -forward; -back; -attack; -attack2; toggle in_forceuser"</code>.}} | ||
===Use a | ===Use a Controller=== | ||
This is actually more complicated than it sounds unless you have two controllers available. | This is actually more complicated than it sounds unless you have two controllers available. Source will map actions of the first detected controller to the first player and there doesn't seem to be any way to override this. The workaround is to either have two actual controllers or use trickery to make your computer think it has two controllers. | ||
You can also connect one controller and enter command <code>in_forceuser 1</code>. Then, Atlas will be controled by controller and P-body will be controled by keyboard. | You can also connect one controller and enter command <code>in_forceuser 1</code>. Then, Atlas will be controled by controller and P-body will be controled by keyboard. | ||
Line 58: | Line 55: | ||
:: <code>change_portalgun_linkage_id '''2'''</code>: Orange | :: <code>change_portalgun_linkage_id '''2'''</code>: Orange | ||
:: <code>change_portalgun_linkage_id '''''[3-9]'''''</code>: Extra / Reserved | :: <code>change_portalgun_linkage_id '''''[3-9]'''''</code>: Extra / Reserved | ||
{{Note|The color appearance of portals is tied to the person firing them. | {{Note|The color appearance of portals is tied to the person firing them. E.g., when Blue fires Orange's portals (''linkage_id: 2''), they appear blue until Orange fires them again.}} | ||
== Other | == Other Useful Console Commands == | ||
; <code>[[cmd2]] ''command''</code> | ; <code>[[cmd2]] ''command''</code> | ||
: Executes ''command'' as if typed by the second player. | : Executes ''command'' as if typed by the second player. | ||
Line 68: | Line 65: | ||
: <code>ss_pipsplit 3; ss_pipscale 1; ss_pip_bottom_offset 0; ss_pip_right_offset 0</code> can be used to show only the second player's view | : <code>ss_pipsplit 3; ss_pipscale 1; ss_pip_bottom_offset 0; ss_pip_right_offset 0</code> can be used to show only the second player's view | ||
== External | == External Links == | ||
* [http://forums.thinking.withportals.com/maps-and-modding/running-testing-co-op-maps-in-singleplayer-t2299.html Original version of this guide] hosted at ThinkingWithPortals.com | * [http://forums.thinking.withportals.com/maps-and-modding/running-testing-co-op-maps-in-singleplayer-t2299.html Original version of this guide] hosted at ThinkingWithPortals.com | ||
* [http://forums.steampowered.com/forums/showthread.php?t=1847904 How-to: Split Screen Coop] | * [http://forums.steampowered.com/forums/showthread.php?t=1847904 How-to: Split Screen Coop] | ||
* [http://forums.steampowered.com/forums/showthread.php?t=1857198 How-to: SplitScreen with 2 monitors] | * [http://forums.steampowered.com/forums/showthread.php?t=1857198 How-to: SplitScreen with 2 monitors] | ||
* [http://forums.steampowered.com/forums/showthread.php?p=22141019 How-to: Play Co_Op Alone] | * [http://forums.steampowered.com/forums/showthread.php?p=22141019 How-to: Play Co_Op Alone] | ||
[[Category:Portal 2 Level Design]] | [[Category:Portal 2 Level Design]] | ||
[[Category:Portal 2 Tutorials]] | [[Category:Portal 2 Tutorials]] |
Revision as of 13:38, 8 May 2022
This is a guide on how you can test co-op maps alone utilizing the splitscreen capabilities of the Source engine. This also works for any existing coop maps. It does not require any modifications to the map file itself.
This does not cover the requirements for making a coop level in the first place.
Loading the Map
ss_map mapname
- Load
mapname
in splitscreen 2-player mode. Analogous tomap
in singleplayer. Likemap
, it is not required to add the trailing.bsp
.

ss_map mapname *mp
ss_splitmode mode
- Changes the splitscreen mode.
ss_splitmode 0
: Use recommended settings based on widthss_splitmode 1
: Top-and-bottom splitss_splitmode 2
: Side-by-side split
If your map is stuck at the loading screen, try to shorten the VMF filename and recompile.
Dual Monitors
If you run dual monitors and want to split to each monitor, follow this guide
Controlling the Second Player
If you could actually play the coop map entirely as one player, it wouldn't be a very cooperative map. These are some ways you can control the second player.
in_forceuser
in_forceuser playerindex
- Take over the second player. All movement and other keybindings will be as if the second player used them. Requires cheats to be enabled.
- sv_cheats 1: Turn on cheats
in_forceuser 0
: Control player #1 (Atlas)in_forceuser 1
: Control player #2 (P-Body)
To make this easy to use, set a keybinding for it:
BindToggle "z" in_forceuser
- Swaps you between first and second player when you push "z".

Bind "z" "-moveleft; -moveright; -use; -forward; -back; -attack; -attack2; toggle in_forceuser"
.Use a Controller
This is actually more complicated than it sounds unless you have two controllers available. Source will map actions of the first detected controller to the first player and there doesn't seem to be any way to override this. The workaround is to either have two actual controllers or use trickery to make your computer think it has two controllers.
You can also connect one controller and enter command in_forceuser 1
. Then, Atlas will be controled by controller and P-body will be controled by keyboard.

More information for this can be found on the Steam forums.
change_portalgun_linkage
This allows you to use the extra sets of linked portals without actually changing characters.
change_portalgun_linkage_id integer
- Changes portals fired to belong to the specified character or team.
change_portalgun_linkage_id 0
: Single-playerchange_portalgun_linkage_id 1
: Bluechange_portalgun_linkage_id 2
: Orangechange_portalgun_linkage_id [3-9]
: Extra / Reserved

Other Useful Console Commands
cmd2 command
- Executes command as if typed by the second player.
cmd2 name Player2
: Sets the name of the second playerss_force_primary_fullscreen enable
- Makes the first player fullscreen if enable is 1, hiding the second player's view.
ss_pipsplit 3; ss_pipscale 1; ss_pip_bottom_offset 0; ss_pip_right_offset 0
can be used to show only the second player's view
External Links
- Original version of this guide hosted at ThinkingWithPortals.com
- How-to: Split Screen Coop
- How-to: SplitScreen with 2 monitors
- How-to: Play Co_Op Alone