• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:38
CEST 15:38
KST 22:38
  • 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
Code S RO8 Preview: ByuN, Rogue, herO, Cure3[ASL19] Ro4 Preview: Storied Rivals7Code S RO12 Preview: Maru, Trigger, Rogue, NightMare12Code S RO12 Preview: Cure, sOs, Reynor, Solar15[ASL19] Ro8 Preview: Unyielding3
Community News
Dark to begin military service on May 13th (2025)18Weekly Cups (May 5-11): New 2v2 Champs1Maru & Rogue GSL RO12 interviews: "I think the pressure really got to [trigger]"5Code S Season 1 - Maru & Rogue advance to RO80Code S Season 1 - Cure & Reynor advance to RO84
StarCraft 2
General
2024/25 Off-Season Roster Moves Code S RO8 Preview: ByuN, Rogue, herO, Cure I hope balance council is prepping final balance Is there a place to provide feedback for maps? Dark to begin military service on May 13th (2025)
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament SOOPer7s Showmatches 2025 [GSL 2025] Code S:Season 1 - RO12 - Group B Monday Nights Weeklies [GSL 2025] Code S:Season 1 - RO12 - Group A
Strategy
Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 473 Cold is the Void Mutation # 472 Dead Heat Mutation # 471 Delivery Guaranteed Mutation # 470 Certain Demise
Brood War
General
BW General Discussion ASL 19 Tickets for foreigners BGH auto balance -> http://bghmmr.eu/ RepMastered™: replay sharing and analyzer site [ASL19] Ro4 Preview: Storied Rivals
Tourneys
[ASL19] Semifinal B [Megathread] Daily Proleagues [ASL19] Semifinal A BSL Nation Wars 2 - Grand Finals - Saturday 21:00
Strategy
[G] How to get started on ladder as a new Z player Creating a full chart of Zerg builds [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread Grand Theft Auto VI Nintendo Switch Thread What do you want from future RTS games? Battle Aces/David Kim RTS Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread TL Mafia Plays: Diplomacy TL Mafia: Generative Agents Showdown Survivor II: The Amazon
Community
General
Russo-Ukrainian War Thread Ask and answer stupid questions here! US Politics Mega-thread Iraq & Syrian Civil Wars UK Politics Mega-thread
Fan Clubs
Serral Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread [Books] Wool by Hugh Howey
Sports
2024 - 2025 Football Thread NHL Playoffs 2024 NBA General Discussion Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard How to clean a TTe Thermaltake keyboard?
TL Community
The Automated Ban List TL.net Ten Commandments
Blogs
Why 5v5 Games Keep Us Hooked…
TrAiDoS
Info SLEgma_12
SLEgma_12
SECOND COMMING
XenOsky
WombaT’s Old BW Terran Theme …
WombaT
Heero Yuy & the Tax…
KrillinFromwales
BW PvZ Balance hypothetic…
Vasoline73
Racial Distribution over MMR …
Navane
Customize Sidebar...

Website Feedback

Closed Threads



Active: 24804 users

Intro to SC:BW AI development - Page 3

Blogs > mooose
Post a Reply
Prev 1 2 3 4 Next All
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
May 27 2015 12:43 GMT
#41
I'm not really interested in hard-coding behavior though. Right now this seems to be a bit of a rock-paper-scissors type of deal.

Have there been any attempts (even badly performing ones) that used some sort of ALife or emerging behavior technique? I'd rather just do some experiments in that and see what happens. I'm not interested in winning the ai tourney or anything like that :p (for the time being at least)
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
May 27 2015 17:28 GMT
#42
On May 27 2015 21:43 Xeofreestyler wrote:
I'm not really interested in hard-coding behavior though. Right now this seems to be a bit of a rock-paper-scissors type of deal.

Have there been any attempts (even badly performing ones) that used some sort of ALife or emerging behavior technique? I'd rather just do some experiments in that and see what happens. I'm not interested in winning the ai tourney or anything like that :p (for the time being at least)


You'll need a lot of processing to run it and *2 (to write and to test). I dont think the broodwar community is enough^^. I share processing power (BOINC) and we barely reach 10 petaFLOPS.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
May 28 2015 01:55 GMT
#43
Damnit... ahead of my time again I see. My plans foiled by our primitive hardware! ... uh yeah ... that's the only reason why my plan wouldn't work.

And whoa, I've heard about BOINC before! That's some great work you're doing dude. I had an idea once a long time ago about how it would be interesting to create some sort of worm/virus that silently uses processing cycles for problems like protein folding and stuff. This is of course a better and on top of that legal way of doing that :D

Honestly I don't even know how to visualize what 10 petaFLOPS can do, any analogy you can use to explain?
Graphics
mooose
Profile Blog Joined April 2010
Japan200 Posts
Last Edited: 2015-05-28 12:31:58
May 28 2015 08:31 GMT
#44
You don't necessarily need to use hard coded behaviour in all areas of the bot though. The great thing about scbw is that it's such a complicated game with loads of areas you can develop. You might not be able to come up with a learning algorithm for playing the whole game, but you can break the problem into areas and develop one of them. For example build order planning or micro or scouting.

So for example you can't really use a search algorithm to determine all the moves in a StarCraft game because it's too complicated, but you can take one area of the game and apply one there. For example SparCraft. My bot lost to UAlbertaBot last year most of the time even though they were usually executing the same build order at each other. This was probably mostly due to UAlbertaBot using SparCraft and therefore having superior micro. So it's not really just about coming up with some stupid rock paper scissors build order and hoping it works. There's lots of different areas you can develop.

Also I updated the OP to include a reference to UAlbertaBot's github page since I've referred to it a bunch of times in this thread. It was also very useful for building my own system (I copied/stole a bunch of stuff).
www.teamyao.com @TeamYAO
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
May 28 2015 12:42 GMT
#45
Good point. SparCraft looks really interesting! So if I understand correctly, a bot can use this in realtime to see whether it would win a fight or not?
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
Last Edited: 2015-05-28 17:53:41
May 28 2015 17:47 GMT
#46
On May 28 2015 10:55 Xeofreestyler wrote:
Damnit... ahead of my time again I see. My plans foiled by our primitive hardware! ... uh yeah ... that's the only reason why my plan wouldn't work.

And whoa, I've heard about BOINC before! That's some great work you're doing dude. I had an idea once a long time ago about how it would be interesting to create some sort of worm/virus that silently uses processing cycles for problems like protein folding and stuff. This is of course a better and on top of that legal way of doing that :D

Honestly I don't even know how to visualize what 10 petaFLOPS can do, any analogy you can use to explain?



To understand what kind of hardware you need :
"Intel Celeron G1830 and AMD Radeon R9 295x2 tops out at over 11.5 TFLOPS at a grand total of US$902.57"
http://www.tomshardware.com/reviews/radeon-r9-295x2-review-benchmark-performance,3799.html
http://www.freezepage.com/1420850340WGSMHXRBLE
So if you had 1k of this pc lineup and they're all running for 1 second u have 11.5 PFLOPS^^
But it's actually even more harder to generate computing power. To compare, we have approximatly 500k pc link to boinc. ^^

It's really hard to explain how much is 10 PFLOPS
I tried to find a small project run by WCG (^^ World community Grid) to give a example.
"Computing for Sustainable Water study the effects of human activity on a large watershed, Chesapeake Bay, and gain deeper insights into what actions can support the restoration, health and sustainability of this important water resource
Stats: http://www.worldcommunitygrid.org/stat/viewProject.do?projectShortName=cfsw
It required 4 PFLOPS in order to finished the job.
At the opposite, the folding@home(the big one^^BOINC/google/sonic) project "Its current performance of 40.2 x86 petaFLOPS and 14.4 native petaFLOPS"
And if you want to be amaze i suggest checking the total flops generated by boinc projects it's insane^^

I think BOINC is a good way to keep my pc usefull when he's idle because i am still paying the bill. Even when it does nothing^^. After 15 minutes of inactivity, and if there is no software running , my sceensaver switchs between SETI/Milkyway/Einstein/rosetta. I think it should be install BY LAW on all pc :p
It's impossible to hack this kind of grid. The segmentation of the data is really impressive. Every 30m/1hour, you switch from a task to another. Also the distribution method prevent to build an emerging pattern. It's safer than bitcoin. The real security issue come from the details of your hardware and also personnal data you share.

Please, mooose, more stories. I am unable to grasp how many variables you need in order to have a AI that could play vs parting :p
IskatuMesk
Profile Blog Joined October 2008
Canada969 Posts
Last Edited: 2015-05-31 11:51:42
May 31 2015 11:51 GMT
#47
I remember when putting actual code into Starcraft's AI was a pipedream. I remember all 10 of the years I spent mastering the ins and outs of how the hardcoded crap behaved and how to try to work around its innumerable quirks and annoyances, often fruitlessly, trying to get AI to work for my total conversions and pet projects. When I set down ZONS and thought I had created what would be the best Zerg AI for the game (later ZAPOC, but by then BWAPI had been in development for a short time and I knew the era of scaiedit was at an end). Still, the 8 hour duel between Mike's protoss and ZAPOC has a special place in my heart.

That was the time for me to finally step out of modding for good, because I'm no programmer despite my experience in modding. I wish I had taken a hint back then instead of wasting my time with other games for so long.
nepeta
Profile Blog Joined May 2008
1872 Posts
June 01 2015 10:34 GMT
#48
On May 28 2015 17:31 mooose wrote:
You don't necessarily need to use hard coded behaviour in all areas of the bot though. The great thing about scbw is that it's such a complicated game with loads of areas you can develop. You might not be able to come up with a learning algorithm for playing the whole game, but you can break the problem into areas and develop one of them. For example build order planning or micro or scouting.

So for example you can't really use a search algorithm to determine all the moves in a StarCraft game because it's too complicated, but you can take one area of the game and apply one there. For example SparCraft. My bot lost to UAlbertaBot last year most of the time even though they were usually executing the same build order at each other. This was probably mostly due to UAlbertaBot using SparCraft and therefore having superior micro. So it's not really just about coming up with some stupid rock paper scissors build order and hoping it works. There's lots of different areas you can develop.

Also I updated the OP to include a reference to UAlbertaBot's github page since I've referred to it a bunch of times in this thread. It was also very useful for building my own system (I copied/stole a bunch of stuff).


BWAI should really be made modular, because of this. There are so many fields in which improvements can and have been made, but often new coders are reinventing the wheel. There are some open bots, but ideally there should be a modular structure which can absorb different versions of different fields like scouting, mining, attack-micro, but also more complex code for balancing eco vs army. Then if a module gets written, or improved, it can be incorporated in existing AIs.
Broodwar AI :) http://sscaitournament.com http://www.starcraftai.com/wiki/Main_Page
mooose
Profile Blog Joined April 2010
Japan200 Posts
June 01 2015 10:54 GMT
#49
I think a lot of the AI systems are modular actually. Mine is, although the architecture is a bit of a mess at this point. I should really go through and refactor before I develop it any further. Using UAlbertaBot as an example once again; it has a quite nice modular design that would allow you to replace specific parts with your own system if you wanted to only develop a specific module rather than an entire AI. For example, the bot treats the build order generator like a black box so if you came up with a better one you could probably replace the existing one without too much work.
www.teamyao.com @TeamYAO
DinosaurPoop
Profile Blog Joined April 2013
687 Posts
June 01 2015 14:26 GMT
#50
Note: just observing, not really a programmer/ai genius

