• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 20:01
CET 02:01
KST 10:01
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3
Community News
[BSL21] RO32 Group Stage0Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win62025 RSL Offline Finals Dates + Ticket Sales!10BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION3
StarCraft 2
General
RotterdaM "Serral is the GOAT, and it's not close" TL.net Map Contest #21: Voting RSL S3 Round of 16 [TLCH] Mission 7: Last Stand Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament Monday Nights Weeklies SC4ALL $6,000 Open LAN in Philadelphia $3,500 WardiTV Korean Royale S4 Crank Gathers Season 2: SC II Pro Teams
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ SnOw's ASL S20 Finals Review RSL S3 ro16 [ASL20] Ask the mapmakers — Drop your questions SnOw on 'Experimental' Nonstandard Maps in ASL
Tourneys
BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION [ASL20] Grand Finals Small VOD Thread 2.0 The Casual Games of the Week Thread
Strategy
Current Meta How to stay on top of macro? PvZ map balance Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Nintendo Switch Thread Dawn of War IV Stormgate/Frost Giant Megathread ZeroSpace Megathread General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Dating: How's your luck? Canadian Politics Mega-thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Movie Discussion! Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
AI is so fuckin funny
Peanutsc
Challenge: Maths isn't all…
Hildegard
Career Paths and Skills for …
TrAiDoS
Customize Sidebar...

Website Feedback

Closed Threads



Active: 816 users

Blizzcon qualification probabilities simulation - Page 4

Forum Index > SC2 General
1549 CommentsPost a Reply
Prev 1 2 3 4 5 6 76 77 78 Next
Gojii
Profile Joined April 2012
Belgium317 Posts
September 13 2013 19:12 GMT
#61
wow thanks, good job
AySz88
Profile Joined March 2011
United States83 Posts
September 13 2013 19:14 GMT
#62
On September 13 2013 21:12 Die4Ever wrote: I may switch to using relative %s, if you guys can think of a good way to word the text for the events that would be helpful


I would suggest "T-9th" or "T9-16th" instead of "16th place", because we don't know whether 16th means "made it to round of 16" (aka top 16) or "eliminated in round of 16" (aka T-9th). (Or maybe I'm confused and you did actually mean top 16?)
Die4Ever
Profile Joined August 2010
United States17684 Posts
September 13 2013 19:21 GMT
#63
On September 14 2013 04:14 AySz88 wrote:
Show nested quote +
On September 13 2013 21:12 Die4Ever wrote: I may switch to using relative %s, if you guys can think of a good way to word the text for the events that would be helpful


I would suggest "T-9th" or "T9-16th" instead of "16th place", because we don't know whether 16th means "made it to round of 16" (aka top 16) or "eliminated in round of 16" (aka T-9th). (Or maybe I'm confused and you did actually mean top 16?)

It means they were eliminated at that place. So if it says 16th place it means they lost in the round of 16 in that instance.
"Expert" mods4ever.com
SolidMoose
Profile Joined June 2011
United States1240 Posts
September 13 2013 19:22 GMT
#64
I'm pretty sure Stephano is 0%

But seriously, this is really cool. Nice to see the chances from the TL article have some numbers to them now
Steel
Profile Blog Joined April 2010
Japan2283 Posts
September 13 2013 19:26 GMT
#65
Really cool, and while monte carlo simulations are solid, I very much doubt the precision of Aligulac ratings.

Quick questions:
-Did you use ELO or winrates?
-Did you use matchup specific ELO (or winrates) or just general ELO (or winrates)?
-If you used ELO, did you use the uncertainties quoted by Aligulac?
-If so, what does the uncertainty look like for 300000 runs? I'm just curious, it should be really small.

Besides the Aligulac uncertainties are very fishy. Example: ELO 1871 ± 81 for Taeja at 1182 games vs 1833 ± 89 for sOs at 247 games. Low number of games + consistent results ~ High number of games + inconsistent results. I get it, but I don't like it.

