#Steam Game Recording
1 messages · Page 1 of 1 (latest)
- Apart from kills/deaths maybe destroying vehicles and buildings or detonating charges or other heavy weaponry could be cool to clip. Completing objectives like like stealing the money in RF's Cashpoint would be cool too.
destroying vehicle == vehicle kill.
I was debating about buildings.
Exploding charges would indeed be neat, but probably down to mods like ACE to add because they don't detonate with vanilla method.
Objectives, like Tasks I had not on my radar at all! Thank you. We could integrate it into the task system
an event handler allowing mods to alter or prevent vanilla events from going onto the timeline would also be nice, some pvp groups may also want to prevent kill confirming by using the timeline
2 & 3, yes, 5 & 6 are fine to be missing if they're trouble to add, 6, AddGamePhaseTag would be nice, SetGamePhaseAttribute looks less useful but would be nice if not a trouble to add
Do you need an eventhandler, or would it be enough to disable it with a mod in config?
Currently events are in config, and you can set scope=1 to turn it off
that'd be good enough for me personally
How many events would be the maximum that you would want to show up? It seems like if all AI kills were recorded there would be tons.
Steam handles that. If too many events happen at once, it only displays one highest priority one
So like doing 50 kills at once is fine-ish
Mh kills might be a problem for some PvP modes?
Some intentionally don't have killfeed so you don't know if you killed your target or not. But it would still show up in game rec.. nevermind the mission can just turn off the event then.
And that's what Brett already mentioned and I forgot 😄
I don't know how one would do "other heavy weaponry".
Maybe you could do a "bombs away" for a plane, but I think thats not a interesting moment, you would want to maybe clip the bomb impact, if you can see it.
If you get kills with it, you would get a marker at impact time anyway
💀
That "Game phase" stuff seems to still be heavily WIP on steam side.
In the clip preview ingame you cannot even see it.
If you go to "Recordings and screenshots" in steam client, you cannot see it.
If you go into the list view in there, then you can see it, but I find the UI a bit wonky.
#if __A3_EXPERIMENTAL__
#if __GAME_BUILD__ > 152674
[] spawn {
steamGameRecordingStartEvent ["StartGamePhase", "TestoPhase"];
// TagName, TagGroup, Icon
steamGameRecordingStartEvent ["SetGamePhaseTag", "TagName", "TagGroup", "steam_x"];
steamGameRecordingStartEvent ["SetGamePhaseTag", "TagName2", "TagGroup", "steam_timer"];
steamGameRecordingStartEvent ["SetGamePhaseTag", "TagName", "TagGroup2", "steam_view"];
steamGameRecordingStartEvent ["SetGamePhaseTag", "TagName2", "TagGroup2", "steam_pair"];
steamGameRecordingStartEvent ["SetGamePhaseAttribute", "AttribName", "AttribGroup"];
Sleep 5;
// EventName, duration (0 instant, otherwise seconds), Arguments into string formatting for description, timeOffset (seconds relative to know, where this event started
steamGameRecordingStartEvent ["UnitKilled", 0, ["Player1", "50"]];
// Was in zeus ui the last 5 seconds
steamGameRecordingStartEvent ["ZeusUI", 5, [], -5];
Sleep 5;
steamGameRecordingStartEvent ["EndGamePhase"];
};
#endif // __GAME_BUILD__ > 152674
#endif // __A3_EXPERIMENTAL__
But by clicking onto it you can directly jump to a game phase.
Tooltips show like that
steamGameRecordingStartEvent ["SetTooltip", "oh wow! Its happening!"];
In Steam's example screenshots, the game phases look much better.
But they just added attributes for kill/death/assist and duration.
And, tags with custom icons for each type of boss you killed? Or smth like that.
But we cannot give players custom icons (Which brings up the question, what custom icons should we add for mods to use)
will there be a option to disable it on a event basis? eg due to space constraints or privacy reasons
Mods/Missions can disable it, players can't
will the game still run fine for steam clients prior the one that introduces game recording?
in other words, does this require a bump on minimum steam client version allowed or not?
yes, no
game runs but cant play the multiplayer or anything steam
I think plane ejection would also be interesting to record
That is on our ideas list, but the problem with ejecting is that it also triggers in helicopter, when helicopter is standing on ground, handling that is a bit annoying
I was thinking adding it to BIS_fnc_planeEjection, iirc the moment can be saved by a script?
Right, there is a vanilla ejection on most vehicles
Has the idea of ​​recording a UnitRevive been reviewed? I think it's not unnecessary, low priority I thjink
https://community.bistudio.com/wiki/Arma_3:_Revive
There is eject action handling in engine, I thought that's where it would be handled
from BIS_fnc_planeEjection description, will record hit it if 'legacy ejection' disabled in class?
I don't know how that works, we'll probably skip it for 2.20, we can add more later
Do the mission config events override the config events in the final implementation? I haven't been able to get it to work, but it might just be a skill issue.
Yes, they should
does overwriting the default events only work in mod configs? i tried this in the mission description.ext:
class SteamGameRecording
{
class PlayerDied
{
scope = 1;
};
class UnitKilled
{
scope = 1;
};
class VehicleKilled
{
scope = 1;
};
};
But unfortunately this doesn't disable the kill feed
Wasn't able to get it working either.
can you pack me a sample vanilla mission folder?
Is this enough? 😄
argh I see.
It is cached.
The cache is reset when a different description.ext is detected.
But, the description.ext detection only runs, if the entry wasn't found inside the cache.
So if you start the game, and go straight into the mission without getting killed first, it will not have inserted into the cache.
The first lookup will fail, and then it'll go for description.ext, see that its a new one, reset cache of all other events and use all the description.ext ones.
Ugly hotfix, add a custom new event.
And trigger it from init.sqf
That will force to miss the cache, will detect the description.ext having changed and delete everything old from the cache
{
class PlayerDied
{
scope = 1;
};
class UnitKilled
{
scope = 1;
};
class VehicleKilled
{
scope = 1;
};
class CustomMissionEvent {
scope = 2;
title = "Mission started";
}
};
init.sqf:
steamGameRecordingEvent ["CustomMissionEvent ", 0, [];