How do you fix the problem of AI's being eternally horrible at judgement? A lot of the time they have horrible misjudgement problems and often don't know when to stop or to continue committing to something, an AI protoss can fight into tanks and then retreat 2 seconds later, when continuing attacking would have been the less worse option.. A common form of this is having a protoss AI eternally chase 1 zergling with all zealots the protoss has. It could also completely go for the wrong amount of unit, let's say too many dragoons or too many carriers, because the AI often can't weigh the information it gets.
When cats speak, mice listen.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
Last Edited: 2015-06-02 09:11:34
June 02 2015 09:10 GMT
#51
Good question. I'm just gonna think out loud about it here, like an exercise, feel free to correct me.

Say you're using SparCraft. If I understand correctly, it uses a simplified model of how fights happen in bw so that an AI can 'predict' what the outcome of a battle will be. Since it ignores pathfinding and stuff (splash?), it's gonna be wrong a certain percent of the time (especially towards bigger and complex battles). Say your prediction gives a win, but suddenly the AI re-evaluates the situation as it is and it turns out you're losing the battle. SparCraft calculates how your squad is weaker than the other's, so the 'squad-manager' module orders your units to retreat (but they die to tank fire).

Now, retreating isn't necessarily always bad. Sometimes you can save a few units if the opposing squad doesn't have long range, meaning they can't kill you while you're running away. In your example, this is almost never going to happen since tanks have an enormous range and will still get a lot of kills while units run away. But in the case of zealots or something it wouldn't be bad to run away with your leftover lings if they have no way of winning.