Anyway, good work, really interesting stuff.
Try another route paperboy.
Boucot
Profile Blog Joined October 2011
France15997 Posts
September 13 2013 19:26 GMT
#66
I love stats, great job !
Former SC2 writer for Millenium - twitter.com/Boucot
Cracy
Profile Joined October 2011
Poland221 Posts
September 13 2013 19:27 GMT
#67
On September 14 2013 04:08 Anomi wrote:
Show nested quote +
On September 14 2013 02:22 Die4Ever wrote:
On September 14 2013 02:13 Anomi wrote:
On September 14 2013 01:41 Die4Ever wrote:
On September 14 2013 01:23 Anomi wrote:
My only problem with these kind of things is that even if you can simulate it your still using ordinal data when it comes to using Aligulac rankings (http://en.wikipedia.org/wiki/Ordinal_data).


I don’t think you’re doing the simulation wrong but you’re using data that to begin with that doesn’t actually calculate what player is better than who 100% correct. IT might be better then win ratio but it’s far from being 100% correct.


This is just my opinion but when it comes to calculating simulation based stuff that don’t come as numbers naturally:
The answer the simulation creates is the same thing of just creating a guess that might be better than if you wild guess randomly. IN your case the answer your model will simulate is a guess that might be better then random person guess but it’s still a guess.

Yes.
Well almost. It actually does a pretty damn good job of predicting who is locked in for Blizzcon, or who can't possibly qualify, which would be really hard to do as accurately with pen and paper. And it also calculates multiple matches, so if someone needs to win 1 more match against a same-skill opponent(according to aligulac of course) then they get a 50% chance, if they need to win 2 matches against same-skill opponents then it goes down to 25%. Amplify this to full brackets of multiple tournaments and it gets to be a lot of work. Also this tells you what events need to happen for them to qualify.
edit: tld;dr of course it's not perfect, but lots of people seem to like it anyways


What your missing is that your purely viewing this as mathematical problem. A good model is not based on how well it predicts but how well it predicts when its based on the right assumptions. Your only assumption seems to be that the skill factor (that in the first place is hard to measure) is the only thing that plays in on who qualifies to blizcon. You are discarding allot of stuff. For instance i would guess that according to aligulax invasion should not have lost his group in season 2 finals but he did. Was this because he was less skillful or that he doesn’t handle traveling well or something else.

Let me try to clarify: To be able to create a model that would simulate who would get in to blizzcon or not would almost be the same thing on who would end up being in the playoffs in a sport game. To create that kind of prediction model is allot more complex. for instance if you would do that for ice hockey you would need to create a indicator first for skills if that’s even possible. Then indicators on players physical and mental health . You might also need indicators on the effect on home turf advantage and maybe players.


Try running the simulation based on the wcs rankings instead of Aligulax rankings and see what you end up with and try once more with win ratios instead. If any if these ends up being abel to do better prediction would you say they are better?

Can you give me example source code for this improved model you're asking for? Make sure you factor in how good the air conditioners inside the booths are for each tournament, this will especially affect Huk.
If you're just telling me that my model is not perfect, I already know this. If it was perfect then it wouldn't say Naniwa has a ~20% chance, it would either say 100% or 0%, I would just tell you who qualifies, and then I would go win every bet in every sport ever. If you have constructive criticism then I'd like to hear it.
edit: I don't mean to sound rude, but I think everyone knows what you're saying when they read threads like this. I'm pretty sure they know I can't see the future.



It would actually take me allot of time or maybe impossible to figure out on how to create a model that would fill this roll. . Using tools as http://www.r-project.org/ that is free will give you to tools to maybe create a better simulation . Using a logistical model to work with this kind of data might work better but not sure about that (http://en.wikipedia.org/wiki/Logistic_regression).

For now you should just add a similar response from lolfail9001 and state what those cases are “Aligulac just provides CHANCES for player to advance from group that he uses in his simulation to calculate chances of player advancing or not in certain cases.”

It’s still not 100% correct way of saying it but people would probably just be confused if you tried to explain that the chance from Aligulac ranking is a estimation of what the chance can be and not the actual chance the player that is then used in a simulation to predict what the actual chance could be to qualify to Blizcon .

The bottom line is that there is no wrong or right as long as you state the assumption the model is based on and the reasoning behind the decision you made(for instance why using Aligulac ranking as factor and not win ratio ect ). This is the only thing I would actually tell you that needs to be done better.



PS:Sry if i sounded critical is still a nice contribution and well done work




Why would you even write all the posts? I do understand the constructive criticism but hey... You are now offending the intelligence of all the people who read it and ENJOY IT.

For one thing I work with stats and models for living and still it wouldn't come to my mind to criticize the work done.
Oderint dum probent
ogsgodlike
Profile Joined March 2013
Bulgaria31 Posts
September 13 2013 20:00 GMT
#68
IMMvp will win it all..!!!!!
There can be only one..IMMvp..!!!!
Die4Ever
Profile Joined August 2010
United States17684 Posts
September 13 2013 20:09 GMT
#69
On September 14 2013 04:26 Steel wrote:
Really cool, and while monte carlo simulations are solid, I very much doubt the precision of Aligulac ratings.

Quick questions:
-Did you use ELO or winrates?
-Did you use matchup specific ELO (or winrates) or just general ELO (or winrates)?
-If you used ELO, did you use the uncertainties quoted by Aligulac?
-If so, what does the uncertainty look like for 300000 runs? I'm just curious, it should be really small.

Besides the Aligulac uncertainties are very fishy. Example: ELO 1871 ± 81 for Taeja at 1182 games vs 1833 ± 89 for sOs at 247 games. Low number of games + consistent results ~ High number of games + inconsistent results. I get it, but I don't like it.

Anyway, good work, really interesting stuff.

I use the aligulac rating which is similar to Elo.
Currently I'm just using the general aligulac ratings and not doing it matchup specific, but I definitely plan to soon
I am not currently using the uncertainties

Thanks!
"Expert" mods4ever.com
Noonius
Profile Joined April 2012
Estonia17413 Posts
September 13 2013 20:13 GMT
#70
outstanding as someone who likes numbers and statistics, this is like heaven
Terran forever | Maru hater forever
KoRStarvid
Profile Joined October 2011
Sweden767 Posts
September 13 2013 20:18 GMT
#71
On September 14 2013 04:26 Steel wrote:
Really cool, and while monte carlo simulations are solid, I very much doubt the precision of Aligulac ratings.

Quick questions:
-Did you use ELO or winrates?
-Did you use matchup specific ELO (or winrates) or just general ELO (or winrates)?
-If you used ELO, did you use the uncertainties quoted by Aligulac?
-If so, what does the uncertainty look like for 300000 runs? I'm just curious, it should be really small.

Besides the Aligulac uncertainties are very fishy. Example: ELO 1871 ± 81 for Taeja at 1182 games vs 1833 ± 89 for sOs at 247 games. Low number of games + consistent results ~ High number of games + inconsistent results. I get it, but I don't like it.

Anyway, good work, really interesting stuff.

I don't understand how ELO is related to this at all. Is Glicko based on ELO, or am I missing something else here? Aligulac rankings seem pretty good imo. Are there any better alternatives?

I really enjoyed scrolling through the results of this simulation! And unlike some of the other posters, I think the model is appropriately complex! :-)
Mezox
Profile Joined May 2013
Sweden6 Posts
September 13 2013 20:19 GMT
#72
Awesome!

