• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:39
CEST 18:39
KST 01:39
  • 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: Rogue, GuMiho, Solar, Maru0BGE Stara Zagora 2025: Info & Preview27Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL47Code S RO12 Preview: Cure, Zoun, Solar, Creator4
Community News
Weekly Cups (June 2-8): herO doubles down1[BSL20] ProLeague: Bracket Stage & Dates9GSL Ro4 and Finals moved to Sunday June 15th13Weekly Cups (May 27-June 1): ByuN goes back-to-back0EWC 2025 Regional Qualifier Results26
StarCraft 2
General
Code S RO8 Preview: Rogue, GuMiho, Solar, Maru Jim claims he and Firefly were involved in match-fixing The SCII GOAT: A statistical Evaluation StarCraft 1 & 2 Added to Xbox Game Pass CN community: Firefly accused of suspicious activities
Tourneys
Sea Duckling Open (Global, Bronze-Diamond) Bellum Gens Elite: Stara Zagora 2025 $3,500 WardiTV European League 2025 Sparkling Tuna Cup - Weekly Open Tournament SOOPer7s Showmatches 2025
Strategy
[G] Darkgrid Layout Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target Mutation # 474 Futile Resistance
Brood War
General
BGH auto balance -> http://bghmmr.eu/ FlaSh Witnesses SCV Pull Off the Impossible vs Shu BW General Discussion StarCraft & BroodWar Campaign Speedrun Quest Will foreigners ever be able to challenge Koreans?
Tourneys
[ASL19] Grand Finals NA Team League 6/8/2025 [Megathread] Daily Proleagues [BSL20] ProLeague Bracket Stage - Day 2
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Stormgate/Frost Giant Megathread What do you want from future RTS games? Armies of Exigo - YesYes? Nintendo Switch Thread Path of Exile
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 Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Vape Nation Thread European Politico-economics QA Mega-thread
Fan Clubs
Maru Fan Club Serral Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
A Better Routine For Progame…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 38928 users

John Carmack Programming Haskell

Blogs > CardinalAllin
Post a Reply
1 2 Next All
Jukado
Profile Blog Joined May 2011
805 Posts
August 27 2013 15:32 GMT
#1
In this section of Carmacks 2013 quakecon speech, he talks about a programming language called Haskell, and remaking wolfenstein with it.
He mentions how this language leads to robust code that will be solid, even years down the road. He went so far to say that people who get into it now will be kicking everyone’s ass in 5 years.

He is VERY long winded, so Ive highlighted some of the important points below the youtube video.



Some of the most important points he makes:
Haskell uses Strong + Static typing (as opposed to weak and dynamic). Carmack supports this.

