Untitled mappack

Avatar
opticalprocessor
88 Posts
Posted May 31, 2014
Hey community!

In spirit of the ill-fated beGLADOS project, I decided to create a similar mappack for coop.

The main concept behind this is that Orange will be a personality core and Blue will be another character.

I already have the main mechanic done where Orange controls the core (movement, hacking etc) and I'll post pictures when I have time.

Don't expect anything special to pop up soon, this is a huge(ish) project and it's not like I have all day to map.

Advertisement
Registered users don't see ads! Register now!
Avatar
FelixGriffin
2,680 Posts
Posted May 31, 2014
Replied 3 hours later
I have a few instances that might be useful, such as a Wheatley monitor with a camera in it that the other player can use. You can see what it looks like in one of my Hammer Notepads for Adhesion gel.
Avatar
opticalprocessor
88 Posts
Posted Jun 01, 2014
Replied 15 hours later
Mind I look at those instances?

They do work in coop, right?

Avatar
opticalprocessor
88 Posts
Posted Jun 01, 2014
Replied 13 minutes later
Right now, I'm using a tracktrain controlled by a game_ui.

There is numerous issues with this implementation though.

One of those being that I can't move the camera while using the point_viewcontroller.

The other main issue is the unevenness of using a tracktrain connected to a game_ui.

Avatar
TeamSpen210
608 Posts
Posted Jun 01, 2014
Replied 41 minutes later
You want to try using a point_viewproxy instead, it allows you to look around. It's used in the starting hotel room and the tube ride later in the game. I don't know how well it works in multiplayer, though.

Idea for syncing the direction the core model faces with the player look direction: parent an info_target to the player (who's inside a nodraw room outside the map), attached to the "eyes" attachment point and positioned 1000 units in front of their face (so it's constantly in the center of their view, a long way in front). Use a logic_measure_movement to make a second info_target mirror the same motion, relative to the location of the tracktrain (which doesn't rotate). Add a func_tank, set to look at the second info-target. (Maybe this can be done with only one target and the "eye position" property of the measure_movement, but that might get glitchy. You probably want to use env_sprites or something while debugging you can see the targets.)

Avatar
opticalprocessor
88 Posts
Posted Jun 01, 2014
Replied 3 hours later

Wow, thanks for the help!

Just two questions.

  1. When I trigger the proxy view controller, it flies from the info_player_start and settles where its supposed to be. Any way to disable that?

  2. Can I restrict the rotation of the point_viewproxy so the player can't see the core ( the player is meant to be looking out the eye of the core).

Avatar
opticalprocessor
88 Posts
Posted Jun 01, 2014
Replied 3 minutes later

For reference, here's the vmf.

personalitymove.vmf
Avatar
CamBen
973 Posts
Posted Jun 01, 2014
Replied 4 hours later
Does anyone know whether you can track voice whether the bots are voice chatting or not? Because it would be really cool if the core's eye lit up when orange was talking.
Avatar
TeamSpen210
608 Posts
Posted Jun 01, 2014
Replied 1 hour later
Use the Vscript function "IsPlayerSpeaking(team)".
Set the offset type keyvalue to "snap to camera" to make the transition instant. Try parenting the viewproxy to the core, and attaching it to the "eye" point so it's always in front. Maybe try messing with the "Tilt fraction" property so the angle the player is looking doesn't change the proxy angle as much (to instead use the func_tank targeting more), depending on how well that works.
Avatar
CamBen
973 Posts
Posted Jun 01, 2014
Replied 2 hours later
Maybe when talking, a different idle animation would play, and the eye would light up. If you can detect taunts as well, then players could even taunt and then the core will do the eyepop anim, or the flip to front and back anim, or the spinning anim.
Avatar
opticalprocessor
88 Posts
Posted Jun 01, 2014
Replied 3 hours later
I've read somewhere that you can't parent a point_viewproxy.

I tried and Portal 2 crashed.

Avatar
TeamSpen210
608 Posts
Posted Jun 01, 2014
Replied 1 hour later
Just realised why, you want to parent the proxy entity instead.
Avatar
opticalprocessor
88 Posts
Posted Jun 02, 2014
Replied 1 hour later
Thanks for the help, again but still an issue remains.

The viewproxy dosen't seem to work in coop.

If I have to I might try a normal viewcontrol.

Avatar
opticalprocessor
88 Posts
Posted Jun 02, 2014
Replied 10 minutes later
It works with a point_viewcontrol_multiplayer.

I just need to add a env_screenoverlay (but from what I've heard , it will apply to all players.

I thinking about turning this into a mod to be able to use vscripts.

From there, I will publish the instance for other people to use.

Avatar
CamBen
973 Posts
Posted Jun 02, 2014
Replied 29 minutes later
Last I heard, screen overlays are broken entities in portal 2.also mods don't support coop.
Avatar
TeamSpen210
608 Posts
Posted Jun 02, 2014
Replied 5 minutes later
You can also just pack vscripts into a map like materials/models, they work fine.
Avatar
josepezdj
2,386 Posts
Posted Jun 02, 2014
Replied 1 hour later

opticalprocessor wrote:
It works with a point_viewcontrol_multiplayer.

I just need to add a env_screenoverlay (but from what I've heard , it will apply to all players.

I thinking about turning this into a mod to be able to use vscripts.

From there, I will publish the instance for other people to use.

You don't need to use the mod structure to use vscripting, just use pakrat to pack the script files inside the BSP and you're done. Also, as Camben said mods don't support coop.

Advertisement
Registered users don't see ads! Register now!
Avatar
FelixGriffin
2,680 Posts
Posted Jun 02, 2014
Replied 7 hours later
Anything which can create a screen overlay has been disabled (look in the console when you try to use one). The only solution I've found is to make a texture with the right parameters and display it on a stretched semitransparent brush in front of the camera (as in the controllable rocket turret and core interface).