So this leads me to think that the decision to either 'retreat' or 'suicide but do max damage' has to be a function of the opponent's range. I wouldn't know how to do the math for this though.

Perhaps a solution could be to assign aggressiveness levels to squads. 0 being retreat to safety immediately and n (max) being fight until the death. Somewhere in between there could be varying levels of harassment & retreating (positioning). Dunno if this actually makes it easier though, since you still have to figure out how to assign these levels to squads/units
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
June 02 2015 16:02 GMT
#52
On June 02 2015 18:10 Xeofreestyler wrote:
Good question. I'm just gonna think out loud about it here, like an exercise, feel free to correct me.

Say you're using SparCraft. If I understand correctly, it uses a simplified model of how fights happen in bw so that an AI can 'predict' what the outcome of a battle will be. Since it ignores pathfinding and stuff (splash?), it's gonna be wrong a certain percent of the time (especially towards bigger and complex battles). Say your prediction gives a win, but suddenly the AI re-evaluates the situation as it is and it turns out you're losing the battle. SparCraft calculates how your squad is weaker than the other's, so the 'squad-manager' module orders your units to retreat (but they die to tank fire).

Now, retreating isn't necessarily always bad. Sometimes you can save a few units if the opposing squad doesn't have long range, meaning they can't kill you while you're running away. In your example, this is almost never going to happen since tanks have an enormous range and will still get a lot of kills while units run away. But in the case of zealots or something it wouldn't be bad to run away with your leftover lings if they have no way of winning.

