I'm working on a mobile game called Cobalt Dungeon

Multithreaded JavaScript has been published with O'Reilly!
Visit the original version of this article on patreon.com.

Cobalt Dungeon (previously Crossover) aims to be a “Mobile Roguelike Puzzle” game. For the last several years I've been trying to create Roguelike games with varying success. My most prolific attempts were with a series of incomplete games I created called Cobalt Calibur. There were actually three iterations of this game! Cobalt Calibur is a console game written in Perl, Cobalt Calibur II is a web game written in PHP/MySQL/JavaScript and AJAX, and Cobalt Calibur III is a web game written in Canvas/JavaScript and Node.js, Websockets, and Redis, and is realtime multiplayer. Whew!

Cobalt Calibur was one of the first things I programmed. Every time I learn a new programming language I basically start by creating a game of some sort. After a decade of programming I suppose it finally clicked that programming isn't my strongest passion; game development is!

A few months ago I attended a conference called Roguelike Celebration. This conference was extremely inspiring, containing several talks about procedural level generation given by the creators of some of my most beloved games. The first day of the conference, November 12th 2017, was the first time I started writing code for this new game. I've been working almost non-stop on it ever since.

I have made a lot of progress, open sourced a couple libraries used in the making of the game (roguelike, autotile, grille, mobile-game-skeleton), gone down paths which ended in a series of reverts, and built a few pretty useful tools to ease the development process.

Currently the game can be described as follow: When you first run the game you can start playing Tutorial mode. Once enough tutorials have been completed you then unlock and can play Story mode. Story mode consists of 20 floors containing several rooms each. There are about four bosses per run. Once the first boss has been beaten in a Story playthrough you then unlock Challenge mode.

There are four different themes throughout the levels: Stone Caverns, Ice Caverns, Moss Caverns, and Fire Caverns. Themes are attached to five levels each. Each theme has its own music. Bosses appear at the end of a series of levels having the same theme.

Core gameplay consists of simple input for triggering movement. A swipe in a direction will cause the player to move in that direction. If there is an enemy in the way then the player will attack the enemy. Upon entering a room the enemies will attack the player. The player will move through different rooms in a level picking up keys and unlocking doors. Once the final room in a level is found the player can descend to the next level in the dungeon. Useful items can be found throughout the dungeon. Money can also be found and used to purchase upgrades in shops.

Well that's probably enough background for now. From here on out I'll try to write weekly-ish updates, as well as write articles about various learnings and technologies I'm using while creating the game. Ciao!

Thomas Hunter II Avatar

Thomas has contributed to dozens of enterprise Node.js services and has worked for a company dedicated to securing Node.js. He has spoken at several conferences on Node.js and JavaScript and is an O'Reilly published author.