I am a math/statistics student myself and I'm a big fan of stuff like this!
TaishiCi
Profile Joined September 2013
Korea (South)211 Posts
September 13 2013 20:21 GMT
#73
Would love to have it be all Korean Finals for the Annual Finals.
Only Scarlett and Naniwa have actual chance to spoil the perfect goodbye to primetime sc2.
Dae Han Min Gook Man Sae!!!
lolfail9001
Profile Joined August 2013
Russian Federation40190 Posts
September 13 2013 20:22 GMT
#74
On September 14 2013 05:21 TaishiCi wrote:
Would love to have it be all Korean Finals for the Annual Finals.
Only Scarlett and Naniwa have actual chance to spoil the perfect goodbye to primetime sc2.

Hm. Nice bait. Either way, nice work OP, i wonder how many time it took to simulate it all.
DeMoN pulls off a Miracle and Flies to the Moon
Anomi
Profile Joined October 2011
Sweden149 Posts
Last Edited: 2013-09-13 20:27:34
September 13 2013 20:23 GMT
#75
On September 14 2013 04:27 Cracy wrote:
Show nested quote +
On September 14 2013 04:08 Anomi wrote:
On September 14 2013 02:22 Die4Ever wrote:
On September 14 2013 02:13 Anomi wrote:
On September 14 2013 01:41 Die4Ever wrote:
On September 14 2013 01:23 Anomi wrote:
My only problem with these kind of things is that even if you can simulate it your still using ordinal data when it comes to using Aligulac rankings (http://en.wikipedia.org/wiki/Ordinal_data).


I don’t think you’re doing the simulation wrong but you’re using data that to begin with that doesn’t actually calculate what player is better than who 100% correct. IT might be better then win ratio but it’s far from being 100% correct.


This is just my opinion but when it comes to calculating simulation based stuff that don’t come as numbers naturally:
The answer the simulation creates is the same thing of just creating a guess that might be better than if you wild guess randomly. IN your case the answer your model will simulate is a guess that might be better then random person guess but it’s still a guess.

Yes.
Well almost. It actually does a pretty damn good job of predicting who is locked in for Blizzcon, or who can't possibly qualify, which would be really hard to do as accurately with pen and paper. And it also calculates multiple matches, so if someone needs to win 1 more match against a same-skill opponent(according to aligulac of course) then they get a 50% chance, if they need to win 2 matches against same-skill opponents then it goes down to 25%. Amplify this to full brackets of multiple tournaments and it gets to be a lot of work. Also this tells you what events need to happen for them to qualify.
edit: tld;dr of course it's not perfect, but lots of people seem to like it anyways


What your missing is that your purely viewing this as mathematical problem. A good model is not based on how well it predicts but how well it predicts when its based on the right assumptions. Your only assumption seems to be that the skill factor (that in the first place is hard to measure) is the only thing that plays in on who qualifies to blizcon. You are discarding allot of stuff. For instance i would guess that according to aligulax invasion should not have lost his group in season 2 finals but he did. Was this because he was less skillful or that he doesn’t handle traveling well or something else.

Let me try to clarify: To be able to create a model that would simulate who would get in to blizzcon or not would almost be the same thing on who would end up being in the playoffs in a sport game. To create that kind of prediction model is allot more complex. for instance if you would do that for ice hockey you would need to create a indicator first for skills if that’s even possible. Then indicators on players physical and mental health . You might also need indicators on the effect on home turf advantage and maybe players.


Try running the simulation based on the wcs rankings instead of Aligulax rankings and see what you end up with and try once more with win ratios instead. If any if these ends up being abel to do better prediction would you say they are better?

Can you give me example source code for this improved model you're asking for? Make sure you factor in how good the air conditioners inside the booths are for each tournament, this will especially affect Huk.
If you're just telling me that my model is not perfect, I already know this. If it was perfect then it wouldn't say Naniwa has a ~20% chance, it would either say 100% or 0%, I would just tell you who qualifies, and then I would go win every bet in every sport ever. If you have constructive criticism then I'd like to hear it.
edit: I don't mean to sound rude, but I think everyone knows what you're saying when they read threads like this. I'm pretty sure they know I can't see the future.



It would actually take me allot of time or maybe impossible to figure out on how to create a model that would fill this roll. . Using tools as http://www.r-project.org/ that is free will give you to tools to maybe create a better simulation . Using a logistical model to work with this kind of data might work better but not sure about that (http://en.wikipedia.org/wiki/Logistic_regression).

For now you should just add a similar response from lolfail9001 and state what those cases are “Aligulac just provides CHANCES for player to advance from group that he uses in his simulation to calculate chances of player advancing or not in certain cases.”

It’s still not 100% correct way of saying it but people would probably just be confused if you tried to explain that the chance from Aligulac ranking is a estimation of what the chance can be and not the actual chance the player that is then used in a simulation to predict what the actual chance could be to qualify to Blizcon .

The bottom line is that there is no wrong or right as long as you state the assumption the model is based on and the reasoning behind the decision you made(for instance why using Aligulac ranking as factor and not win ratio ect ). This is the only thing I would actually tell you that needs to be done better.



PS:Sry if i sounded critical is still a nice contribution and well done work




Why would you even write all the posts? I do understand the constructive criticism but hey... You are now offending the intelligence of all the people who read it and ENJOY IT.

For one thing I work with stats and models for living and still it wouldn't come to my mind to criticize the work done.



I did say sry realising the posts i wrote was a bit to critical and to some extent unnecessary. As for why?
the same reason you posting a critic on someone opinion .

Just to clarify the work is good and I am just over critical.
BaneRiders
Profile Joined August 2013
Sweden3630 Posts
September 13 2013 20:29 GMT
#76
This is very cool! I would like to see the most probable top 16 though, the players that will participate in the end. This list could be updated (as you like) and have the, uh, I don't know, the 4 closest to take a spot as well or something. Would be cool to see how this top 20 will develop.
Earth, Water, Air and Protoss!
xN.07)MaK
Profile Joined January 2006
Spain1159 Posts
September 13 2013 20:30 GMT
#77
P( all Korean @ Blizzcon ) = ??

