🛠️ cyberleague

Cyberleague is a website where players code bots to play games (think: poker, chess, Catan, euchre) against other players' bots.

There's a beta running at https://cyberleague.bloomventures.io/

History

In the early 2010s, I had this idea kicking about for a "game" where player's write code to compete against other player's code. Many game platforms (ex. poker sites) were in an arms race with bot writers, what if instead, you had a platform only for bots?

In September of 2014, a Clojure Cup hackathon was announced, so James and I decided to give the idea a try. It was one of our first Clojure and Datomic projects. v1 only worked with Clojure bots, could only be edited in the browser, and only supported one game (goofspiel). It was received by the judges quite well, although the "card" based interface wasn't liked by one of the judges (to be fair, I agree; but as of 2025-09-11, the interface persists).

Soon after, James added ultimate tic-tac-toe. And added Javascript support (via Nashorn on the JVM).

We experimented with a separate UI + server repo and "player-of-games" repo, but eventually went back to a mono-repo.

I think later that year (2014), we ran a 3-hour "hackathon" with Hacker Academy at UofT. The participants had a very good time which made we want to work on it more.

In 2015, we continued to poke at it occasionally, but ultimately shelved it.

5 years passed...

In 2020, after the started of the COVID Pandemic, I started a Clojure Study Group with a group of graduates from Lighthouse (nobody was hiring, so they had nothing better to do). I started to clean up the project's code base (it's surprising how much someone's taste changes in 6 years) and together with the Lighthouse grads (in particular, cspragget), we:

Eventually, the study group fizzled out and the project was on hiatus.

In 2024, I opened the project up to Clojure Camp mentees, and started working on it with Epidiah. As of 2024-09-11, we're working on creating a CLI-based experience to allow players to develop bots on their own machines with their preferred editor and workflow.

Reflection

Saw a similar project on the web at some point, but I can't find it anymore.

In a way, it is sort of like Kaggle.

Plans

2024-09-05
cyberleague
:date-started2014-09-26
:last-activity2024-09-05
:last-updated2025-09-11
:linkhttps://cyberleague.bloomventures.io/
:repohttps://github.com/bloomventures/cyberleague
:intent-to-keep-working?true