He supports objects being able to look at others but not affect them. (You might be wondering how can a game work like this, well I transcribed his explanation but its a bit chaotic. The basic idea is you create an ‘event’ and this gets passed to the objects that need to know. Quite simple really.

His words not mine (warning: geek speech chaos)
+ Show Spoiler +

The objects are passed in a reference to a static copy of the world, and themselves
And they return their new version at the end.
They cant break anybody else, cus they cant touch anything else. Its not allowed by the compiler.

The obvious question is how do you shoot somebody if you cant affect them. What you do is you say, well, im firing my gun, I hit him, the world says I do, I wanna make him die. So you have to make an event of some kind, that gets communicated to the other entity.

In Haskell, its just a partially evaluated function that takes an entity as a parameter and returns another entity.
Eg, you can have a ‘Do Damage’ function, you partially evaluate it with your 5 points of damage that is going to be dealt, and then you pass it (parse?) and its just going to take the last function parameter as the entity and you set that up on its own personal list.
So every entity sets up a list of all the things they are going to do to anybody, and then at the beginning of the next frame you gather everything together, distribute it all to the entities, and then;
The first thing they do, you’ve got the world, you’ve got the list of events that affect them, apply them all, one after another, generating a new copy of themselves, and then
They do their thinking and processing, creating the final version that goes back into the world.



He supports code that runs from top to bottom, easy to step through.

He says learn Haskell by doing several small projects first before starting a big one.
And he says in 5 years time you will be kicking everyones ass because you will have such a solid core code base.
Carmack says he recently spent 6 months fixing problems in his idtech 4 or 5 that would have never surfaced if he had written them in Haskell in the first place. And this is not an isolated case, he has been dealing with many problems like this over the years.

Strong typing
The more type restrictions that are imposed by the compiler, the more strongly typed a programming language is. These arent bad restrictions though, they help you not make mistakes. Haskell is very strongly typed. This leads to creating code that is doing what you expect it to do.

Static type checking
Static type-checking means that code is checked for type errors very very early, right down at the source code level at compile time. Because static type-checking operates on a program's source code, it allows many bugs to be caught early in the development cycle.
Dynamic type checking (the bad way of doing things) happens at runtime, not compile time. This means things can slip through the net that don’t cause any immediate problems, but can come back to bite you a long time later.


I have been studying Haskell since hearing this speech and its interesting so far.
I would love to hear from CecilSunkure and all you other programmers, you know who are.

Is Haskell the way forward?
http://tryhaskell.org/


****
Star Tale Public Domain project. Maps: (2)Gates Of Memphis, (2)Marshmallow Toast, (4)Bubbles, (4)Clay Fields, (6)Numbskull Desert. Also the Vaylu Public Domain Tileset. Also Ramp Palettes, Brood War guides and some fun stuff. Links in my profile
adwodon
Profile Blog Joined September 2010
United Kingdom592 Posts
Last Edited: 2013-08-27 16:18:46
August 27 2013 16:16 GMT
#2
I don't see it happening tbh.

Firstly it would require total rewrites, older programmers are stuck in their ways and finally Haskall is really hard. No problem for Carmack but considering good programmers are hard enough to come by you're just limiting the pool even further.

Its tempting to do something in Haskall and I could see talented Indies doing so but I doubt AAA will go near it.

Apologies for being brief but I'm ducking inside on my tablet to avoid some rain on holiday and typing with my normal verbosity on this thing is tough
nath
Profile Blog Joined May 2010
United States1788 Posts
August 27 2013 17:33 GMT
#3
i agree with the above in terms of what will actually happen.

personally i do like the concept of a strong/statically typed language that uses some sort of 'messaging'/event system to communicate between objects. regardless of how most app bros write objective-c i'd say thats a decent example but im not referring to any one language.

what you say can be accomplished with other things as well, and people use what they want. most people are not good enough or motivated enough to learn Haskall. I would if my workload goes under 80 hours and i have time.
Founder of Flow Enterprises, LLC http://flow-enterprises.com/
Roe
Profile Blog Joined June 2010
Canada6002 Posts
August 27 2013 18:09 GMT
#4
the issue of objects interacting with each other in programming reminds me of Berkeley's idealism vs Locke's realism
rexxO
Profile Joined June 2010
Canada44 Posts
Last Edited: 2013-08-27 18:17:35
August 27 2013 18:11 GMT
#5
Haskell is awesome. I took a functional programming course last year and have been obsessed with it since. I didn't realize Carmac was working with it. My understanding (however limited) is that things like game states are difficult to represent functionally. It seems like he's got an interesting approach.

I always like to give big ups to "Learn you a Haskell for Great Good." Great book that's really sort of silly and witty but also super helpful for starting out. I met the author Miran last year when he came to Vancouver to do a talk about Snap (a Django like web framework for Haskell). Super charismatic and unique guy. He ended up doing a demo on a starcraft match database website. :D

http://learnyouahaskell.com/

http://www.haskell.org/hoogle/ is also super useful. It's a search engine for the language. Can be helpful considering the GHC can often throw error statements at you that are barely understandable.

However cool it all is I think it will take a long time to make an impact. The biggest struggle I've had is finding bigger problems or projects to do functionally or in Haskell. Translating it to real world problems and solutions can be confusing and often no where near as good as just knocking it out in C. I think there is a lot of value in people looking for new problems that are conducive the being solved functionally.
artynko
Profile Joined November 2010
Slovakia86 Posts
August 27 2013 18:16 GMT
#6
It is always funny to me when you see people that work in "fringe" parts of IT how they can say this will be the next thing in 5 years. It may work nice for writing a game (I checked that they have a library that provides openGL bindings) but if you try to write any type of enterprise applications that the rest of us makes at work. Then it is not about having a nice language but having a nice language that has a gigantic pool of developers worldwide and environment already in place, testing, monitoring, deployment, having a hw that can actually run it are all a huge factor in what you pick - hence why 20% of the stuff in the world runs on Java even when the language is shit compared to anything else that is on JVM (scala)

I aslo wonder how Haskell compares to Erlang where you have OTR and the awesome virtual machine, while this seems like just regular pretty functional language. Could be interesting to play with it, but I think if you want to create some distributed madness go Erlang, if you want enterprise bs you have to do java / c, and if you are the lucky 1% that can do something cool you can play with Haskell but no one will ever convince me, it will land me my next job in 5 years.
3FFA
Profile Blog Joined February 2010
United States3931 Posts
Last Edited: 2013-08-27 19:03:00
August 27 2013 19:02 GMT
#7
I'll stick with C, Obj-C, Java, Python, and Ruby (languages I plan to learn/am learning) for now thank you very much.

Just seems like a fluke overall.
"As long as it comes from a pure place and from a honest place, you know, you can write whatever you want."
CNSnow
Profile Blog Joined March 2011
Greece67 Posts
August 27 2013 19:50 GMT
#8
Haskell is a different language that the common Object Oriented languages, and that's because it is a Functional programming language and this type of languages are starting to have some usefullness. Surely, legacy systems won't be re-programmed to a new functional language but new programs may be written in those languages.

In addition, if you want to learn something new other than the common Object Oriented languages you could try out Scala. As Haskell, it is a functional programming language, that has many applications and it is easy to program complex systems.

Disclaimer: I haven't used Haskell or search for applications in Haskell, so maybe there are plenty of them too. I am only aware of Scala applications.
Random()
Profile Blog Joined August 2004
Kyrgyz Republic1462 Posts
August 27 2013 22:15 GMT
#9
Strong / static typing is not the most important part about Haskell or functional programming in general. The most important concept is functional purity, that is lack of side effects and hidden state. The result of pure functions must depend only on their arguments, and cannot depend on or change any implicit external or internal state. For example, in C terms, you cannot have a function int random() that will give you a new number every time you call it. You have to pass it the current state of the RNG, and it will give you the number and the new state that you give it next time. This may seem cumbersome, but there are constructs that allow you to neatly abstract away this state-passing while still maintaining purity (monads, data structures that are everywhere in Haskell).

Another concept is mutability, or rather lack thereof. There is no notion of a "variable" in a (pure) functional language, there are only values. If you write x = 5, this means that x is 5 and nothing else. Writing x = x + 1 is nonsense.

As a consequence, there can be no mutable data structures. You cannot just "add" something to a list. You can only produce a new list, which will have all elements that the old one had and with new one added. If you extrapolate this to more interesting objects, you cannot e.g. set a title of a window. You have to create a new window with the new title, and replace the old one.

This doesn't seem very efficient or even practical at first, but when you program in this style for a while you realise the one most important benefit: your programs fucking work. Those limitations result in removing whole classes of very common mistakes simply because the language does not allow you to make them. Null pointer exceptions, uninitialized variables, index counters missing the array size by +1 or -1, ambiguous function interfaces that allow you to modify arguments, ambiguous object ownership, all that crap that you spend days trying to debug is magically gone.

But you have to pay for this of course. The cost is mostly performance, and (in Haskell specifically) difficulty in assessing how the program will actually be executed and how much memory it is going to take. In functional programming you do not give the complier a sequence of steps to follow. You sort of explain what things are using equations, and then the compiler figures out how best to run those computations. It can do it in parallel, or in any order, you are not supposed to know or assume anything.

One more thing is that most of the popular languages are sort of converging to the same idea of functional purity and immutable data structures (mostly because this *really* helps when programming highly concurrent applications), only from different starting points. Like in C# you have those very functional-like collection methods - Select, Aggregate etc. - added on top of a traditional imperative language where you can otherwise do a lot of "bad things", and Haskell starts from another extreme where everything is pure, and you have to find ways to represent state or mutable data.
Random()
Profile Blog Joined August 2004
Kyrgyz Republic1462 Posts
Last Edited: 2013-08-27 22:25:34
August 27 2013 22:23 GMT
#10
On August 28 2013 03:16 artynko wrote:
It is always funny to me when you see people that work in "fringe" parts of IT how they can say this will be the next thing in 5 years. It may work nice for writing a game (I checked that they have a library that provides openGL bindings) but if you try to write any type of enterprise applications that the rest of us makes at work. Then it is not about having a nice language but having a nice language that has a gigantic pool of developers worldwide and environment already in place, testing, monitoring, deployment, having a hw that can actually run it are all a huge factor in what you pick - hence why 20% of the stuff in the world runs on Java even when the language is shit compared to anything else that is on JVM (scala)

I aslo wonder how Haskell compares to Erlang where you have OTR and the awesome virtual machine, while this seems like just regular pretty functional language. Could be interesting to play with it, but I think if you want to create some distributed madness go Erlang, if you want enterprise bs you have to do java / c, and if you are the lucky 1% that can do something cool you can play with Haskell but no one will ever convince me, it will land me my next job in 5 years.


Learning a functional language is extremely helpful even if your plan is to stick with Java, C# or whatever. Just wrapping your head around those concepts creates such a breakthrough in your understanding of how to structure programs that you start feeling like Neo when he had suddenly started seeing the Matrix code - you start to see so many things that you had previously just taken for granted, so many potential errors and dangerous code parts that you never realised could be avoided simply because you were stuck in the "imperative" way of thinking. It really takes you to another level as a software developer.
iref
Profile Blog Joined September 2010
Slovakia70 Posts
August 27 2013 23:41 GMT
#11
I think he has some valid points. Functional languages are, in my opinion, gonna be used more and more. Especially because of immutability, purity and better concurrency than languages that use shared memory model like java or C.

Of course, you cant program without defining state, but i watched some talks about functional programming and my understanding is that it allows you to define state and its changes more clearly and restrictively.

About Haskell.. we used it at our undergraduate course on functional programming and its good language. You can even program web apps in it. Check Snapp framework for details. Problems is, it is not widely used in companies. On the other hand, I think functional languages on JVM (Scala, Clojure) are being adopted and are gonna be adopted widely in future. Because they provide benefits of immutability and other functional features into java ecosystem and companies with huge code bases can slowly integrate their old java code into code written in scala or clojure.

Also if you want to learn more about functional programming I recommend http://learnyouahaskell.com/ (as other guys mentioned) and Coursera online courses Functional Programming Principles in Scala. The course is taught by Martin Odersky, who invented Scala and helped to introduced generics into Java.
rabidch
Profile Joined January 2010
United States20289 Posts
August 27 2013 23:47 GMT
#12
i agree functional languages/constructs will become more mainstream (just look at scala) but haskell isnt at all easy to learn (coming from somebody who knows the usual java/C languages), i had so much problems figuring out haskells type system compared to other functional languages. agree with the posts that conceptually at an abstract level things make a lot more sense but of course we sometimes dont know how the computer actually handles it performance wise, which is absolutely a legit criticism. i think carmack is also safely assuming computers and these languages will just get plain faster with time. when java first came out, it was obscenely slow but now they've patched up the language to be quite fast
LiquidDota StaffOnly a true king can play the King.
CptCutter
Profile Joined September 2010
United Kingdom370 Posts
August 28 2013 02:46 GMT
#13
@OP: hes actually talking about haskell forces concepts that will kick everyones ass years down the road, not haskell itself. Hes talking about pure functions and the like. Its also a problem with current languages, that functional languages tend to fix.
3FFA
Profile Blog Joined February 2010
United States3931 Posts
August 28 2013 03:59 GMT
#14
On August 28 2013 11:46 CptCutter wrote:
@OP: hes actually talking about haskell forces concepts that will kick everyones ass years down the road, not haskell itself. Hes talking about pure functions and the like. Its also a problem with current languages, that functional languages tend to fix.

Wait so what's the problem exactly?
"As long as it comes from a pure place and from a honest place, you know, you can write whatever you want."
artynko
Profile Joined November 2010
Slovakia86 Posts
August 28 2013 07:34 GMT
#15
For me the problem with functional languages is that you can't do "proper" architecture using it (or we don't know how to do it yet)
For example I did a fairly decent sized production software that was written in Erlang (another functional language) it was awesome for what it did, it had probably 10 times less lines of code that if I have written it in anything conventional, but at the end when I was trying to juggle 30 different actors I was starting to feel that a miss the nice architecture I would had had in OO language.
I still love the concepts that a functional language brings mainly immutability and the way concurrency is handled there. When Java 8 comes I will jam that one down my teams throats faster then light (oh closures & functional collection manipulation) but still if anyone asked me if they should learn something like Haskell I would say hell no, learn Scala

Tobberoth
Profile Joined August 2010
Sweden6375 Posts
August 28 2013 08:11 GMT
#16
Functional languages are very interesting to work with, and the code usually becomes very pure which is nice, especially from an academic standpoint. However, it's just not comfortable and productive to work with professionally for many reasons. Among them: When you're used to more "standard" programing, you need quite a lot of effort to produce the same functional code. Another issue is the lack of experience. If you're a haskell guru, that's really cool, but chances are you will not be the only programmer working on a project and finding people who are interested in using haskell for the project will be hard.
rabidch
Profile Joined January 2010
United States20289 Posts
Last Edited: 2013-08-28 08:35:39
August 28 2013 08:32 GMT
#17
On August 28 2013 16:34 artynko wrote:
For me the problem with functional languages is that you can't do "proper" architecture using it (or we don't know how to do it yet)
For example I did a fairly decent sized production software that was written in Erlang (another functional language) it was awesome for what it did, it had probably 10 times less lines of code that if I have written it in anything conventional, but at the end when I was trying to juggle 30 different actors I was starting to feel that a miss the nice architecture I would had had in OO language.
I still love the concepts that a functional language brings mainly immutability and the way concurrency is handled there. When Java 8 comes I will jam that one down my teams throats faster then light (oh closures & functional collection manipulation) but still if anyone asked me if they should learn something like Haskell I would say hell no, learn Scala


what do you mean by architecture?

On August 28 2013 17:11 Tobberoth wrote:
Functional languages are very interesting to work with, and the code usually becomes very pure which is nice, especially from an academic standpoint. However, it's just not comfortable and productive to work with professionally for many reasons. Among them: When you're used to more "standard" programing, you need quite a lot of effort to produce the same functional code. Another issue is the lack of experience. If you're a haskell guru, that's really cool, but chances are you will not be the only programmer working on a project and finding people who are interested in using haskell for the project will be hard.

it is a pain in the ass. but it sure is nice looking at that nice elegant code you just written even if its just 3 lines. haskell is the most anal of any functional language i've used though
LiquidDota StaffOnly a true king can play the King.
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
August 28 2013 08:41 GMT
#18
On August 28 2013 12:59 3FFA wrote:
Show nested quote +
On August 28 2013 11:46 CptCutter wrote:
@OP: hes actually talking about haskell forces concepts that will kick everyones ass years down the road, not haskell itself. Hes talking about pure functions and the like. Its also a problem with current languages, that functional languages tend to fix.

Wait so what's the problem exactly?

Pretty much, in a functional language, using a function will always give you the same output, no matter what context you run it. The function only depends on input variables and gives back output data, no side-effects. You can take a program, insert a function somewhere in the middle, and the program won't change since again, no side-effects. In more standard languages like C, Java etc, you're perfectly free to implement side-effects in your functions, such as editing variables in a higher scope, changing global objects, editing the input parameters... basically, you can easily make a function which changes output depending on context, maybe even giving you a different output if you use it immediately after you've used it.

