Rogule: Tales From the Dungeon of a Web Based Rogulelike

Rate this content
Bookmark

Rogule is an emoji based open source online roguelike game that started life as a 7DRL game jam entry. It has now grown to around 1,500 games per day. In this talk I'll cover the weird tech (ClojureScript), the motivation, game mechanics, and the future of Rogule.

Chris McCormick
Chris McCormick
19 min
28 Sep, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Chris McCormick, an independent software developer, discusses his latest game Rogl, a minimalist online roguelike game. He shares the story of how Rogl gained popularity and emphasizes the importance of marketing and giving your creations a chance. McCormick highlights the value of frugality and underengineering, as well as the power of finding the best tech for efficiency. He explains why ClojureScript is the best tech for him and discusses deployment strategies using Piku. Overall, the talk emphasizes the importance of informing people about your project, prioritizing fast development, and user feedback.

1. Introduction to Rogl

Short description:

My name is Chris McCormick, an independent software developer. I've been making web-based games, and today I'm here to talk about my latest game, Rogl. It's a minimalist online roguelike game played in the browser. The game features turn-based strategic gameplay, grid-based movement, and permanent death of the player character.

My name is Chris McCormick, and I'm an independent software developer. I've been working freelance most of my life, and recently I've been building online micro businesses. I also like making games and procedurally generated music and music apps.

Today I'm here to talk about Rogl. The first computer program I ever wrote was a turn-based game of catch on the Apple IIe in 1980 something. I was about eight years old and I soon discovered I liked making games more than I liked playing them, so I kept making games. And today I make web-based games.

Rogl's my latest game and that's what I'm here to talk about today. It's a minimalist online roguelike game you play in your browser. You play an elf moving around a dungeon, hacking at monsters, picking up items, and you try to find a shrine so you can ascend. Everyone gets the same dungeon each day and you get one chance to be each day's dungeon. There have been about 350,000 roguelike games played since 2022 and about 1,000 to 2,000 games are played every day. If you search for the roguel hashtag on social media you'll probably see people sharing their games.

I've been playing roguelikes since the Intel 286 was a fast computer. The word roguelike comes from the game Rogue which was released in 1980. It's a dungeon crawl through procedurally generated levels with turn-based gameplay, grid-based movement and permanent death of the player character. These days many games have entered the roguelike genre and its meaning has become diluted. For me these features are what make roguelikes great and my game Roguel sticks with them. Turn-based strategic gameplay is particularly important. It gives you space to think and removes the stress of having to act for a calmer game experience.

2. The Story of Roguel

Short description:

Roguel is a different kind of roguelike game with emojis, fast gameplay, and a simple user experience. It started as a seven-day project inspired by Wordle and gained popularity after being shared on the web game subreddit, attracting 135,000 players. The first takeaway from this talk is that sometimes even good projects may not gain traction online, but it's still valid to build something you personally want.

There are a couple of things that make roguelike different from traditional roguelikes. The first obvious thing is the emojis and it's a fast game with most sessions lasting around one minute. Secondly it doesn't have any inventory management. All items you pick up are used automatically. Thirdly it only has one level and there's no descending deeper into the dungeon. The depth and complexity of roguelikes is exchanged for fast user friendly sessions. I think this, as well as being web-based, is what makes it accessible to wider audiences.

I also spent quite a lot of time making the user experience super simple. Roguel started life in a seven day roguelike jam in early 2022. I had been thinking about making an emoji-based roguelike for a while. Around that time I heard a great interview with the Wordle creator Josh Wardle. I started thinking about how to apply some of the principles from Wordle to a roguelike game. So I built the game in one week for 70 RL. And when it was done, I was fairly satisfied with what I'd built. It was fun to play, had a win condition, a lose condition, and a little social media shareable at the end of the game. After release I put the game online and it had about 30 regular players per day. People even shared the game logs so that was pretty nice.

