#Steam Game Recording

1 messages · Page 1 of 1 (latest)

ripe python
#

thread!

#

Steam Game Recording

hexed bear
#
  1. 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.
ripe python
#

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

pallid talon
#

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

ripe python
#

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

pallid talon
#

that'd be good enough for me personally

hexed bear
#

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.

ripe python
#

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

ripe python
#

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 😄

ripe python
#

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

ripe python
#

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.

ripe python
#

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)

vale abyss
#

will there be a option to disable it on a event basis? eg due to space constraints or privacy reasons

vale abyss
#

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?

ripe python
#

yes, no

vale abyss
#

game runs but cant play the multiplayer or anything steam

potent mortar
#

I think plane ejection would also be interesting to record

ripe python
#

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

potent mortar
ripe python
#

There is eject action handling in engine, I thought that's where it would be handled

potent mortar
ripe python
#

I don't know how that works, we'll probably skip it for 2.20, we can add more later

coral dirge
ripe python
#

Yes, they should

frail garden
#

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

coral dirge
#

Wasn't able to get it working either.

ripe python
#

can you pack me a sample vanilla mission folder?

frail garden
ripe python
#

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, [];