You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The Source engine contains an embedded game stats system which was previously used by Valve to log certain player statistics. Most of this system is available in the Source SDK, but it is automatically deactivated in mods and requires specific launch options (-gamestatslogging to log game events, -gamestatsloggingtofile to log game events to a readable file, and -gamestatsfileoutputonly to save user data instead of trying to upload) in order to work properly.
This system was primarily intended to be used for mass data collection and the system's default output is designed to be uploaded to Valve's servers. However, it's possible certain components of it can be used to assist modders in smaller-scale playtests.
Currently, most playtests in the Source modding community rely directly on video playthroughs and/or written feedback. The GameStats system would allow for a more direct way of tracking the game and each player experience, which would be especially useful for playtesters who cannot or don't wish to record their playthroughs.
Describe the solution you'd like
There are two separate components of the GameStats system which may be useful in different ways:
Event logging — Logs all significant game events, including anything from the level being loaded to the player simply firing a weapon. Enabled by -gamestatslogging to log to the console or -gamestatsloggingtofile to log to a file. (Example)
Game stats user data — A brief summary of the user's hardware and graphics settings, followed by notable performance and playtime data (e.g. the player's average FPS and which maps they played on). This is normally designed to be uploaded to Valve, and -gamestatsfileoutputonly is required in order to save it to a local file. (Example)
For simple HL2 map playtesting, event logging is more likely to be useful, but it will produce tons of data that may be difficult to sort through on its own. This may mean new stats to summarize a playthrough in the user data file may also be useful, although logging will always provide the largest amount of direct data, so a tool or script to compile and/or visualize it may have its own benefits.
GameStats is designed to be overridden on a mod-by-mod basis to add new stats or functionality. Theoretically, Mapbase could have its own override which can in turn be configured by mappers or mod teams without requiring further custom code. It can potentially even be exposed to VScript.
Ideally, it would be as easy for one mapper to get data from a friend playing through their map as it would be for a mod team to get data from a large selection of playtesters.
Describe alternatives you've considered
Mapbase has its own primitive logging system (see game/shared/mapbase_game_log.cpp) which was never finished and was created without awareness of the GameStats system. While emphasizing a KeyValues-based format similar to the user data file for singleplayer game events may be useful, the existing GameStats system itself is vastly superior.
Additional context
The GameStats system is mentioned in the "Stat Collection/Analysis" section of Valve's Approach to Playtesting from GDC 2009. Its purpose as a tool for mass data collection post-release is emphasized, as are its pros and cons compared to other playtesting methods.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
The Source engine contains an embedded game stats system which was previously used by Valve to log certain player statistics. Most of this system is available in the Source SDK, but it is automatically deactivated in mods and requires specific launch options (
-gamestatslogging
to log game events,-gamestatsloggingtofile
to log game events to a readable file, and-gamestatsfileoutputonly
to save user data instead of trying to upload) in order to work properly.This system was primarily intended to be used for mass data collection and the system's default output is designed to be uploaded to Valve's servers. However, it's possible certain components of it can be used to assist modders in smaller-scale playtests.
Currently, most playtests in the Source modding community rely directly on video playthroughs and/or written feedback. The GameStats system would allow for a more direct way of tracking the game and each player experience, which would be especially useful for playtesters who cannot or don't wish to record their playthroughs.
Describe the solution you'd like
There are two separate components of the GameStats system which may be useful in different ways:
-gamestatslogging
to log to the console or-gamestatsloggingtofile
to log to a file. (Example)-gamestatsfileoutputonly
is required in order to save it to a local file. (Example)For simple HL2 map playtesting, event logging is more likely to be useful, but it will produce tons of data that may be difficult to sort through on its own. This may mean new stats to summarize a playthrough in the user data file may also be useful, although logging will always provide the largest amount of direct data, so a tool or script to compile and/or visualize it may have its own benefits.
GameStats is designed to be overridden on a mod-by-mod basis to add new stats or functionality. Theoretically, Mapbase could have its own override which can in turn be configured by mappers or mod teams without requiring further custom code. It can potentially even be exposed to VScript.
Ideally, it would be as easy for one mapper to get data from a friend playing through their map as it would be for a mod team to get data from a large selection of playtesters.
Describe alternatives you've considered
Mapbase has its own primitive logging system (see
game/shared/mapbase_game_log.cpp
) which was never finished and was created without awareness of the GameStats system. While emphasizing a KeyValues-based format similar to the user data file for singleplayer game events may be useful, the existing GameStats system itself is vastly superior.Additional context
The text was updated successfully, but these errors were encountered: