What is Spelunky?
Spelunky is a 2D platforming game that challenges players to navigate a series of hazardous environments and score as many treasures as you can along the way. Developed by Derek Yu, the game proves challenging for many people given not only that each level of the game world is procedurally generated, but also that it is a `roguelike’, meaning you have one life (that’s right, one life) to beat the entire game. If you die, you have to restart the entire game from the beginning.
If you’re a fan of classic platformers such as Super Mario Bros., then you should be playing Spelunky. You can get a copy of the original game for FREE at the Spelunky website, or buy the improved HD version of the game on PSN, Xbox Live and Steam.
What is Spelunkbots?
Spelunkbots is an API (Application Program Interface) that allows users to write Artificial Intelligence (AI) ‘bots’ that can play the original Spelunky. Spelunkbots was originally conceived as a project by Daniel Scales (computer science graduate and indie game developer) and Dr Tommy Thompson (AI researcher and computer science lecturer) at the University of Derby. The premise revolved around the challenge of creating AI software to play this game, given it is a significant challenge for many humans to play, is AI up to the task of being just as good – if not better – than humans at Spelunky?
Spelunkbots interfaces with the original GameMaker Language (GML) implementation and allows for users to either write bots in GML or in C++ using a special DLL that links to the GML execution. The API also provides a host of functions that allow you, the developer, to ask about the current state of the Spelunky world and tell the avatar which actions to take at a particular point in time.
Why Did You Make Spelunkbots?
The project was designed largely for two reasons:
- We saw the potential of Spelunky as an interesting Artificial Intelligence problem.
- We really (really) like Spelunky.
Artificial Intelligence research has a storied history of finding benchmarks that are found to be interesting and challenging. When interesting benchmarks are discovered they are shared so that researchers begin to try and solve that problem. Since the early 2000’s, video games have became an increasingly important source for AI benchmarks. This is because video games are hard for people to try and solve: they’re challenging puzzles for the brain that people enjoy trying to overcome. This makes them equally relevant for AI software to try and solve, since we can not only test existing algorithms and methods that have been developed, but potentially discover or refine new AI techniques.
Spelunkbots is but one of a number of exciting benchmarks that have been explored in AI research, with other notable examples including Ms. Pac-Man, Super Mario Bros., Unreal Tournament and StarCraft.