Rogueish is a co-op roguelike made by Matt Horn (@mathphreak) for GAMES MADE QUICK??? 1½.


Use the buttons or corresponding keys to move each player around. Use the "Switch Places" and "Split XP" buttons to switch places and split experience.

Networking Instructions

WARNING: The netcode is terrible, for reasons explained below. If you can play locally and share a keyboard, do that.

If you really want to play online, just enter the same text in the "Multiplayer room" field. Everyone in the same room can control either player, so you'll need to decide who'll be which player on your own. (Once everyone is in the room, someone may need to move in order to get everyone's state synced.)

Explanation & History

A year ago I wrote a roguelike called Halfhearted with the React JS UI library as part of the FreeCodeCamp curriculum. When GMQ???1½ rolled around, I decided I wanted to add co-op to it.

Adding a second player complicated a bit of stuff but wasn't particularly complex, so I spent the next few days improving the game itself -- rebalancing weapons, improving worldgen, etc. I had always meant to add online play eventually, but it took a while for me to get around to it.

If I had been using an actual game engine, even a lazy attempt at networking would have been fairly complex to implement. However, since I was just using React, there was already a JS object that held the game state, so I did the laziest thing possible and just sent up the entire state every time it changed. Once I grabbed other people and started testing with both players moving at the same time, I noticed that this wasn't a very effective strategy: if a player moves before receiving the most recent state from the other player, only one move actually counts. It would almost have worked to just transmit the inputs rather than the complete state, but that would have led to RNG desync. I could have solved that too with a lot of work, but I'm lazy and it's a game jam.


Rogueish was developed on CodePen, and you can see all the original source (and also play the game) here. The server for the networking was developed on Glitch, and that code is here.

Rated 3.5 out of 5 stars
(2 total ratings)
TagsCo-op, Roguelike
Average sessionA few minutes
InputsKeyboard, Mouse
MultiplayerLocal multiplayer, Server-based networked multiplayer
Player count2
LinksSource code, Server info


Log in with to leave a comment.

It has the full bases of a roguelike game, well done! Has your making it with frameworks not focused on game development, I wonder what it could have implied to use an ASCII display. Would it be easier?

I think ASCII would have been about as difficult to implement as these squares, but I would've lost some flexibility. Making the players look similar but not identical was important, and in ASCII that would've been harder to do.