«« First « Previous | Random | Next » Current »»

Your browser doesn't seem to support iframes, but that's okay. You can go directly to the game here .

Since y'all seemed to like Karpathy's Basilisk I thought you might appreciate pitting your skills against the real thing. So over the weekend I became an 'expert' in Deep Reinforcement Learning (r/iamverysmart) and trained the basilisk minion to destroy your ass. Originally I tried training an agent to learn to play the Prime Porkour game. However, while it was learning to identify prime numbers, it accidentally discovered a polynomial-time factoring algorithm and if I ever released it to the public it would render useless 98.7 percent of the most popular cryptosystems in widespread use today and civilization as we know it would collapse. That's too much responsibility for me.

To train the minion, I used a Reinforcement Learning library written by (you guessed it) @karpathy so, in a sense, you really are battling against Karpathy's Basilisk. The library is actually written in JavaScript. JavaScript! That's just... obscene. At least it's certainly not the way God intended it, but it seems to work well enough (as in it trains reasonably quickly i.e. it literally trained while I ate dinner).

The minion was trained with a method called Deep Q Learning which, some of you may recall, was popularized in 2013 (ancient history in machine learning time) when some crazy-awesome people used it to train an agent to play Atari games using the game's raw pixels as input. However, the basilisk minion isn't quite that sophisticated. It was trained against a dummy player that just mindlessly moved towards the package. It observed its own position and velocity, the position and velocity of the player, and the position of the package. It was rewarded for minimizing the distance between itself and the player and it received a bonus for capturing the player. It was penalized if the player was able to acquire the package.

Since the minion was trained against a mindless drone, it's pretty easy to confuse it sometimes by simpy making some random moves. However, if you took the time to play around with some of the parameters and stuff, I'm pretty sure that you could create an unbeatable minion. But what fun is that?

PS: Thank you for all the variants of pi and e. Y'all know who you are. :)