For some time, I've been chipping away at a little project to let anyone create a custom league just by typing some values into a spreadsheet. We've already been able to create custom leagues and tournaments for a while with the CLOT framework, but that hasn't had a whole lot of adoption and- let's be honest- it's not easy to set up even if you're already very familiar with Python, cloud servers, and Web applications. Or at least not as easy as it should be if all you want to do is create a basic league and not do anything really fancy- you still have to deploy a full Web application, maintain its UI, and debug it when things go awry. Ideally, you'd be able to create leagues without having to know code at all.
So I'd like to unveil the open alpha release for the CSL framework; the idea is to break up the task of creating custom leagues into 3 parts: defining the league, actually automating it, and making a user interface. CSL lets anyone (with a Warlight Membership) create Bots to safely use their Warlight API access to run a bunch of leagues. People can also create their own Interfaces (that just make API calls to existing Bots) to display leagues and let players interact with them. The idea here is that someone's improvement in running a league (on the Bot end) or displaying a league (on the Interface end) can be adopted much faster by the community since these are modular pieces that aren't tied to any specific league.But the exciting part
is that people who want to just create a league- turn an idea in their head to something that actually works- can do that really easily now. All you have to do is create a spreadsheet, share it with a Bot, and figure out which Interface you want to use (forum threads are the default Interface and all you can use right now, but once people start building Interfaces you'll be able to migrate to them really easily).This is an alpha release, meaning I expect things to get pretty buggy
. Interfaces, for example, aren't fully supported at the moment by the Bot I'm running (although you've got all the tools you need to build one). There's probably some other quirks too; if you find some, I'd be pretty grateful if you created an Issue on GitHub (https://github.com/knyte/cslbot/issues
) noting the bug. Ideas/feature requests are also welcome! There's a bit of work left to do, but hopefully in the end we'll have a system that actually works for letting a bunch of people create a bunch of leagues and not have to run them manually. For the most part, we're at feature-parity with existing CLOTs right now and have a few things that no existing CLOT currently has.
So if you want to get started and build a league (I've got a Bot up and running right now, and it's successfully been running an internal test league for Hydra over the past few days), here's the project Wiki that documents everything: https://github.com/knyte/cslbot/wiki
It's all open-source, so feel free to contribute if you're so inclined! And if anyone wants to help me document this (or do a livestream/etc. explaining how to set up a league), feel free to PM me.
And of course, the code behind this is at https://github.com/knyte/cslbot
. There's also the underlying libraries at https://github.com/knyte/wl_api
, and https://github.com/knyte/pair
. :P Star them if you want to boost my ego.
Edited 5/12/2017 00:14:03