Great work!
El micro es el último recurso que les queda a los que no producen lo suficiente
ffadicted
Profile Joined January 2011
United States3545 Posts
September 13 2013 20:31 GMT
#78
I don't think Anomi understands statistics lol Die4Ever is right, if it was a perfect model like you're trying to describe, it wouldn't have %s, it would just give you the final list of 16 players who will qualify hah

This post is absolutely awesome, thanks for the work tbh, I was actually trying to figure out myself if my boy Rain could make it haha
SooYoung-Noona!
Die4Ever
Profile Joined August 2010
United States17684 Posts
September 13 2013 20:34 GMT
#79
On September 14 2013 05:22 lolfail9001 wrote:
Show nested quote +
On September 14 2013 05:21 TaishiCi wrote:
Would love to have it be all Korean Finals for the Annual Finals.
Only Scarlett and Naniwa have actual chance to spoil the perfect goodbye to primetime sc2.

Hm. Nice bait. Either way, nice work OP, i wonder how many time it took to simulate it all.

Thanks. It takes about 40 minutes to run it with 300,000 samples like in the OP. I could optimize it to make it faster, but I haven't spent the time to do it and don't really need it to be faster anyways.
"Expert" mods4ever.com
Die4Ever
Profile Joined August 2010
United States17684 Posts
September 13 2013 20:36 GMT
#80
On September 14 2013 05:29 BaneRiders wrote:
This is very cool! I would like to see the most probable top 16 though, the players that will participate in the end. This list could be updated (as you like) and have the, uh, I don't know, the 4 closest to take a spot as well or something. Would be cool to see how this top 20 will develop.

