Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

PiP Multivis #9081

Merged
merged 6 commits into from Oct 25, 2018
Merged

PiP Multivis #9081

merged 6 commits into from Oct 25, 2018

Conversation

tigercat2000
Copy link
Contributor

馃啈
add: PiP Hud Elements
experimental: AI PiP Multicam - Enabled by admins
fix: Calling /New( with excess arguments is now properly directed to /Initialize(
/:cl:

First commit just fixes a bug I noticed - Initialize( is supposed to get all of the arguments from /New( when generated normally, but it was broken. No one noticed because we don't use Initialize yet.

tgstation/tgstation#28360
tgstation/tgstation#37695

This adds a system for picture-in-picture UI windows using
vis_contents, a new feature to BYOND 512. Essentially, it allows you to
make UI windows that show an area of turfs. It also refactors how
cameranet visibility works, and makes the Adv. Camera Console code a bit
cleaner and more inheritance-based, especially with it's action buttons.

Currently, this is hesitantly implemented on AIs. They gain two new
UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go
into Multicam Mode, they see a background of animated binary numbers,
and they are allowed to create an infinite amount of these picture in
picture windows, which subsequently creates an aiEye for each one. They
are able to control each AI eye individually, by first clicking on the
PIP window to select it as "active" and then using the normal arrow key
controls. The PIP windows can be freely resized and moved around the
area.

The AI implementation may be considered controversial; Thus, it's locked
by default, requiring an administrator to var-edit "multicam_allowed" on
the AI before it is able to use the function. Otherwise, the buttons
just do nothing and alert the user to "Contact an administrator to use
these". There's not really any easy way to completely hide the UI
elements until they are available.

As this relies on 512 features, Travis has been bumped up to use 512.

https://i.tigercat2000.net/2018/05/dreamseeker_2018-05-30_13-48-53.png

@tigercat2000 tigercat2000 added Controversial This PR has left people very conflicted Feature This PR is a new addition to the game Fix This PR will fix an issue in the game Map Edit This PR will modify a map Refactor This PR will clean up the code but have the same ingame outcome Balance This PR will modify how effective something is or isnt User Interface This PR modifies a user interface in the game Port This PR is from another server, or heavily inspired/adapted. I ded pls nerf This PR is a very extreme nerf labels May 30, 2018
@Spacemanspark
Copy link
Contributor

take my money

@Tayyyyyyy
Copy link
Contributor

I definitely think AI should get by default purely because this will make AI more AI-like and increase the depth of the game in a really cool way, and it's worth sacrificing "balance" for that. Cameras will be destroyable by simple weapons soon and we can always add more anti-AI tools if it becomes too overbearing.

@KasparoVy
Copy link
Contributor

Holy shit this AI feature is absolutely unreal

Genius

@Fox-McCloud
Copy link
Member

Fox-McCloud commented May 31, 2018

I definitely think AI should get by default purely because this will make AI more AI-like and increase the depth of the game in a really cool way, and it's worth sacrificing "balance" for that.

This hardly adds more depth to the game. This doesn't add anything new in terms of gameplay mechanics or gameplay behavior; it just flat out increases how ubiquitous the AI is, so I don't really buy the argument here that it adds "depth".

Furthermore, the balance implications of this will be considered, especially in light of Paradise's server culture. TG's server culture is very uh "powergamey" or mechanically focused. Despite this, their attitudes towards AIs are very strict in terms of their function and what they're allowed to get away with. Furthermore, the laws typically in place relegate it far more to observer rather than an active agent on station.

Paradise, by contrast, has AI's that have incredible amounts of freedom and a culture in which this is neither punished nor looked down upon; an AI that is active and valid-hunty is encouraged and considered something to be aimed for; Lawsets that encourage passiveness are actively maligned. The AI is expected to be the problem solver to end all problem solvers.

This has consequences for AI here that grant it more power than is, what I feel, healthy, for the game. Exacerbating this status is something that will be factored into the overall decision on if AI's should have this, or not.

If this ever is utilized, I think there could be a strong case made for it being on malf/traitor AI, but as a regular AI ability? I don't think it's going to be used for anything other than "I am supercop AI".

@Tayyyyyyy
Copy link
Contributor

I agree AI has lots of issues in Paradise. A lot of players play the same power tripping validhunty AI despite lawset, and having corporate on 50% only worsens the situation. However I still think it's worth trying this out to see how adverse the effects are. With cameras being easy to destroy and players only having so much attention span it may not be too terrible.

@Vivalas
Copy link
Contributor

Vivalas commented May 31, 2018

literally unable to speak

No, I actually gasped at this for a few seconds. Don't think I've reacted to a PR before like that.

BYOND is actually turning into a modern game engine?

This would be pretty cool on security camera computers too. Unfortunately as cool as this is, the precedent has always been one camera at a time because of limitations, so I think balance concerns are fair.

@tigercat2000
Copy link
Contributor Author

It's worth noting that this is still a WiP on /tg/ due to balance concerns. There's been a few suggestions, including:

  • Limiting the amount of open windows further (it's currently at 6)
  • Making camera icons turn red when a PiP window is focused on them

@theColdflame
Copy link
Contributor

this increases the skillcap of AI and doesn't make things particularly worse on the antag-facing side of cameras, since you couldve gotten caught doing illegal shit in front of a camera anyway

benefits outweigh the downsides imo

@SamHPurp
Copy link
Contributor

The AI power-creep, I'm not a fan personally.

@Vivalas
Copy link
Contributor

Vivalas commented May 31, 2018

Yes, you could have always been caught with a camera. This extends the probability of being caught, however, because the AI can now watch multiple places at once, and can monitor all high security areas.

Which frankly, is realistic, but probably unbalanced. I like the /tg/ idea, maybe you could also make a "multivis" mainframe or something that can be destroyed, otherwise I think AI will just become more of a target with this.

@theColdflame
Copy link
Contributor

this extends the probability

if you leave your plan to chance it's only yourself to blame

@mvanalphen
Copy link
Contributor

mvanalphen commented May 31, 2018

It's a really damn cool idea and implementation, but as has been said this would be blatantly overpowered and make things even harder for traitors and other antagonists. The AI is already incredibly powerful, and this would make it even worse (especially because many AI's just ignore their laws to play super cop). Giving it to traitor/malfunctioning AI's would be awesome though.

Saying we "will add" anti AI/camera tools isn't good enough. Add them before this is made available to all AI's.

@davidchan13
Copy link

I think people are kind of freaking out over nothing here. Yes this lets the AI monitor more locations at once, but with limited field of view. The AI can monitor very specific areas, but depending on how they position their PiP view, they might not even be able to see the camera offering that view making it even easier to sabotage the AI in some cases, and makes it all the more important for antags TO cut the camera (something the AI can't fix remotely and only 1 borg module can repair)

@Citinited
Copy link
Contributor

AI can just follow all its borgs at once right? Could make it really irritating to emag them

@Denthamos
Copy link

This would be interesting on security camera consoles too. They are essentially 8k computer monitors that when you think about it, should be able to show multiple cameras at once instead of just one giant picture.

Think something along the lines of this - https://imgur.com/32Zf9Ak

This has potential not only for say, a warden that just wants to sit there and monitor cameras, but antags working together and using their comms in order to constantly relay where a target or people who might see them commit a crime are in the area, sort of like how abductor agents and scientists currently work.

@tigercat2000
Copy link
Contributor Author

@Citinited Following is tracked by a single variable on the AI mob itself -- so no, they can only track one mob at a time in one viewport.

@Dinarzad
Copy link

Dinarzad commented Jun 1, 2018

People are focusing on the AI issue a whole lot, but are ignoring the fact it doesn't HAVE to be AI only.

You could just as easily make this available to antags by adding a form of advanced camera monitor console or encourage the use of Camera Bug. you also have an AI detector as an Traitor for a very good reason.
So balance is really not nearly as much a concern as some are making it out to be.

@Bxil
Copy link
Contributor

Bxil commented Jun 1, 2018

When the AI requests the use of this, it probably should say "This function requires [command_name()] approval. Send request?" With giving admins a prompt. Give this a 10 minutes or so cooldown.

Muh immersion

@davidchan13
Copy link

When the AI requests the use of this, it probably should say "This function requires [command_name()] approval. Send request?" With giving admins a prompt. Give this a 10 minutes or so cooldown.

Muh immersion

Only if security needs CC approval to pull lethals from harmory.

@Bxil
Copy link
Contributor

Bxil commented Jun 1, 2018

@davidchan13 Really now? Currently it just gives you an error message, my solution makes more sense.

Bring your passive aggressiveness to the person who deserves it, for I would be the happiest if AIs got this by default.

@alexkar598
Copy link
Contributor

We should do the red camera light thing like tg

tgstation/tgstation#28360
tgstation/tgstation#37695

This commit adds a system for picture-in-picture UI windows using
vis_contents, a new feature to BYOND 512. Essentially, it allows you to
make UI windows that show an area of turfs. It also refactors how
cameranet visibility works, and makes the Adv. Camera Console code a bit
cleaner and more inheritance-based, especially with it's action buttons.

Currently, this is hesitantly implemented on AIs. They gain two new
UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go
into Multicam Mode, they see a background of animated binary numbers,
and they are allowed to create an infinite amount of these picture in
picture windows, which subsequently creates an aiEye for each one. They
are able to control each AI eye individually, by first clicking on the
PIP window to select it as "active" and then using the normal arrow key
controls. The PIP windows can be freely resized and moved around the
area.

The AI implementation may be considered controversial; Thus, it's locked
by default, requiring an administrator to var-edit "multicam_allowed" on
the AI before it is able to use the function. Otherwise, the buttons
just do nothing and alert the user to "Contact an administrator to use
these". There's not really any easy way to completely hide the UI
elements until they are available.

As this relies on 512 features, Travis has been bumped up to use 512.
@Shadeykins
Copy link
Contributor

Has the capacity to revolutionize our admittedly awful camera system. It makes AI more powerful, and conversely makes traitor/subverted AI's far more of a threat.

A system like this could also be a dramatic boost to the camerabug tool if it was added to it.

@Plotron
Copy link

Plotron commented Jun 6, 2018

I'd love to see this on camera consoles more than anything else. AIs can teleport easily, while navigating using the clunky camera console UI is hard. Would make monitoring more realistic, intuitive, and helpful.

@Ziiro
Copy link

Ziiro commented Jun 7, 2018

Just port lavaland and attach it to the combat upgrade, ezpz

@alexkar598
Copy link
Contributor

alexkar598 commented Jun 7, 2018 via email

@DarkPyrolord
Copy link
Contributor

Love the idea of this feature, it has a 馃憤 from me.

@Taaketa
Copy link

Taaketa commented Aug 13, 2018

As a minor balance change and for my sanity if I was AI. Could you make unfocused windows not be colour but black and white?

@variableundefined variableundefined added Merge Conflict This PR is merge conflicted and removed Merge Conflict This PR is merge conflicted labels Oct 13, 2018
# Conflicts:
#	.travis.yml
#	_maps/map_files/MetaStation/z2.dmm
#	_maps/map_files/cyberiad/z2.dmm
#	code/game/atoms_movable.dm
#	code/game/machinery/camera/camera.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/ai/freelook/eye.dm
@variableundefined variableundefined removed the Merge Conflict This PR is merge conflicted label Oct 24, 2018
Copy link
Contributor

@variableundefined variableundefined left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any glaring problem, but I'd like another maint to look over this again as this is not my area of expertise.

Gonna TM this first to ensure no unexpected effect occur.

@variableundefined variableundefined merged commit 4889c3a into ParadiseSS13:master Oct 25, 2018
@tigercat2000 tigercat2000 deleted the multivis branch October 25, 2018 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance This PR will modify how effective something is or isnt Controversial This PR has left people very conflicted Feature This PR is a new addition to the game Fix This PR will fix an issue in the game I ded pls nerf This PR is a very extreme nerf Map Edit This PR will modify a map Port This PR is from another server, or heavily inspired/adapted. Refactor This PR will clean up the code but have the same ingame outcome User Interface This PR modifies a user interface in the game
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet