A game-agnostic event detector can be used to automatically identify game events. Event data for detected events can be written to an event log in a form that is both human- and process-readable. Descriptive text for the event data can come from a common event dictionary that is hierarchical in nature, such that events of the same type can be correlated across different games even though the precise nature or appearance of those events may be different. The event data can be used for various purposes, such as to generate highlight videos or provide player performance feedback.