Thanks. I'm not sure I understand what your suggestion is though. Could you maybe elaborate? Also Blizzcon is 16 players not 20.
"Expert" mods4ever.com
Prev 1 2 3 4 5 6 76 77 78 Next
Please log in or register to reply.
Live Events Refresh
PiGosaur Monday
01:00
#56
CranKy Ducklings9
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SpeCial 154
CosmosSc2 61
Nathanias 43
StarCraft: Brood War
Rain 5412
Artosis 709
Shuttle 650
NaDa 30
Dota 2
monkeys_forever140
Counter-Strike
fl0m836
Super Smash Bros
hungrybox364
Other Games
summit1g11050
Grubby2041
Day[9].tv385
FrodaN308
C9.Mang0197
Maynarde102
ViBE60
Organizations
Other Games
gamesdonequick857
Counter-Strike
PGL212
Other Games
BasetradeTV106
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 18 non-featured ]
StarCraft 2
• Hupsaiya 129
• RyuSc2 67
• davetesta12
• LaughNgamezSOOP
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• Migwel
• IndyKCrew
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota21410
• Noizen24
League of Legends
• Doublelift3536
Other Games
• Scarra614
• Day9tv385
Upcoming Events
Replay Cast
7h 59m
WardiTV Korean Royale
10h 59m
LAN Event
13h 59m
OSC
21h 59m
The PondCast
1d 8h
LAN Event
1d 13h
Replay Cast
1d 21h
LAN Event
2 days
Korean StarCraft League
3 days
CranKy Ducklings
3 days
[ Show More ]
WardiTV Korean Royale
3 days
LAN Event
3 days
IPSL
3 days
dxtr13 vs OldBoy
Napoleon vs Doodle
Replay Cast
3 days
Sparkling Tuna Cup
4 days
WardiTV Korean Royale
4 days
LAN Event
4 days
IPSL
4 days
JDConan vs WIZARD
WolFix vs Cross
Replay Cast
5 days
Wardi Open
5 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

BSL 21 Points
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025

Upcoming

BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
META Madness #9
LHT Stage 1
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.