zozo

End Game Spectator - Feedback

32 posts in this topic

We have enhanced our MP End Game scenarios by adding a new slot for players who want to watch the game. It is in an early state, but we appreciate your ideas and notes. 

 

90v1lum.png ftU6Ofv.png GkkgUKI.png 8nDmylQ.png

BASIC FEATURES

  • CAMERA - Consistent with 3DEN / ZEUS
  • VIEWS - Free camera, 1st and 3rd person views
  • USER GENERATED CONTENT - support for custom content  
  • META - Ability to display scenario specific META data
  • END GAME - supports all Spectator features

PLANS

  • More UGC support
  • More statistics
  • Refine controls / camera movement
  • End Game support needs

This thread will gather your general feedback on the functionality.
You can track updates in the announcement thread.
 
 
SPLENDID DISCLAIMER

  • Be warned: the development build is not final software; content and technology is subject to change and may still contain errors/ lack certain features.

Thanks in advance for your feedback!
- zozo

12 people like this

Share this post


Link to post
Share on other sites

In case you would like to try the new Spectator in your own custom scenario, you can do so by placing a Virtual Spectator entity in the Editor.

The Virtual Spectator can be found under Units > Game Logic > Virtual Entities > Virtual Spectator.

 

Further support is in bound, in the coming week we plan to heavily improve the Interface, add support for side blocking features, ability to spectate while dead and / or waiting for respawn.

Sorry for the lack of documentation at this point, once we have the feature in a more stable and finished state, it will be introduced in the Wiki.

 

Thanks and have fun,

Nelson Duarte

7 people like this

Share this post


Link to post
Share on other sites

Great idea! Will there be a command to run Spectator mode without being in the specific slot? Native Spectator is a way better than 3rd party  :lol:

Share this post


Link to post
Share on other sites

Is this specific to the end game gamemode? Or will it also server as a greater framework that can be used elsewhere?

 

I largely wrote and designed the spectator framework currently provided in ace and so an official spectator implementation (more fleshed out than the basic respawn template) interests me greatly :)

 

  • CAMERA - Consistent with 3DEN / ZEUS

This is already a big, big step up from the respawn template. The UX seems much nicer even in these early stages.

Share this post


Link to post
Share on other sites

Very nice work !

As silentspike mentioned, will we also get a public API usable in other scenarios ?

Share this post


Link to post
Share on other sites

Will we be able to use this in mission? So when a player dies he can still spectate the others.

Because i think it would be a waste if you could only spectate by having a specific spectator slot...

Share this post


Link to post
Share on other sites

I'm really looking forward to this. As SilentSpike said, just the change of camera controls is worth celebrating :)

Share this post


Link to post
Share on other sites

Great idea! Will there be a command to run Spectator mode without being in the specific slot? Native Spectator is a way better than 3rd party  :lol:

Yes, while this is somewhat already possible, I'd suggest to wait for the full integration, as it will support this out of the box. ;)

 

Is this specific to the end game gamemode? Or will it also server as a greater framework that can be used elsewhere?

 

I largely wrote and designed the spectator framework currently provided in ace and so an official spectator implementation (more fleshed out than the basic respawn template) interests me greatly :)

 

This is already a big, big step up from the respawn template. The UX seems much nicer even in these early stages.

 

Nice!

While the current focus is to provide a way to spectate in End Game, our goals for the Spectator is to have it working on any game mode / scenario. ;)

We would also like to achieve some level of modding for it, for example, provide enough functionality for custom game modes to display information to spectators which is specific to the game mode itself, while keeping it's interface and user experience consistent throughout.

 

Very nice work !

As silentspike mentioned, will we also get a public API usable in other scenarios ?

 

Yes, and wiki documentation. Once we are sure we have a stable system, we will announce it in the usual channels. :)

3 people like this

Share this post


Link to post
Share on other sites

Nice!

While the current focus is to provide a way to spectate in End Game, our goals for the Spectator is to have it working on any game mode / scenario. ;)

We would also like to achieve some level of modding for it, for example, provide enough functionality for custom game modes to display information to spectators which is specific to the game mode itself, while keeping it's interface and user experience consistent throughout.

