Making GLaDOS speak
Using preset sounds
It's actually very easy to make GLaDOS talk, but which method to use may not be immediately obvious. You can play one of her lines using an
ambient_generic, but this has an unfortunate downside:
ambient_generic entities continue to play even when the game is paused (hence the "ambient" part of the entity name).
In Valve's maps, a
logic_choreographed_scene is used instead. Here's how to make GLaDOS speak in your own maps with a
- Create a small room outside of your regular play area. Cover the walls with the "nodraw" texture.
- Inside the room, create a
generic_actorentity. Set the entity's model to models/props/metal_box.mdl or something similar. Set its render mode to "Don't Render". The model doesn't really matter, but Valve uses metal_box in their maps because the map already uses that model in most cases (thus saving memory).
- Set the
generic_actor's Name property to Aperture_AI (the name cannot be anything other than Aperture_AI, otherwise the scenes will not function).
- Create a
logic_choreographed_scenein your play area and set the Scene property to whatever scene you want to play.
There are also many scenes that can be made for special use, including things like weighted storage cubes, and cameras.
* scenes\general\generic_security_camera_destroyed-1.vcd * scenes\general\generic_security_camera_destroyed-2.vcd * scenes\general\generic_security_camera_destroyed-3.vcd * scenes\general\generic_security_camera_destroyed-4.vcd * scenes\general\generic_security_camera_destroyed-5.vcd
* general\ai_box_fried.vcd * general\ai_box_lost.vcd
Now, just trigger the
logic_choreographed_scene entity and listen to GLaDOS speak!
You can put in your own sounds for GLaDOS's voice if you like - just follow these steps:
- Create your sound and place it in "~/USERNAME/portal/portal/sound/MAPNAME/"
- Place an
ambient_genericanywhere in your map - preferably near the trigger that will activate it.
- Open the "Sound Name" field in the
ambient_generic's properties and browse for your sound name.
- Make a name for your
ambient_generic, trigger it with a PlaySound input from somewhere, and it should work.
- Your audio file needs to be a .wav file, preferably 22050 Hz Sample Rate and Playback Rate.
- When distributing the map, you will need to either package the sound with the map or use bspzip to add the files to your .bsp if you want the sounds to be heard by recipients of your map.
- If you use bspzip, make sure to use all lowercase letters on everything and to use the .bsp internal sound folder of "/sound/MAPNAME/sound.wav"
- If things don't work correctly, try to trigger the sound in-game, then look at the developer's console and see if it gives you an error; this can be a valuable troubleshooting tool.
- All scenes from the GLaDOS' chamber requires a generic_actor named tim_larkin.