End of days
Dec 01, 2012 - by Strom
Indeed, all good things must come to an end. The time has come to close down DotA-GC, permanently.
As I explained in January, keeping the lights on isn't free. The advertisement & name change revenue doesn't even come close to covering the server fees. So after 2028 days (5.5 years) of working on DotA-GC, it's time for me to move on. It has been an incredible journey and I do not regret taking it, even if ultimately DotA-GC was only a glimpse of what I had dreamed of. I would like to thank each and every one of you for being part of the community, it wouldn't have been the same without you.
What follows is a short story of my memories with DotA-GC. If you are not interested in reading that, you can skip to near the end to read about my upcoming Dota 2 adventures. Are you passionate about not letting DotA-GC die just quite yet? Then you can skip to the end to read about how GC could continue to run through December. Thank you.
Once upon a time ...
In January of 2006, a friend of mine, rd, showed me a custom WarCraft III map that he had been playing. My first game was with Razor, and I thought I was going to be a real owner in that game because I quickly googled for a guide for this hero and found myself on a dota-allstars.com thread. I ended up buying a Maelstrom recipe and not understanding why it wasn't working properly. Oh yes, those were the days. The first games I played were with local friends through a VPN program called Hamachi. Within days I was practicing in battle.net public games, playing Clinkz, and getting lost on the map. Just think about that for a moment, I got lost in the river and didn't understand where I was.
On February 5, 2006 I peeked into a QuakeNet IRC channel called #dota.ee to see what was going on there. It didn't seem too interesting so I promptly left. Little did I know, that it would soon be my gateway to the world of DotA communities and that DotA would consume most of my free time. Indeed, I came back to scout several times and finally decided to sign up for a game in #dota.ee on April 3, 2006. What continued was a race to get to the top #1 position on the most games played this week ladder, because that was the only statistic the system kept - the number of games played this week. My best result was around 70 games per week, and you have to keep in mind, this was in 2006, when the average DotA game easily lasted 90 minutes and games over two hours weren't uncommon. Clearly I was hooked.
In the start of 2007 I heard about this alternative DotA gather channel on QuakeNet, called #dota.gc, which was being run by a guy named Cyrus. It was commonly known among #dota.ee players that #dota.gc was the place people go to when they get banned from #dota.ee, i.e. GC was the ghetto of local DotA gatherings. Thus, when I first peeked into #dota.gc on January 27, 2007, I didn't have the faintest idea that I would be owning & running it a year from then. Continuing with my prejudice against it I joined #dota.gc again on February 11, 2007 - and signed up for an actual game. I don't quite remember what I did in that game, but it couldn't have been too good, because I quickly got banned for 2 days by Mehikee with the reason "breaking the rules".
I continued playing in #dota.ee but on April 8, 2007 I got access to the brand new invite-only higher skilled ladder of #dota.ee, called #dota.ee.invite. Shout-out to Innu, for making the first points based IRC DotA bot that I saw - Doombringer. Before Doombringer, all the gathers I had seen used the in-game -sp mode that randomly shuffles the players. Although Doombringer was ultimately quite basic and had an extremely flawed ELO based points system, it was a critical inspiration for some of my future work.
On April 16, 2007, #dota.gc was shut down by Cyrus, because there weren't any games being played there at all anymore and he didn't see a need for it with the introduction of Doombringer in #dota.ee.invite. However dhgf convinced Cyrus to let him try to revive #dota.gc and create an active community. So on May 14, 2007 #dota.gc was back in business with dhgf being the de facto manager, while Cyrus still holding ownership rights. It just so happens that I'm good friends with dhgf and we play DotA together, so I ended up joining him and unexpectedly became a #dota.gc administrator. After a few days of #dota.gc being back in business with a simple gather bot that only records the game count per week, Dzinnu proposed that GC should have a ranking system similar to Doombringer. Within a few hours it was decided that it was to be me, Strom, who would be in charge of building such a ranking system.
Of course I couldn't just make a clone of Doombringer, I had to make a superior bot in every way. My main weapon of choice was to use the most high tech rating system available in the world, which I found to be TrueSkill, developed by Microsoft Research for XBox Live. I spent a good amount of time studying the white paper and on May 26, 2007 - Loom entered #dota.gc and would mark a huge milestone in DotA-GC history. In addition to TrueSkill, Loom provided automatically generated balanced teams and administration commands that could be used to deal with the rule breakers.
After building the most advanced IRC DotA gather system, I didn't start resting on my laurels. Quite the opposite, I started a gigantic project, a project so huge that at the time I only started work on it because I was blind to the complexity increase that would follow in the months and years to come. After months and months of work, on September 18, 2007 for the 1596th game being organized by Loom, Formula X was ready. It was a novel system, no other DotA gather had anything like it. A rating system for DotA players, based heavily on actual events that take place inside the game, not just on simple information like who won. Shout-out to esby for helping me build the replay parser. After another month or so I released Formula X 2.0, a greatly improved version of the same basic idea - and X 2.0 is the same formula that is used in DotA-GC to this day. It is incredibly complex. To give you some insight into just how complex it truly is, lets consider items. The items you buy in a game make up for about 25% of the score that is given to you by X. So how are the points for items determined? Well, there is a huge look-up table, that I (try to) maintain in Excel. There are currently 134 items and 110 heroes in DotA. For every hero, there is a multiplier score for every item. This is already 134 * 110 = 14 740 different scores I have to maintain, but this is just for 6.76. Formula X 2.0 supports every DotA version all the way back to 6.48, for a total of 29 different versions. Each DotA version has different balance requirements, and thus different scores. On top of this, every hero has a farm factor multiplier, which determines how easy it is to get items with that specific hero. Then, for every minute of the game, the items of every player in the game are inspected and loot scores are calculated. Next, every player's score is compared to every other player's scores to see the difference. Then this difference is compared to the difference of the starting X points for players, to see if the points need to be adjusted. Say if a 1500 X player has only 1.4x better items than a 1000 X player, then the 1000 X player will actually get plus points and the 1500 X player will lose points. And remember, this is just a fraction of the work that Formula X does to calculate the points for every player. It is complex, too complex really for one person to maintain.
The oldest ladder snapshot in the web archive is from October 16, 2007. Pretty interesting to see where some people were ranked, especially the 16+ people from that list who still actively play in DotA-GC today.
By December of 2007 I had become the de facto leader of #dota.gc. I was building the technical systems, I was writing the rules, I was dealing with the rule breakers. Overall I probably spent more time working on making #dota.gc better than all the other admins combined. I had no plans of slowing down, but I wanted assurance if I was to continue investing so much time into #dota.gc. So on December 18, 2007 I came to an agreement with Cyrus that he would transfer the ownership rights to me. This was the beginning of The Great Age in DotA-GC history.
Life was good, everything was going so well. #dota.gc was growing at an incredible pace and we swallowed competition left and right, e.g. both #dota.ee and #dota.eu completely died and all the players migrated to #dota.gc. We were the most technologically advanced DotA gather that I knew of, with strict rules and admins that must follow the general principles of DotA-GC. The culmination came on April 30, 2008 when a quite large competitor, #dota.fi, agreed to merge with #dota.gc in such a way that all the tech would be that of #dota.gc's and that I would keep supreme control. It was awesome, there were 8 games going on at once and games were happening 24/7, no stopping. Also, shout-out to Dzarg, the guy who built the #dota.fi tech.
This is where I got lazy. At the time I was still working as a full time developer during the day, so all the #dota.gc stuff had to be done after work - and summer was starting. Basically I just stopped working on improving #dota.gc and instead spent my free time on other things, including enjoying DotA games in this wonderful & highly active community that I had built. Although not doing any work on #dota.gc was a huge issue, the even bigger issue was that I didn't really communicate this to everyone else. I didn't even ask for a vacation for the summer, I just took it and didn't explain anything. There were also quite heated arguments between the #dota.gc admins and #dota.fi admins, they didn't just magically start working nicely together. I failed to realize that making all the admins friendly with each other was a critical task that needed to be done immediately. As a result of all of this, on July 7, 2008, #dota.fi split from #dota.gc, because they were dissatisfied with what they were getting out of the merger - lots of drama and stagnation with no explanation. This breakup hit me pretty hard.
I refocused on #dota.gc quite quickly, as I wanted to get all the Finnish players back who had left with the split. About a month after the split, on August 15, 2008 to be exact - I started the biggest project of #dota.gc history. Even bigger than Formula X. With the new project being so big, it also makes perfect sense that I didn't go at it alone. It was a co-operation between aRkker and myself. The project? Repel. The main idea behind Repel was anti-cheating technology. We wanted to make the best DotA anti-cheat in the world, and more specifically, we wanted to make a DotA anti-cheat system that actually worked. The Repel idea grew fast, it was easy to see how a custom piece of software installed by players would allow us to provide features that no other DotA gather had even dreamed of. The first feature that we went for was WarCraft III LAN emulation. At the time #dota.gc was still on IP-based hosting, where a player would say an IP in IRC, and others would copy-paste that IP into their LAN emulation programs like battle.lan, LanCraft, YAWLE etc. The idea was that Repel would replace all that, but at the same time we knew it wouldn't be easy to get everyone to install a new program, so Repel had to be backwards compatible with all those other programs. On March 3, 2010 - 1.5 years after development on Repel had started, we were ready to release Repel 1.0. Sure enough it had huge bugs in the beginning, but this was expected and Repel was designed to be compatible with all the other programs being used. Only those who wanted to be on the bleeding edge used Repel. Over time we increased the quality, added features like reconnection, and Repel became more stable and a lot more convenient than other programs, so more and more people wanted to use it themselves. It didn't take long for most people to be using Repel and that's when we made it mandatory and forced even the few remaining protesters to use it. After getting everyone on board, we activated the anti-cheating engine and just like that with one big swoop, we cleaned up #dota.gc, and we've been cheater-free ever since.
During these years that we developed Repel, we actually also managed to assimilate #dota.fi - this time by just being so much better that the players came themselves without the need for a management level merger. However reality was getting frighteningly obvious. You have to realize that when I originally started dealing with these IRC based DotA communities, it was the beginning of 2006. YouTube had launched just two months ago and I didn't even know it existed yet. Now it's the top #3 website in the world. Back then, it wasn't possible to just register a facebook account, you had to have a specific school e-mail to get an account. Now it's the top #2 website in the world. What I'm saying is that by the summer of 2010, I knew beyond any doubt that DotA-GC needed to be a website instead, because everything was moving to the web. This was a real bummer. Loom, the almighty DotA gather system I had built for IRC, 37 000 lines of C# code, was pretty much worthless. I had to start from scratch to build a web version of everything.
I also decided that this would be a good time to write a dedicated DotA game server. To this point all #dota.gc games were hosted by a volunteering player. However this had several problems, e.g. if the host decided to quit the game, it was usually game over for everyone. Also the host connection might not be very stable or fast. This second point would become an even larger issue with a web based system where it's more likely that we would get players from regions with weak Internet, like Belarus. I started in the summer of 2010 and after over 4 months of intense work, I had completed good enough first versions of the DotA game server and the web system.
The new web based system was launched on November 25, 2010. It was a great day, filled with hope & joy. DotA-GC may not be too late for the DotA community web train after all, although DotAlicious-Gaming had over a 5 month head start, as they launched with their web in April - when I was still stabilizing Repel and hadn't started on all the work needed to migrate to the web. Still, I knew that if I really focused on DotA-GC, I could easily catch up and then surpass them. That was a big if indeed. I continuously failed to put in the work needed to market DotA-GC. Instead I kept tinkering with technical stuff. For example I spent a good amount of time making the automatic surrender system, so that if enough people want to ff, the throne gets automatically destroyed and the game ends instantly. Then I spent an absolutely huge chunk of time making the most perfect hotkey system I could dream up and integrate it into Repel. While the system works as intended and I'm very pleased with it technically, I have failed to explain how it works to most people. It's not uncommon that people are just too used to classic custom DotA hotkey systems, so they don't immediately understand the beauty behind the repel hotkey system. Some other big Repel features that are in various stages in the lab include a proper -xd mode implementation, where the banned heroes get removed from the pool completely, so you can't random or pick them. I got it working as far as you can't manually pick a banned hero and you can't see it in the pool, but you could still random it. Another huge feature that was in the design stage was complete crash recovery. That is, even if your computer restarts, you can still come back and join the game from which you dropped out from.
On September 12, 2011, after 1570 days (4.5 years) of service, having organized 40 046 games, the historic #dota.gc IRC bot Loom was permanently shut down. This was a sad move for me, because I had obviously spent so many years making it as awesome as possible. On the other hand, this was a move that was absolutely needed, because I had to focus all my energy on the web system and more specifically on marketing the web system.
November 11, 2011 was a big day. Dota-League, a major German DotA community, was shut down. This event provided DotA-GC with a flood of new people. I rushed to build tutorials to help people learn the DotA-GC system and spent as much time as possible talking to these new players. There was an interesting, tragic and funny scenario happening over and over again with these new people. There were so many of them coming at once, that the games that went full consisted mostly of new players with zero or just a handful of games. Then these players proceeded to bash each other and explain how this DotA-GC is full of unskilled, unmannered players and how Dota-League was the best thing since sliced bread - without realizing that they are all from Dota-League. In addition to this, because the games were full of new people, the team balance was nonexistent, which made our "supposed to be best in the business" ranking systems look bad. If there is anyone to blame for this mess, it is only myself, for having failed to anticipate this clusterfuck. This was definitely a huge lesson for me, and now for future projects I can be much better prepared for a flood of new people unfamiliar with the local culture. So while DotA-GC managed to capture only some of the Dota-League refugees, bigger places like DotAlicious-Gaming had an easier time, because thanks to the bigger community, the new people were spread out more evenly and saw the actual DLG culture, not the culture of 10 new people having no idea what's going on.
As of today, December 1, 2012, the web service has been running for 737 days (2 years), has organized 22 200 games and consists of many major components:
* The web backend is 16 588 lines of Java
* The web frontend is 1145 lines of JavaScript, 1540 lines of HTML, and 1271 lines of CSS
* Formula X is 23 497 lines of C#
* The game server is 8331 lines of C++
* Repel is 13 045 lines of C++
The whole DotA-GC system has been the biggest, most advanced system that I have designed & constructed. At about 12 000 verified users with 62 246 games, DotA-GC is also the biggest community, that I have had the pleasure & pain of managing. I have heard pretty much every possible excuse there is for quiting from a game. People have died, people have gotten sick, people have fallen through floors, houses have been set on fire, pets have eaten through cables etc. I have witnessed the unbelievable lengths that people will go to to lie to your face, just to get another account to play DotA. Not only lies either, people have actually traveled into different countries to set up extra accounts, not to mention everyday stuff like running to the library to use public computers. I have seen people spend hours every day begging for unban, I have seen people show up every day to make convoluted cases on why their punishment is unjust, I have seen people accuse DotA-GC admins of every possible discrimination possible, I have received countless threats and even several death threats. This hasn't been easy, no matter how just or objective I am, there are always people who find a way to be negative. It has taken a lot of hard work, sleepless nights, blood, sweat & tears. That is not to say that it has all been bad, definitely not. Every once in a while someone will share a story of how my work is making them happy. How the tools we've built are making their lives easier. It has been the positive feedback, albeit barely visible within all the negativity and indifference, that has fueled me to continue working on DotA-GC. I am happy that I have chosen this path in my life. However I also realize, that I haven't done enough and that the future chances of DotA-GC aren't too spectacular. It is time to cut our losses and move on, difficult as it may be.
I would like to give an extra big thank you to all the administrators of DotA-GC that I have had the pleasure of working with, in alphabetical order:
So where am I moving on to? As it turns out, for the time being, not too far from the DotA world. I am attempting something a bit different with Lopya for Dota 2. I have written about some of the reasoning and goals before. Basically I am building a community from the ground up, while using all the lessons I've learned in the 7 years of my DotA career. To put it as simply as possible, while with DotA-GC I was mainly focused on the technology, with Lopya I will direct my focus to the people. Instead of worrying if we have the best statistics, or if we have the fastest latency, or if the whole game organization is as automated as possible - I will make sure that the people are the friendliest they can possibly be. The idea is to make a community, where you want to play not so much because of the game, but because of the awesome people you play with.
Now, you may be thinking: This whole DotA-GC shut down business came as such a surprise. I want to play a bunch of games here for old time's sake, but now there isn't any time! Well, if you truly are passionate about keeping DotA-GC going a bit more, you have that chance. If you, the community, can collectively pay at least €50 for the server costs, then I will personally pay the rest and keep this train moving for another month, straight through the holidays and into the new year! Also, don't worry, if we do not reach the goal by Monday, then I will refund everyone who tried to support. So go ahead, give yourself a holiday present and help pay for the December server costs of DotA-GC.
Update: We did it! DotA-GC will remain functional for December.
Indeed, all good things must come to an end. The time has come to close down DotA-GC, permanently.
As I explained in January, keeping the lights on isn't free. The advertisement & name change revenue doesn't even come close to covering the server fees. So after 2028 days (5.5 years) of working on DotA-GC, it's time for me to move on. It has been an incredible journey and I do not regret taking it, even if ultimately DotA-GC was only a glimpse of what I had dreamed of. I would like to thank each and every one of you for being part of the community, it wouldn't have been the same without you.
What follows is a short story of my memories with DotA-GC. If you are not interested in reading that, you can skip to near the end to read about my upcoming Dota 2 adventures. Are you passionate about not letting DotA-GC die just quite yet? Then you can skip to the end to read about how GC could continue to run through December. Thank you.
Once upon a time ...
In January of 2006, a friend of mine, rd, showed me a custom WarCraft III map that he had been playing. My first game was with Razor, and I thought I was going to be a real owner in that game because I quickly googled for a guide for this hero and found myself on a dota-allstars.com thread. I ended up buying a Maelstrom recipe and not understanding why it wasn't working properly. Oh yes, those were the days. The first games I played were with local friends through a VPN program called Hamachi. Within days I was practicing in battle.net public games, playing Clinkz, and getting lost on the map. Just think about that for a moment, I got lost in the river and didn't understand where I was.
On February 5, 2006 I peeked into a QuakeNet IRC channel called #dota.ee to see what was going on there. It didn't seem too interesting so I promptly left. Little did I know, that it would soon be my gateway to the world of DotA communities and that DotA would consume most of my free time. Indeed, I came back to scout several times and finally decided to sign up for a game in #dota.ee on April 3, 2006. What continued was a race to get to the top #1 position on the most games played this week ladder, because that was the only statistic the system kept - the number of games played this week. My best result was around 70 games per week, and you have to keep in mind, this was in 2006, when the average DotA game easily lasted 90 minutes and games over two hours weren't uncommon. Clearly I was hooked.
In the start of 2007 I heard about this alternative DotA gather channel on QuakeNet, called #dota.gc, which was being run by a guy named Cyrus. It was commonly known among #dota.ee players that #dota.gc was the place people go to when they get banned from #dota.ee, i.e. GC was the ghetto of local DotA gatherings. Thus, when I first peeked into #dota.gc on January 27, 2007, I didn't have the faintest idea that I would be owning & running it a year from then. Continuing with my prejudice against it I joined #dota.gc again on February 11, 2007 - and signed up for an actual game. I don't quite remember what I did in that game, but it couldn't have been too good, because I quickly got banned for 2 days by Mehikee with the reason "breaking the rules".
I continued playing in #dota.ee but on April 8, 2007 I got access to the brand new invite-only higher skilled ladder of #dota.ee, called #dota.ee.invite. Shout-out to Innu, for making the first points based IRC DotA bot that I saw - Doombringer. Before Doombringer, all the gathers I had seen used the in-game -sp mode that randomly shuffles the players. Although Doombringer was ultimately quite basic and had an extremely flawed ELO based points system, it was a critical inspiration for some of my future work.
On April 16, 2007, #dota.gc was shut down by Cyrus, because there weren't any games being played there at all anymore and he didn't see a need for it with the introduction of Doombringer in #dota.ee.invite. However dhgf convinced Cyrus to let him try to revive #dota.gc and create an active community. So on May 14, 2007 #dota.gc was back in business with dhgf being the de facto manager, while Cyrus still holding ownership rights. It just so happens that I'm good friends with dhgf and we play DotA together, so I ended up joining him and unexpectedly became a #dota.gc administrator. After a few days of #dota.gc being back in business with a simple gather bot that only records the game count per week, Dzinnu proposed that GC should have a ranking system similar to Doombringer. Within a few hours it was decided that it was to be me, Strom, who would be in charge of building such a ranking system.
Of course I couldn't just make a clone of Doombringer, I had to make a superior bot in every way. My main weapon of choice was to use the most high tech rating system available in the world, which I found to be TrueSkill, developed by Microsoft Research for XBox Live. I spent a good amount of time studying the white paper and on May 26, 2007 - Loom entered #dota.gc and would mark a huge milestone in DotA-GC history. In addition to TrueSkill, Loom provided automatically generated balanced teams and administration commands that could be used to deal with the rule breakers.
After building the most advanced IRC DotA gather system, I didn't start resting on my laurels. Quite the opposite, I started a gigantic project, a project so huge that at the time I only started work on it because I was blind to the complexity increase that would follow in the months and years to come. After months and months of work, on September 18, 2007 for the 1596th game being organized by Loom, Formula X was ready. It was a novel system, no other DotA gather had anything like it. A rating system for DotA players, based heavily on actual events that take place inside the game, not just on simple information like who won. Shout-out to esby for helping me build the replay parser. After another month or so I released Formula X 2.0, a greatly improved version of the same basic idea - and X 2.0 is the same formula that is used in DotA-GC to this day. It is incredibly complex. To give you some insight into just how complex it truly is, lets consider items. The items you buy in a game make up for about 25% of the score that is given to you by X. So how are the points for items determined? Well, there is a huge look-up table, that I (try to) maintain in Excel. There are currently 134 items and 110 heroes in DotA. For every hero, there is a multiplier score for every item. This is already 134 * 110 = 14 740 different scores I have to maintain, but this is just for 6.76. Formula X 2.0 supports every DotA version all the way back to 6.48, for a total of 29 different versions. Each DotA version has different balance requirements, and thus different scores. On top of this, every hero has a farm factor multiplier, which determines how easy it is to get items with that specific hero. Then, for every minute of the game, the items of every player in the game are inspected and loot scores are calculated. Next, every player's score is compared to every other player's scores to see the difference. Then this difference is compared to the difference of the starting X points for players, to see if the points need to be adjusted. Say if a 1500 X player has only 1.4x better items than a 1000 X player, then the 1000 X player will actually get plus points and the 1500 X player will lose points. And remember, this is just a fraction of the work that Formula X does to calculate the points for every player. It is complex, too complex really for one person to maintain.
The oldest ladder snapshot in the web archive is from October 16, 2007. Pretty interesting to see where some people were ranked, especially the 16+ people from that list who still actively play in DotA-GC today.
By December of 2007 I had become the de facto leader of #dota.gc. I was building the technical systems, I was writing the rules, I was dealing with the rule breakers. Overall I probably spent more time working on making #dota.gc better than all the other admins combined. I had no plans of slowing down, but I wanted assurance if I was to continue investing so much time into #dota.gc. So on December 18, 2007 I came to an agreement with Cyrus that he would transfer the ownership rights to me. This was the beginning of The Great Age in DotA-GC history.
Life was good, everything was going so well. #dota.gc was growing at an incredible pace and we swallowed competition left and right, e.g. both #dota.ee and #dota.eu completely died and all the players migrated to #dota.gc. We were the most technologically advanced DotA gather that I knew of, with strict rules and admins that must follow the general principles of DotA-GC. The culmination came on April 30, 2008 when a quite large competitor, #dota.fi, agreed to merge with #dota.gc in such a way that all the tech would be that of #dota.gc's and that I would keep supreme control. It was awesome, there were 8 games going on at once and games were happening 24/7, no stopping. Also, shout-out to Dzarg, the guy who built the #dota.fi tech.
This is where I got lazy. At the time I was still working as a full time developer during the day, so all the #dota.gc stuff had to be done after work - and summer was starting. Basically I just stopped working on improving #dota.gc and instead spent my free time on other things, including enjoying DotA games in this wonderful & highly active community that I had built. Although not doing any work on #dota.gc was a huge issue, the even bigger issue was that I didn't really communicate this to everyone else. I didn't even ask for a vacation for the summer, I just took it and didn't explain anything. There were also quite heated arguments between the #dota.gc admins and #dota.fi admins, they didn't just magically start working nicely together. I failed to realize that making all the admins friendly with each other was a critical task that needed to be done immediately. As a result of all of this, on July 7, 2008, #dota.fi split from #dota.gc, because they were dissatisfied with what they were getting out of the merger - lots of drama and stagnation with no explanation. This breakup hit me pretty hard.
I refocused on #dota.gc quite quickly, as I wanted to get all the Finnish players back who had left with the split. About a month after the split, on August 15, 2008 to be exact - I started the biggest project of #dota.gc history. Even bigger than Formula X. With the new project being so big, it also makes perfect sense that I didn't go at it alone. It was a co-operation between aRkker and myself. The project? Repel. The main idea behind Repel was anti-cheating technology. We wanted to make the best DotA anti-cheat in the world, and more specifically, we wanted to make a DotA anti-cheat system that actually worked. The Repel idea grew fast, it was easy to see how a custom piece of software installed by players would allow us to provide features that no other DotA gather had even dreamed of. The first feature that we went for was WarCraft III LAN emulation. At the time #dota.gc was still on IP-based hosting, where a player would say an IP in IRC, and others would copy-paste that IP into their LAN emulation programs like battle.lan, LanCraft, YAWLE etc. The idea was that Repel would replace all that, but at the same time we knew it wouldn't be easy to get everyone to install a new program, so Repel had to be backwards compatible with all those other programs. On March 3, 2010 - 1.5 years after development on Repel had started, we were ready to release Repel 1.0. Sure enough it had huge bugs in the beginning, but this was expected and Repel was designed to be compatible with all the other programs being used. Only those who wanted to be on the bleeding edge used Repel. Over time we increased the quality, added features like reconnection, and Repel became more stable and a lot more convenient than other programs, so more and more people wanted to use it themselves. It didn't take long for most people to be using Repel and that's when we made it mandatory and forced even the few remaining protesters to use it. After getting everyone on board, we activated the anti-cheating engine and just like that with one big swoop, we cleaned up #dota.gc, and we've been cheater-free ever since.
During these years that we developed Repel, we actually also managed to assimilate #dota.fi - this time by just being so much better that the players came themselves without the need for a management level merger. However reality was getting frighteningly obvious. You have to realize that when I originally started dealing with these IRC based DotA communities, it was the beginning of 2006. YouTube had launched just two months ago and I didn't even know it existed yet. Now it's the top #3 website in the world. Back then, it wasn't possible to just register a facebook account, you had to have a specific school e-mail to get an account. Now it's the top #2 website in the world. What I'm saying is that by the summer of 2010, I knew beyond any doubt that DotA-GC needed to be a website instead, because everything was moving to the web. This was a real bummer. Loom, the almighty DotA gather system I had built for IRC, 37 000 lines of C# code, was pretty much worthless. I had to start from scratch to build a web version of everything.
I also decided that this would be a good time to write a dedicated DotA game server. To this point all #dota.gc games were hosted by a volunteering player. However this had several problems, e.g. if the host decided to quit the game, it was usually game over for everyone. Also the host connection might not be very stable or fast. This second point would become an even larger issue with a web based system where it's more likely that we would get players from regions with weak Internet, like Belarus. I started in the summer of 2010 and after over 4 months of intense work, I had completed good enough first versions of the DotA game server and the web system.
The new web based system was launched on November 25, 2010. It was a great day, filled with hope & joy. DotA-GC may not be too late for the DotA community web train after all, although DotAlicious-Gaming had over a 5 month head start, as they launched with their web in April - when I was still stabilizing Repel and hadn't started on all the work needed to migrate to the web. Still, I knew that if I really focused on DotA-GC, I could easily catch up and then surpass them. That was a big if indeed. I continuously failed to put in the work needed to market DotA-GC. Instead I kept tinkering with technical stuff. For example I spent a good amount of time making the automatic surrender system, so that if enough people want to ff, the throne gets automatically destroyed and the game ends instantly. Then I spent an absolutely huge chunk of time making the most perfect hotkey system I could dream up and integrate it into Repel. While the system works as intended and I'm very pleased with it technically, I have failed to explain how it works to most people. It's not uncommon that people are just too used to classic custom DotA hotkey systems, so they don't immediately understand the beauty behind the repel hotkey system. Some other big Repel features that are in various stages in the lab include a proper -xd mode implementation, where the banned heroes get removed from the pool completely, so you can't random or pick them. I got it working as far as you can't manually pick a banned hero and you can't see it in the pool, but you could still random it. Another huge feature that was in the design stage was complete crash recovery. That is, even if your computer restarts, you can still come back and join the game from which you dropped out from.
On September 12, 2011, after 1570 days (4.5 years) of service, having organized 40 046 games, the historic #dota.gc IRC bot Loom was permanently shut down. This was a sad move for me, because I had obviously spent so many years making it as awesome as possible. On the other hand, this was a move that was absolutely needed, because I had to focus all my energy on the web system and more specifically on marketing the web system.
November 11, 2011 was a big day. Dota-League, a major German DotA community, was shut down. This event provided DotA-GC with a flood of new people. I rushed to build tutorials to help people learn the DotA-GC system and spent as much time as possible talking to these new players. There was an interesting, tragic and funny scenario happening over and over again with these new people. There were so many of them coming at once, that the games that went full consisted mostly of new players with zero or just a handful of games. Then these players proceeded to bash each other and explain how this DotA-GC is full of unskilled, unmannered players and how Dota-League was the best thing since sliced bread - without realizing that they are all from Dota-League. In addition to this, because the games were full of new people, the team balance was nonexistent, which made our "supposed to be best in the business" ranking systems look bad. If there is anyone to blame for this mess, it is only myself, for having failed to anticipate this clusterfuck. This was definitely a huge lesson for me, and now for future projects I can be much better prepared for a flood of new people unfamiliar with the local culture. So while DotA-GC managed to capture only some of the Dota-League refugees, bigger places like DotAlicious-Gaming had an easier time, because thanks to the bigger community, the new people were spread out more evenly and saw the actual DLG culture, not the culture of 10 new people having no idea what's going on.
As of today, December 1, 2012, the web service has been running for 737 days (2 years), has organized 22 200 games and consists of many major components:
* The web backend is 16 588 lines of Java
* The web frontend is 1145 lines of JavaScript, 1540 lines of HTML, and 1271 lines of CSS
* Formula X is 23 497 lines of C#
* The game server is 8331 lines of C++
* Repel is 13 045 lines of C++
The whole DotA-GC system has been the biggest, most advanced system that I have designed & constructed. At about 12 000 verified users with 62 246 games, DotA-GC is also the biggest community, that I have had the pleasure & pain of managing. I have heard pretty much every possible excuse there is for quiting from a game. People have died, people have gotten sick, people have fallen through floors, houses have been set on fire, pets have eaten through cables etc. I have witnessed the unbelievable lengths that people will go to to lie to your face, just to get another account to play DotA. Not only lies either, people have actually traveled into different countries to set up extra accounts, not to mention everyday stuff like running to the library to use public computers. I have seen people spend hours every day begging for unban, I have seen people show up every day to make convoluted cases on why their punishment is unjust, I have seen people accuse DotA-GC admins of every possible discrimination possible, I have received countless threats and even several death threats. This hasn't been easy, no matter how just or objective I am, there are always people who find a way to be negative. It has taken a lot of hard work, sleepless nights, blood, sweat & tears. That is not to say that it has all been bad, definitely not. Every once in a while someone will share a story of how my work is making them happy. How the tools we've built are making their lives easier. It has been the positive feedback, albeit barely visible within all the negativity and indifference, that has fueled me to continue working on DotA-GC. I am happy that I have chosen this path in my life. However I also realize, that I haven't done enough and that the future chances of DotA-GC aren't too spectacular. It is time to cut our losses and move on, difficult as it may be.
I would like to give an extra big thank you to all the administrators of DotA-GC that I have had the pleasure of working with, in alphabetical order:
aRkker | Coder | creeeeeee | Cyrus | dhgf |
diesel | diGez | DviX | Dzinnu | fakk |
Herre | J0te | junker | Kaspe_r | Katza |
lemmy | Mercury | mihkeL | n3pu | nimetu |
Nugis | PeterLars | Pilvik | s0xu | sparky |
So where am I moving on to? As it turns out, for the time being, not too far from the DotA world. I am attempting something a bit different with Lopya for Dota 2. I have written about some of the reasoning and goals before. Basically I am building a community from the ground up, while using all the lessons I've learned in the 7 years of my DotA career. To put it as simply as possible, while with DotA-GC I was mainly focused on the technology, with Lopya I will direct my focus to the people. Instead of worrying if we have the best statistics, or if we have the fastest latency, or if the whole game organization is as automated as possible - I will make sure that the people are the friendliest they can possibly be. The idea is to make a community, where you want to play not so much because of the game, but because of the awesome people you play with.
Now, you may be thinking: This whole DotA-GC shut down business came as such a surprise. I want to play a bunch of games here for old time's sake, but now there isn't any time! Well, if you truly are passionate about keeping DotA-GC going a bit more, you have that chance. If you, the community, can collectively pay at least €50 for the server costs, then I will personally pay the rest and keep this train moving for another month, straight through the holidays and into the new year! Also, don't worry, if we do not reach the goal by Monday, then I will refund everyone who tried to support. So go ahead, give yourself a holiday present and help pay for the December server costs of DotA-GC.
Update: We did it! DotA-GC will remain functional for December.
52 comments:
Dec 01, 2012 14:23:38 UTC
lets hope LOPYA will grow up big !
Dec 01, 2012 14:27:02 UTC
dota > dota2..... or well DOTA2 just sucks bigtime
Dec 01, 2012 14:34:41 UTC
nooooo
Dec 01, 2012 14:53:31 UTC
let's collect some money?!
Dec 01, 2012 15:15:26 UTC
Great Story Strom, you have really achieved something great, i hope you can transmit it to DOTA 2 with your new project. It was great for me to play here, despite some of hating that was going on,but this can be explained with addiction, the more a person plays the bigger hater he becomes, its a indesputable tendency unfortunately. In any case Good luck, Dota will always be better than DOTA 2 , nothing can really replace dota, LOL tried HOn tried now Dota 2 ( the imporvm,ent) but it just wont work. Good luck to everyone and all the best.
Dec 01, 2012 17:12:51 UTC
Stop fucking talk shit and donate some money! if all of us give just 1 fucking euro, we can play and have a good time 1 fucking month longer!
Dec 01, 2012 17:20:34 UTC
are you kiddin me? strom.. i just got unban and now this ? :( baaaaaaah
Dec 01, 2012 18:08:45 UTC
alibaba sry i got you banned a while ago :D tho this is probably another ban already xD
Dec 01, 2012 19:13:55 UTC
if we would pay 50€ per month will leage continue to live?
Dec 01, 2012 20:47:38 UTC
this makes me sad :(
Dec 01, 2012 22:27:12 UTC
ill still be banned in the end of december :D too bad
Dec 02, 2012 04:58:08 UTC
More ads, something like that if you pay, you'll get something advantage (1st in waiting player list always, more waiting time.. i dont know something.) Website back to irc?
Dec 02, 2012 07:23:33 UTC
Great blog post, good job.
I guess my DotA playing ends with gc... sigh
Thanks for everything Strom, you did amazing job with this league.
I guess my DotA playing ends with gc... sigh
Thanks for everything Strom, you did amazing job with this league.
Dec 02, 2012 12:52:54 UTC
anyway to pay by phone?
Dec 02, 2012 14:20:42 UTC
Boy, am I going to miss you guys <3
Dec 02, 2012 15:23:58 UTC
@DeMiaN Sorry, no way to help pay this with a phone. The phone payments have huge fees (over 60%) and it takes about 3 months for the money to arrive.
Dec 02, 2012 16:28:39 UTC
i have never seen a admin like you Strom.So devoted to his own projects,all time trying to fix / modify it to upgrade it.Seriously,you have made a amazing thing.I got to say you changed my opinion about dota games.Big thanks for you.Also thanks to all players that i have played with.You guys are funny and i think i would like to continue to play dota only with you.So i think i leave dota 1,wait for better pc -new year i should have it and i move to Lopya.I hope i won't get that 1$/month thing at the beginning for flame. :) omw to support a bit.
Dec 02, 2012 16:31:32 UTC
and please unban all players that can still play (like Mansikka) here so they have some fun playing for last moments :) i know it's against the rules ,but come on if we got to end that ,let's end that project with all player that want to play it! :)
Dec 02, 2012 17:42:29 UTC
Good luck with next project. It was always nice to play here.
Dec 02, 2012 20:57:09 UTC
well ok fuck this...strom plz give me 2 more days so i can load some money on my paypal konto and i will pay that fucking 25 euro...
Dec 02, 2012 22:12:56 UTC
Thanks for all especially you strom, great job. :---) Please unban all so they can play here last time!
Dec 02, 2012 22:25:52 UTC
endless hours in GC.......
tsau
tsau
Dec 02, 2012 22:29:51 UTC
Really, mby_next_time and Jerkku are totally in right. Unban all so we can play and enjoy one with each other for one last time. It would be really nice to have a last good time.
Dec 03, 2012 06:39:12 UTC
24e, really guys ? grow some balls :D
Dec 03, 2012 17:03:15 UTC
I would have had no problem paying 3€ or 5€ for a "silver" or "gold" account with special privileges such as access to special forum, first in line when adding to a game, shorter bans etc.
"Donations" as the main source of income is a fail though.
This is a shame though, because Dota 2 doesn't have the feel or the look to be a decent sequel.
"Donations" as the main source of income is a fail though.
This is a shame though, because Dota 2 doesn't have the feel or the look to be a decent sequel.
Dec 03, 2012 17:21:40 UTC
Agree with Vangelis.
U can make pay 3-5$/month.
Ur site go crush for one easy reason. ur site NOT INTERNATIONAL. I didnt see here GERMAN ITALIAN and etc.
U can make pay 3-5$/month.
Ur site go crush for one easy reason. ur site NOT INTERNATIONAL. I didnt see here GERMAN ITALIAN and etc.
Dec 03, 2012 19:36:45 UTC
Thank you Strom for that experiance, was a time filled with drama, fun and everything else possible.
The community, the people, were the best part, the people who were here before dota2 was launched, but on the upside, we can play with them on dota2.
Thank you for everything!
The community, the people, were the best part, the people who were here before dota2 was launched, but on the upside, we can play with them on dota2.
Thank you for everything!
Dec 03, 2012 19:44:32 UTC
On a side note, perhaps theres a possibility for me to play one last game as well!
Dec 03, 2012 22:45:52 UTC
i will pay the rest of the money if u give me one or 2 days to get my money on the paypal konto..
so keep the side running i´m doing my best :P
so keep the side running i´m doing my best :P
Dec 04, 2012 02:25:49 UTC
@VanillaThunder Okay, sounds good.
Dec 05, 2012 11:36:10 UTC
Strom, when u finally shut it down, it would be nice to leave option for us to be able to download old games (replays)...
Dec 06, 2012 13:29:52 UTC
good read, gonna miss those good ol .gc days!
Dec 07, 2012 20:28:20 UTC
" pets have eaten through cables etc"
THATS MINE!! :DD
THATS MINE!! :DD
Dec 11, 2012 17:13:52 UTC
Strom, JGT.Bop asked a question, and i ask the sam question, if we pay 50 euros each month, can GC continue being functional in 2013, or i shut it down by the end of December anyway?
Dec 11, 2012 17:14:37 UTC
you*
Dec 12, 2012 14:25:11 UTC
would be rly awesome..
Dec 13, 2012 06:58:41 UTC
@Diablo I am moving on, December is the last month for gc.
Dec 17, 2012 09:18:32 UTC
hope that's a lie
Dec 20, 2012 21:35:40 UTC
:(
Dec 26, 2012 21:11:11 UTC
god damn... love u all guys <3 .. it was a sad letter to read...
Dec 30, 2012 15:57:11 UTC
we luv u 2 banana!
Dec 30, 2012 16:15:00 UTC
i realy miss gc .....
u did a gr8 job storm
u did a gr8 job storm
Dec 30, 2012 16:41:00 UTC
imo strom is a bastard -.- he didnt even played with us in the end :D was just dota2 + arma2 fag -.-
Dec 31, 2012 03:42:44 UTC
It was great experience here, with all of you. Hope we meet again @ Lopya, although dota2 sux. Great job Strom, i really appreciate what u have done, thank you. Happy NY to everyone :)
Dec 31, 2012 16:11:04 UTC
just had a game with Strom and heard that gameruiners like Diablo who quits prettymuch everyday wont get Lopya access... sadface.funch
Dec 31, 2012 17:09:26 UTC
Funchie, bro, go find some interesting things in life, u have a chance, go find cold embrace of stars.
Dec 31, 2012 19:35:47 UTC
Dota 2 ain't suck.. stop being mindfuQed, play few games to get used to it = great game. Only issue is the players in match making.
Jan 09, 2013 09:36:00 UTC
Haha, gc fun times! I have picture folder with over 50 memes about stuff happening gc that I have made. There's even one instance of rabbit or cat eating a cable (by sotamursu) and a bit about admins banning overall :D. Anyway good job Strom, if you keep at it I'm sure Lopya will be even bigger success.
The pics: https://www.dropbox.com/sh/317ygxngdn8vdu0/KXwFXo8rhI/GCaments
The pics: https://www.dropbox.com/sh/317ygxngdn8vdu0/KXwFXo8rhI/GCaments
Jan 16, 2013 09:28:30 UTC
hahahah : DD!! thank you everyone for feeding me here so much
IF SOMEONE NEED DOTA2 KEY PM ME ON STEAM DEDUXSERS OR irc@quakenet deduxsers
IF SOMEONE NEED DOTA2 KEY PM ME ON STEAM DEDUXSERS OR irc@quakenet deduxsers
Jan 22, 2013 13:07:47 UTC
have some dota 2 keys too that i dont need just call me in steam warfirelord
Nov 24, 2014 23:47:31 UTC
I guess Lopya never happened.
84% | 1561 X | 1417 TS