Great to hear, look forward to seeing where it goes!

Share this post


Link to post
Share on other sites

Yes, while this is somewhat already possible, I'd suggest to wait for the full integration, as it will support this out of the box. ;)

 

This would be so wonderful!

Share this post


Link to post
Share on other sites

I know it's early days, but I'm also hopeful this could potentially bring about the "VIEW" switchCamera mode à la VBS  ;) (nudge, nudge)

 

Yes, while there was no research on this yet, it is something we want to investigate.

3 people like this

Share this post


Link to post
Share on other sites

This might concern the Splendid camera more than this, or may involve this I'm not sure, anyway... 

 

- Whats the go with adding GoPro style cameras as a setting or placement? For example, say I'm doing a realism OP with my unit and I'm flying the Jet, yet when people get killed give them the ability to view the pilot from behind the seat or the cockpit dash as if there were a camera sitting there, like this image.. Obviously it follows the aircraft as well. 

 

article-2655062-1EA972E700000578-413_964

 

I ain't no Dev, however I could see it like this,

 

Add camera module > Sync with the aircraft/vehicle > Move the camera to the position you want > Save position. 

 

Like I said I have no idea with making a game, though if only it was that easy. 

1 person likes this

Share this post


Link to post
Share on other sites
 

Hello,
I have a question concerning the " End Game Spectator ".
Is it possible to disable the HUD as with Zeus. Or as normal viewer with L , J and H.
I did not find a solution on the net.

Thank you in advance for your answer .

 

 

Any clue on this ?
Thx!

Share this post


Link to post
Share on other sites

Any more commands to access spectator in 1.56 3DEN update or is it something further down the road?

 

For instance toggling cam inertia  setting would be great.

Share this post


Link to post
Share on other sites

As there is no End game sub forum I'm at a loss as to where to post this so I'm posting it here.

It would be nice to have a sub forum for End game for players to leave suggestions/feedback.

Until then there is one major issue that I think needs addressing; when the map changes from a 32 slot map to a 16 slot map there are usually more than 16 players on the server so some players have to leave. With 26 players on the server it means players who don't get one of the 16 slots have no choice but to disconnect. It's very annoying and happens every time I play. Could player count be the same for every map? I understand that smaller maps have been designed for 16 players, but players still want to play after a 32 player map and if they are forced to disconnect too often they might not come back.

You may not have noticed but the official servers have been getting regular players over the past month. If BI support it a bit more it will become more popular.

Share this post


Link to post
Share on other sites

Is there a way to whitelist/blacklist specific units? It seems like only side is an option.

In round based modes, you would want only the actually playing players to be spectate-able, so you don't have to cycle through all the "dead" players who are in the waiting area, waiting for next round to start.

It would be nice if there was a global array or a function that one can call that will update that whitelist for an already running spectator.

 

Alternatively, can allow us to set a predicate function that the spectator script will use to determine if a unit is a valid target for spectating.

Something like:

fnc_canSpectate =
{
  private ["_unit"];
  _unit = _this select 0;
 
  ((side _unit) == side player) && (_unit getVariable ["isPlaying", false])
}
 
[fnc_canSpectate] call BIS_fnc_update_spectator_condition_function;

Share this post


Link to post
Share on other sites

What is the meaning of the first parameter? It seems like it must always be player? I couldn't find anything else that did anything.

 

Is it possible to set the position of the free camera with a script?

 

 

Yet another question:
How would you add locations to the locations menu?

 

And another:
How to stop the spectator using a key press? Currently the only way to stop the spectator script seems to be by calling the function with the "terminate" parameter, but adding a keyUp event handler to display 46 seems to not take effect while spectator display is active.

1 person likes this

Share this post


Link to post
Share on other sites

It also appears that if you hover on the map you can spot enemies from sides that are not whitelisted and click them to spectate from them. This breaks the competitive side of DTAS, in which you are not supposed to be able to see anything other than first person views of friendly players.

Share this post


Link to post
Share on other sites

Hi and thanks for feedback. ;)
 

