Upvote Upvoted 41 Downvote Downvoted
Simulating a TF2 World Championship
posted in Projects
1
#1
TF2Metrics
0 Frags +

I thought I'd make some noises here about a TF2Metrics side-project I'm doing. Long story short, curating my stats-based ranking system led to my throwing together a basic match simulator which, after much tinkering, I'm now putting to use simulating an entire tournament among the world's finest 6v6 teams in a sort-of virtual super-LAN. A real-life world championship like this isn't entirely feasible, of course, so maybe this project can serve to scratch that itch a little bit. While I won't for a minute pretend that any events that transpire should be taken as completely accurate representations of what would happen in a real-life tournament of this scale, I do at least hope this will be of some entertainment value to some of you. I'm going through the format according to an eleven-day timetable, which brings us right to the eve of an actual real-life LAN, the Copenhagen Games.

I actually started this with an introductory post yesterday, which I'd suggest starting with, but I thought I'd withhold from mentioning it here until I actually had some completed virtual matches (which each manifest as a transcript of point captures) to show, which you can peruse in today's post.

Cheers!

I thought I'd make some noises here about a TF2Metrics side-project I'm doing. Long story short, curating my stats-based ranking system led to my throwing together a basic match simulator which, after much tinkering, I'm now putting to use simulating an entire tournament among the world's finest 6v6 teams in a sort-of virtual super-LAN. A real-life world championship like this isn't entirely feasible, of course, so maybe this project can serve to scratch that itch a little bit. While I won't for a minute pretend that any events that transpire should be taken as completely accurate representations of what would happen in a real-life tournament of this scale, I do at least hope this will be of some entertainment value to some of you. I'm going through the format according to an eleven-day timetable, which brings us right to the eve of an actual real-life LAN, the Copenhagen Games.