Higher risk of bugs, harder to read and maintain.
artynko
Profile Joined November 2010
Slovakia86 Posts
August 28 2013 09:19 GMT
#19
On August 28 2013 17:32 rabidch wrote:
Show nested quote +
On August 28 2013 16:34 artynko wrote:
For me the problem with functional languages is that you can't do "proper" architecture using it (or we don't know how to do it yet)
For example I did a fairly decent sized production software that was written in Erlang (another functional language) it was awesome for what it did, it had probably 10 times less lines of code that if I have written it in anything conventional, but at the end when I was trying to juggle 30 different actors I was starting to feel that a miss the nice architecture I would had had in OO language.
I still love the concepts that a functional language brings mainly immutability and the way concurrency is handled there. When Java 8 comes I will jam that one down my teams throats faster then light (oh closures & functional collection manipulation) but still if anyone asked me if they should learn something like Haskell I would say hell no, learn Scala


what do you mean by architecture?


The standard approach that everyone uses to separate stuff in oo, services, daos, domain object, facades having all the oo patters at yours disposal, when I was doing Erlang I had problems with how do I want to connect all the different parts of the application together, when I coded it in similar fashion as I was used from OO it usually did create either circular references or some horrible unclear dependencies. In the end I ended up with a tree like structure that resembled something you would create using OO and the standard tiered architecture but the "levels" of the tree didn't always contain processes that belonged together and the tree had way more levels .
Then when I returned back to this code after couple of months I was completely lost and had no idea where the different processes belong and how deep in the tree they are. If you compare this to OO even when I look at my old code and want to add new stuff there I know where to start, you just look for the service in question and go on from there.
It just feels like there is no knowledge how to do stuff in functional languages the "right" way compared to OO where we already know how to create something that is manageable and every developer will understand it when he sees it for the first time
3FFA
Profile Blog Joined February 2010
United States3931 Posts
August 28 2013 10:39 GMT
#20
I'm wondering if anyone could provide a brief comparison of something done in Haskel vs another language like C or Java so I could actually see the difference?
"As long as it comes from a pure place and from a honest place, you know, you can write whatever you want."
1 2 Next All
Please log in or register to reply.
Live Events Refresh
WardiTV Invitational
11:00
WardiTV June Groups A & 1/2C
Krystianer vs YoungYakovLIVE!
WardiTV1034
IndyStarCraft 266
TKL 117
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 349
IndyStarCraft 266
TKL 117
ProTech92
BRAT_OK 53
StarCraft: Brood War
Britney 7944
Sea 3204
EffOrt 1112
Stork 714
Mini 555
Snow 444
ggaemo 442
Light 355
ZerO 224
Nal_rA 162
[ Show more ]
Mong 116
actioN 109
Sea.KH 65
Trikslyr61
Sharp 59
sSak 54
Movie 50
Hyun 48
Dewaltoss 48
Sacsri 41
Aegong 28
GoRush 27
Terrorterran 18
Backho 17
Shine 12
yabsab 6
Dota 2
Gorgc11533
syndereN576
Counter-Strike
fl0m5610
olofmeister2980
Stewie2K784
Foxcn327
byalli279
rGuardiaN104
Heroes of the Storm
Khaldor136
Other Games
tarik_tv33270
gofns11567
B2W.Neo1882
singsing1615
Beastyqt612
FrodaN496
Lowko236
crisheroes207
XaKoH 187
Mew2King97
KnowMe80
QueenE56
ZerO(Twitch)20
Organizations
Other Games
BasetradeTV30
StarCraft 2
angryscii 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 18 non-featured ]
StarCraft 2
• poizon28 51
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• HerbMon 13
• Azhi_Dahaki1
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 3868
League of Legends
• Nemesis7424
• Jankos2045
• TFBlade1416
Other Games
• Shiphtur232
Upcoming Events
PiGosaur Monday
7h 21m
GSL Code S
16h 51m
Rogue vs GuMiho
Maru vs Solar
Online Event
1d 7h
Replay Cast
1d 9h
GSL Code S
1d 16h
herO vs Zoun
Classic vs Bunny
The PondCast
1d 17h
Replay Cast
2 days
WardiTV Invitational
2 days
OSC
2 days
Korean StarCraft League
3 days
[ Show More ]
CranKy Ducklings
3 days
WardiTV Invitational
3 days
Cheesadelphia
3 days
CSO Cup
4 days
GSL Code S
4 days
Sparkling Tuna Cup
4 days
Replay Cast
5 days
Wardi Open
5 days
Replay Cast
6 days
Replay Cast
6 days
RSL Revival
6 days
Cure vs Percival
ByuN vs Spirit
Liquipedia Results

Completed

CSL Season 17: Qualifier 2
BGE Stara Zagora 2025
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
2025 GSL S2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
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

Upcoming

Copa Latinoamericana 4
CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Murky Cup #2
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
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.