What is the meaning of the first parameter? It seems like it must always be player? I couldn't find anything else that did anything.

 

Is it possible to set the position of the free camera with a script?

 

 

Yet another question:
How would you add locations to the locations menu?

 

And another:
How to stop the spectator using a key press? Currently the only way to stop the spectator script seems to be by calling the function with the "terminate" parameter, but adding a keyUp event handler to display 46 seems to not take effect while spectator display is active.

 

The first parameter will always be a player object, not necessarily a unit, it can be a Virtual Spectator game logic.
It's there for this special handling.

 

You can set the Free Camera transformation by using camera related function, for example, to set it's transformation, you would call:
 

// Get current camera transform
private _cameraTransform = ["GetCameraTransform"] call BIS_fnc_EGSpectatorCamera;

// Camera Transform will return [position, vectorDir, vectorUp, [2dDirection, override]]
// Change position to our desired position, which is at index 0
_cameraTransform set [0, position SOME_OBJECT];

// Set transformation
["SetCameraTransform", _cameraTransform] call BIS_fnc_EGSpectatorCamera;

Additionally, I'd invite you to check BIS_fnc_EGSpectatorCamera itself and see further sub-functions and their parameters.

There will probably be further useful functionality you could use.

 

For adding or removing custom locations from the Locations list, you will use:

// Add location
["AddLocation", [_id, _name, _description, _iconTexture, _cameraTransform, _dirOverride]] call BIS_fnc_EGSpectator;

// Remove location
["RemoveLocation", [_id]] call BIS_fnc_EGSpectator;

In relation to the KeyUp event, I see no reason why it would not work, if this problem persists I would recomment to create a bug report at https://feedback.bistudio.com/and we will take a look at what could be wrong.

 

It also appears that if you hover on the map you can spot enemies from sides that are not whitelisted and click them to spectate from them. This breaks the competitive side of DTAS, in which you are not supposed to be able to see anything other than first person views of friendly players.

 

This is not by design, sounds like a bug. Will take a look. For tracking proposes I'd recommend to create a bug report at https://feedback.bistudio.com/.

Thanks, and I hope this will somewhat help you having a more splendid take at spectating. ;)

2 people like this

Share this post


Link to post
Share on other sites

any chance to see engine improvements in camera views post APEX?

 

atm it still has too many issues and limitations to provide a meaningful observer functionality from 1st/3rd/optics person view.

also with vehicles it doesnt work well at all.

 

any point to create tickets in the FT for that? (basically copy+paste them from CIT for the most part)

Share this post


Link to post
Share on other sites

any chance to see engine improvements in camera views post APEX?

 

atm it still has too many issues and limitations to provide a meaningful observer functionality from 1st/3rd/optics person view.

also with vehicles it doesnt work well at all.

 

any point to create tickets in the FT for that? (basically copy+paste them from CIT for the most part)

 

Sure, feel free to create tickets for the desired improvements and link those which relate to the Spectator here.

We know there's space for improvements on the general camera behaviors, and something we would like to improve in the future. ;)

1 person likes this

Share this post


Link to post
Share on other sites

The main script with its sub-functions is bit hard to read, because in most cases it simply forwards those parameters to another function, and it's hard to say what that function might expect.

 

With the locations, for example, I had to do trail and error until I sort of figured out what the parameters were supposed to be.

 

As for the bug, it was reported by a friend, I will try to reproduce it by myself and create a proper bug report.

 

Other than bug fixing and more detailed documentation of the sub-functions, the most useful addition would be to have more control over the black/white list of units while the spectator script is active (in my case, exclude units as they get killed and moved to the "waiting for next round" area). Right now it's impossible to tell which ones are alive and playing and which are "dead (in my mission means they are in the waiting area and have some variable set).

 

For example, allow having a condition function as a parameter instead of the side whitelist array, so instead of passing [side player], I could pass a function that will take unit as argument and return true if they unit should be spectate-able and false if it shouldn't. The script should then use this function periodically to check which units should be removed/added to the whitelist.


I see that the feedback tracker only allows bug reports. Is there a way to add a feature request/task that is not a bug?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now