So this leads me to think that the decision to either 'retreat' or 'suicide but do max damage' has to be a function of the opponent's range. I wouldn't know how to do the math for this though.

Perhaps a solution could be to assign aggressiveness levels to squads. 0 being retreat to safety immediately and n (max) being fight until the death. Somewhere in between there could be varying levels of harassment & retreating (positioning). Dunno if this actually makes it easier though, since you still have to figure out how to assign these levels to squads/units


Basicly, you're right. If your IA is stuck you need to add more datas, functions to your script. Like DinosaurPoop said, "AI often can't weigh the information it gets." So you pump more usefull intel in order to conteract the loop.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
June 03 2015 11:44 GMT
#53
Ah it seems like I misunderstood SparCraft. It doesn't calculate the battles real-time, it does it in advance and then looks the results up in a database, correct? Sort of like endgame tables for chess?

So the problem is rather that either the database can be incomplete, or incorrect. On the one hand there's stuff like collision detection and splash which is probably not accounted for. But on the other hand there are unknown variables such as the opponent's micro skill. This isn't easy to solve indeed.

Hmm ... wouldn't a neural net be good at this type of statistical calculations?
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
Last Edited: 2015-06-03 18:10:14
June 03 2015 17:08 GMT
#54
On June 03 2015 20:44 Xeofreestyler wrote:
Ah it seems like I misunderstood SparCraft. It doesn't calculate the battles real-time, it does it in advance and then looks the results up in a database, correct? Sort of like endgame tables for chess?

So the problem is rather that either the database can be incomplete, or incorrect. On the one hand there's stuff like collision detection and splash which is probably not accounted for. But on the other hand there are unknown variables such as the opponent's micro skill. This isn't easy to solve indeed.

Hmm ... wouldn't a neural net be good at this type of statistical calculations?