I actually started this with an [b][url=https://tf2metrics.wordpress.com/2019/04/05/introduction-simulating-a-tf2-world-championship/]introductory post[/url][/b] yesterday, which I'd suggest starting with, but I thought I'd withhold from mentioning it here until I actually had some completed virtual matches (which each manifest as a transcript of point captures) to show, which you can peruse in [b][url=https://tf2metrics.wordpress.com/2019/04/06/day-1-simulating-a-tf2-world-championship/]today's post.[/url][/b]

Cheers!
2
#2
1 Frags +

This is super cool man thanks for doing this!

This is super cool man thanks for doing this!
3
#3
3 Frags +

nice

nice
4
#4
Twitch Prime
13 Frags +

Storm to theoretically pound

Storm to theoretically pound
5
#5
5 Frags +

I'll put 1000 dollars on froyotech taking it all

I'll put 1000 dollars on froyotech taking it all
6
#6
9 Frags +
THEBILLDOZERI'll put 1000 dollars on froyotech taking it all

I estimate a 1% profit margin from this bet

[quote=THEBILLDOZER]I'll put 1000 dollars on froyotech taking it all[/quote]
I estimate a 1% profit margin from this bet
7
#7
5 Frags +
riotbzTHEBILLDOZERI'll put 1000 dollars on froyotech taking it allI estimate a 1% profit margin from this bet

10 dollars is 10 dollars

[quote=riotbz][quote=THEBILLDOZER]I'll put 1000 dollars on froyotech taking it all[/quote]
I estimate a 1% profit margin from this bet[/quote]

10 dollars is 10 dollars
8
#8
0 Frags +
THEBILLDOZERI'll put 1000 dollars on froyotech taking it all

this would be the one true test of how good the simulation is imo

[quote=THEBILLDOZER]I'll put 1000 dollars on froyotech taking it all[/quote]

this would be the one true test of how good the simulation is imo
9
#9
5 Frags +
BuffMcStrongHugeriotbzTHEBILLDOZERI'll put 1000 dollars on froyotech taking it allI estimate a 1% profit margin from this bet
10 dollars is 10 dollars

more money than most of us have ever made off this game

[quote=BuffMcStrongHuge][quote=riotbz][quote=THEBILLDOZER]I'll put 1000 dollars on froyotech taking it all[/quote]
I estimate a 1% profit margin from this bet[/quote]

10 dollars is 10 dollars[/quote]
more money than most of us have ever made off this game
10
#10
TF2Metrics
5 Frags +

In case anyone's interested in the final results of this side-project, the final post in the series is now up with Day 11. This one documents the final leg of the playoffs (which began on Day 9).

In case anyone's interested in the final results of this side-project, the final post in the series is now up with [b][url=https://wp.me/p8wlTV-2Zc]Day 11.[/url][/b] This one documents the final leg of the playoffs (which began on Day 9).
11
#11
2 Frags +

as someone who doesnt know anything about maths, this is seriously impressive effort for a non-profit project

as someone who doesnt know anything about maths, this is seriously impressive effort for a non-profit project
12
#12
0 Frags +

so froyo vs se7en

so froyo vs se7en
13
#13
0 Frags +

I'm interested in the specifics of the model you're using, but I don't see it anywhere on your site. Is there any more information you can give on the model you're using to predict match results?

I'm interested in the specifics of the model you're using, but I don't see it anywhere on your site. Is there any more information you can give on the model you're using to predict match results?
14
#14
TF2Metrics
1 Frags +
ZestyI'm interested in the specifics of the model you're using, but I don't see it anywhere on your site. Is there any more information you can give on the model you're using to predict match results?

It works through my ranking system, which is player-based and derived from results and stats from officials. Recent matches, and those featuring high-profile players, are weighted the highest and have the most influence on players' statuses. When predicting a match result, the players on each team are looked up and their average scores are calculated, and then whatever disparity exists between the two teams is used to estimate how likely it would be for either of them to win the match as a percentage.

It's at this point the simulator steps in. It's actually quite simple and not at all fancy. It uses these percentages as a base for its match transcripts. The percentage values are applied not on a whole-map basis but on a capture-point-by-capture-point basis (although they're modified so that the difference between them is reduced, because a 10% chance of winning a match isn't the same as a 10% chance of winning a midfight, for example). To summarise, RNG is used to determine which team is the next to make a capture based on these percentage figures. An RNG-based system also determines how long it will be until the next capture happens, aka duration.

However, lots of smaller aspects influence what I've described above to produce more realistic outcomes. For example, certain maps are determined to be more conducive to longer stalemates, so longer duration numbers are more likely to pop up here. The percentage figures mentioned above are actually dynamic and they change point-by-point during the simulation based on context. If the duration following the previous capture is, by chance, sufficiently low, the chance of the team that won that capture to win the next one is proportionately increased to emulate a sense of momentum. This is what leads to events in simulations where, for example, one team sweeps across the map relatively quickly, something that would be somewhat rare if it was just left to raw chance. Another example is on last, where the team on the offensive has a slightly reduced chance of progressing and longer stalemates are more likely. Durations are much shorter on average in matches featuring teams perceived to have a big performance gap, while longer durations are more likely in close matches. Factors such as these, I think, lead to simulations that appear to be much more organic and realistic.

The RNG elements also mean that lower-ranked teams can in fact beat higher-ranked ones within these simulations to, what I think is, a realistic degree. The chance of the lower-ranked team winning rapidly drops off the bigger the score gulf exists between them in the rankings. There turned out to be a number of examples of this in the simulated world championship.

This whole system generates row after row of point captures following this simple procedure until either one team wins or time runs out.

So the simulator really isn't especially clever, but it is specifically designed to produce realistic-looking events.

[quote=Zesty]I'm interested in the specifics of the model you're using, but I don't see it anywhere on your site. Is there any more information you can give on the model you're using to predict match results?[/quote]

It works through my ranking system, which is player-based and derived from results and stats from officials. Recent matches, and those featuring high-profile players, are weighted the highest and have the most influence on players' statuses. When predicting a match result, the players on each team are looked up and their average scores are calculated, and then whatever disparity exists between the two teams is used to estimate how likely it would be for either of them to win the match as a percentage.

It's at this point the simulator steps in. It's actually quite simple and not at all fancy. It uses these percentages as a base for its match transcripts. The percentage values are applied not on a whole-map basis but on a capture-point-by-capture-point basis (although they're modified so that the difference between them is reduced, because a 10% chance of winning a match isn't the same as a 10% chance of winning a midfight, for example). To summarise, RNG is used to determine which team is the next to make a capture based on these percentage figures. An RNG-based system also determines how long it will be until the next capture happens, aka duration.

However, lots of smaller aspects influence what I've described above to produce more realistic outcomes. For example, certain maps are determined to be more conducive to longer stalemates, so longer duration numbers are more likely to pop up here. The percentage figures mentioned above are actually dynamic and they change point-by-point during the simulation based on context. If the duration following the previous capture is, by chance, sufficiently low, the chance of the team that won that capture to win the next one is proportionately increased to emulate a sense of momentum. This is what leads to events in simulations where, for example, one team sweeps across the map relatively quickly, something that would be somewhat rare if it was just left to raw chance. Another example is on last, where the team on the offensive has a slightly reduced chance of progressing and longer stalemates are more likely. Durations are much shorter on average in matches featuring teams perceived to have a big performance gap, while longer durations are more likely in close matches. Factors such as these, I think, lead to simulations that appear to be much more organic and realistic.

The RNG elements also mean that lower-ranked teams can in fact beat higher-ranked ones within these simulations to, what I think is, a realistic degree. The chance of the lower-ranked team winning rapidly drops off the bigger the score gulf exists between them in the rankings. There turned out to be a number of examples of this in the simulated world championship.

This whole system generates row after row of point captures following this simple procedure until either one team wins or time runs out.

So the simulator really isn't especially clever, but it is specifically designed to produce realistic-looking events.
15
#15
0 Frags +

Not sure if I was a fan about the group stage seeding you used. Think I would have preferred less groups with more teams, but regardless, that was a hell of a writeup and a fun read.

Kudos

Not sure if I was a fan about the group stage seeding you used. Think I would have preferred less groups with more teams, but regardless, that was a hell of a writeup and a fun read.

Kudos
Please sign in through STEAM to post a comment.