Fast forward about 1 year during which I changed very little about Roguel. About 30 people a day were still playing it and not much else had happened. Then one day I discovered the web game subreddit. I thought this is pretty cool, I guess I'll post about Roguel there. So I put it up and I went to sleep. Over the next couple of days, 135,000 people played Roguel. It hit number 1 on Hacker News, the Github Twitter account re-tweeted it, it got written up in a popular Japanese online magazine, all of which was quite surprising. None of that would have happened if I hadn't shared it on reddit web games. So I think this is the first takeaway from my talk. All of us have had that experience of making something we think is pretty good and then we put it online and it seems like the world just doesn't really want it. Well there are 2 possible reasons why that happens. The first reason is if your thing sucks or it sucks for everybody except you, which is fine. Building something because you only want it is a perfectly valid reason to build something.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Optimizing HTML5 Games: 10 Years of Learnings
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Optimizing HTML5 Games: 10 Years of Learnings
Top Content
The open source PlayCanvas game engine is built specifically for the browser, incorporating 10 years of learnings about optimization. In this talk, you will discover the secret sauce that enables PlayCanvas to generate games with lightning fast load times and rock solid frame rates.
Remix Flat Routes – An Evolution in Routing
Remix Conf Europe 2022Remix Conf Europe 2022
16 min
Remix Flat Routes – An Evolution in Routing
Top Content
This talk introduces the new Flat Routes convention that will most likely be the default in a future version of Remix. It simplifies the existing convention as well as gives you new capabilities.
Building Fun Experiments with WebXR & Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Building Fun Experiments with WebXR & Babylon.js
Top Content
During this session, we’ll see a couple of demos of what you can do using WebXR, with Babylon.js. From VR audio experiments, to casual gaming in VR on an arcade machine up to more serious usage to create new ways of collaboration using either AR or VR, you should have a pretty good understanding of what you can do today.
Check the article as well to see the full content including code samples: article. 
Making Awesome Games with LittleJS
JS GameDev Summit 2022JS GameDev Summit 2022
34 min
Making Awesome Games with LittleJS
LittleJS is a super lightweight game engine that is easy to use and powerfully fast. The developer will talk about why he made it, what it does, and how you can use it to create your own games. The talk will include a demonstration of how to build a small game from scratch with LittleJS.
How Not to Build a Video Game
React Summit 2023React Summit 2023
32 min
How Not to Build a Video Game
In this talk we'll delve into the art of creating something meaningful and fulfilling. Through the lens of my own journey of rediscovering my passion for coding and building a video game from the ground up with JavaScript and React, we will explore the trade-offs between easy solutions and fast performance. You will gain valuable insights into rapid prototyping, test infrastructure, and a range of CSS tricks that can be applied to both game development and your day-to-day work.
Boost the Performance of Your WebGL Unity Games!
JS GameDev Summit 2023JS GameDev Summit 2023
7 min
Boost the Performance of Your WebGL Unity Games!
Unity, when deployed on the web, faces three critical challenges: build size, memory usage, and overall performance. This lecture delves deep into advanced optimization techniques to help you address each of these issues. Attendees will gain insights into:
- Effective strategies for optimizing textures, audio, and models.- A detailed analysis of our ASTC experimentation with Unity, shedding light on the unexpected results despite Unity's claims.- A comprehensive guide to Unity's memory profiling tool and its implications.- An exploration of lesser-known Unity settings that remain underutilized by many developers.
Additionally, we'll introduce our proprietary tool designed specifically for Unity optimization. We will also showcase CrazyGames' developer dashboard, our platform that enables developers to monitor and enhance the performance of their web-based games seamlessly. 
Join us to equip yourself with the latest strategies and tools to elevate your Unity web gaming projects.

Workshops on related topic