I have no idea about sparcraft but standalone and implemented into a BWAPIbased seems to be able to do both. We need our expert^^
ANN can help only when the unknown variables are known and coded^^ You have to consider it like the last level for bots. For this step, it required first to have the basics covered ( no army running after 1gling, no weird retreat, etc). ANN is required when you want to determine what's are the "hidden" reasons of a choice. It's like building a labyrinth and explore it after to draw the map in order to know where are the dead ends. :p
ANN will allow you do input "simple" stuffs for very good results but the data will you have to feed and the nonnegative matrix you must compile in order to prevent crazy things is more than hardcore.
I think, (where's our expert^^), at the moment, we're at the first step. We're gathering basics data. Next one will be to run simulations on a large scale (boinc) to have the data required for last step, ANN. At this point, it'll be not game per game but for Bo(x). It'll be very interesting to see what hint could/should be noticed during a previous game to select A or B build after a win or a lose.


edit : sc2replaystats is working on tools in order to help player but they're making good steps to gather data.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
June 04 2015 01:01 GMT
#55
Actually now that I think about it, quantifying an opponent's micro skill shouldn't be too difficult. Some sort of efficiency calculation by measuring total damage output per unit should give adequate results, no? Maybe measure how long it takes on average to kill an enemy's units, could be a good indicator too?

By measuring this during the game you could let the ai adapt and be less aggressive etc.
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
June 04 2015 15:48 GMT
#56
It'll be easy to calculate for an AI but for a human it's "impossible" too many variables (micro vs macro, epm vs apm, key units). However with an harass script designed to test apm, the AI could narrow the skill of a player and adapt his strategy according to the results. But it'll not be accurate because you'll just have to play bad during the harassscript to fool the AI.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
June 05 2015 12:43 GMT
#57
Hmm ... this sounds like a statistics problem though, I mean, isn't there a way to constantly update this calculation and leave out the worst performance out of the averaged equation? (in case of the harass script being 'fooled')

Cuz they can't micro badly all game right? I mean, then they'd just lose hahah
Graphics
Cazimirbzh
Profile Joined February 2014
334 Posts
June 06 2015 09:34 GMT
#58
On June 05 2015 21:43 Xeofreestyler wrote:
Hmm ... this sounds like a statistics problem though, I mean, isn't there a way to constantly update this calculation and leave out the worst performance out of the averaged equation? (in case of the harass script being 'fooled')

Cuz they can't micro badly all game right? I mean, then they'd just lose hahah

Yes but we're reaching our current limit This apm calculation issue is a good example of what kind of systematic errors by lack of data a statistical approch will lead to. Because even with a harass script, a lot of scouting, the constant nature of apm data makes it impossible to predict. So, for a next engagement, in terms of effectiveness, unless it's vs AI with an "absolute effectiveness" script, i dont see how you can predict accurately an apm variable as a rule of engagement.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6767 Posts
June 07 2015 14:38 GMT
#59
Ok ok new idea!!

float p = random
if < .5
retreat
else
attack

There, problem solved.

No but really, I read that one bot has like a random 'mood' right? agressive/campy/cheesy/... I think this is a nice idea, keeps your bot from being too predictable.
Graphics
turtles
Profile Blog Joined August 2011
Australia360 Posts
June 08 2015 04:40 GMT
#60
Hi Mooose, that's a great write up. I had no idea that Broodwar AI competitions were still such a healthy scene. I'm writting my own AI for SC2 currently. Here is the last video of my progress I made.

Unfortunately no such API exists (or will likely ever exist) for SC2 so having a competitive scene would be near impossible. But looking at what is going on in the broodwar world makes me wish I had started there instead. Fighting other AIs would make for a great way to benchmark and rate your progress.

GL, I hope your AI does well
Prev 1 2 3 4 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 10h 23m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Harstem 367
EnDerr 24
StarCraft: Brood War
Calm 11146
Jaedong 2818
Horang2 1993
BeSt 664
Stork 645
ZerO 549
firebathero 514
Light 507
Mini 476
Last 439
[ Show more ]
Snow 413
Pusan 384
Zeus 354
NaDa 293
PianO 173
hero 168
Nal_rA 158
Dewaltoss 150
JulyZerg 92
Rush 91
sSak 81
GoRush 61
Hyun 51
Sharp 48
ToSsGirL 40
Mong 37
Aegong 21
Shinee 20
HiyA 18
IntoTheRainbow 16
Terrorterran 14
scan(afreeca) 14
zelot 12
Noble 9
Bale 5
ajuk12(nOOB) 5
Movie 4
ivOry 3
Hm[arnc] 1
Britney 1
Dota 2
Gorgc4369
qojqva1719
420jenkins663
XcaliburYe407
syndereN203
Counter-Strike
olofmeister2595
edward93
Super Smash Bros
amsayoshi33
Heroes of the Storm
Khaldor182
Other Games
singsing2121
B2W.Neo1518
DeMusliM794
hiko363
crisheroes231
Liquid`VortiX79
QueenE28
ZerO(Twitch)13
Organizations
StarCraft 2
ESL.tv143
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV386
League of Legends
• Nemesis7288
• Jankos1446
Upcoming Events
Replay Cast
10h 23m
GSL Code S
19h 53m
Classic vs Reynor
GuMiho vs Maru
The PondCast
20h 23m
RSL Revival
1d 9h
GSL Code S
1d 19h
herO vs TBD
TBD vs Cure
OSC
2 days
Korean StarCraft League
2 days
RSL Revival
2 days
SOOP
3 days
HeRoMaRinE vs Astrea
Online Event
3 days
Clem vs ShoWTimE
herO vs MaxPax
[ Show More ]
Sparkling Tuna Cup
3 days
WardiTV Invitational
3 days
RSL Revival
4 days
Wardi Open
4 days
Monday Night Weeklies
5 days
Replay Cast
6 days
The PondCast
6 days
Liquipedia Results

Completed

BSL Nation Wars Season 2
PiG Sty Festival 6.0
Calamity Stars S2

Ongoing

JPL Season 2
ASL Season 19
YSL S1
BSL 2v2 Season 3
BSL Season 20
China & Korea Top Challenge
KCM Race Survival 2025 Season 2
2025 GSL S1
Heroes 10 EU
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025
ESL Pro League S21

Upcoming

NPSL S3
CSLPRO Last Chance 2025
CSLAN 2025
K-Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Bellum Gens Elite Stara Zagora 2025
2025 GSL S2
DreamHack Dallas 2025
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 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.