Make a Game With PlayCanvas in 2 Hours
JSNation 2023JSNation 2023
116 min
Make a Game With PlayCanvas in 2 Hours
Top Content
Featured WorkshopFree
Steven Yau
Steven Yau
In this workshop, we’ll build a game using the PlayCanvas WebGL engine from start to finish. From development to publishing, we’ll cover the most crucial features such as scripting, UI creation and much more.
Table of the content:- Introduction- Intro to PlayCanvas- What we will be building- Adding a character model and animation- Making the character move with scripts- 'Fake' running- Adding obstacles- Detecting collisions- Adding a score counter- Game over and restarting- Wrap up!- Questions
Workshop levelFamiliarity with game engines and game development aspects is recommended, but not required.
PlayCanvas End-to-End : the quick version
JS GameDev Summit 2022JS GameDev Summit 2022
121 min
PlayCanvas End-to-End : the quick version
Top Content
WorkshopFree
João Ruschel
João Ruschel
In this workshop, we’ll build a complete game using the PlayCanvas engine while learning the best practices for project management. From development to publishing, we’ll cover the most crucial features such as asset management, scripting, audio, debugging, and much more.
Node.js: Landing your first Open Source contribution & how the Node.js project works
Node Congress 2023Node Congress 2023
85 min
Node.js: Landing your first Open Source contribution & how the Node.js project works
Workshop
 Claudio Wunder
Claudio Wunder
This workshop aims to give you an introductory module on the general aspects of Open Source. Follow Claudio Wunder from the OpenJS Foundation to guide you on how the governance model of Node.js work, how high-level decisions are made, and how to land your very first contribution. At the end of the workshop, you'll have a general understanding of all the kinds of work that the Node.js project does (From Bug triage to deciding the Next-10 years of Node.js) and how you can be part of the bigger picture of the JavaScript ecosystem.

The following technologies and soft skills might be needed):
  - Basic understanding of Git & GitHub interface
  - Professional/Intermediate English knowledge for communication and for allowing you to contribute to the Node.js org (As all contributions require communication within GitHub Issues/PRs)
  - The workshop requires you to have a computer (Otherwise, it becomes difficult to collaborate, but tablets are also OK) with an IDE setup, and we recommend VS Code and we recommend the GitHub Pull Requests & Issues Extension for collaborating with Issues and Pull Requests straight from the IDE.

The following themes will be covered during the workshop:
- A recap of some of GitHub UI features, such as GitHub projects and GitHub Issues
- We will cover the basics of Open Source and go through Open Source Guide
- We will recap Markdown
- We will cover Open Source governance and how the Node.js project works and talk about the OpenJS Foundation
  - Including all the ways one might contribute to the Node.js project and how their contributions can be valued
- During this Workshop, we will cover Issues from the nodejs/nodejs.dev as most of them are entry-level and do not require C++ or deep technical knowledge of Node.js.
  - Having that said, we still recommend enthusiast attendees that want to challenge themselves to "Good First Issues" from the nodejs/node (core repository) if they wish.
  - We're going to allow each attendee to choose an issue or to sit together with other attendees and tackle issues together with Pair Programming through VS Code Live Share feature
    - We can also do Zoom breakrooms for people that want to collaborate together
  - Claudio will be there to give support to all attendees and, of course, answer any questions regarding Issues and technical challenges they might face
  - The technologies used within nodejs/nodejs.dev are React/JSX, Markdown, MDX and Gatsby. (No need any knowledge of Gatsby, as most of the issues are platform agnostic)
- By the end of the Workshop, we'll collect all (make a list) the contributors who successfully opened a Pull Request (even if it's a draft) and recognise their participation on Social media.
Introduction to WebXR with Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
86 min
Introduction to WebXR with Babylon.js
Workshop
Gustavo Cordido
Gustavo Cordido
In this workshop, we'll introduce you to the core concepts of building Mixed Reality experiences with WebXR and Balon.js.
You'll learn the following:- How to add 3D mesh objects and buttons to a scene- How to use procedural textures- How to add actions to objects- How to take advantage of the default Cross Reality (XR) experience- How to add physics to a scene
For the first project in this workshop, you'll create an interactive Mixed Reality experience that'll display basketball player stats to fans and coaches. For the second project in this workshop, you'll create a voice activated WebXR app using Balon.js and Azure Speech-to-Text. You'll then deploy the web app using Static Website Hosting provided Azure Blob Storage.