Rogule: Tales From the Dungeon of a Web Based Rogulelike

Rate this content
Bookmark
Rogule is a minimalist online roguelike game played directly in the browser. It features turn-based strategic gameplay, grid-based movement, and permanent death of the player character. The game is unique due to its use of emojis, fast gameplay, and simple user experience. Rogule gained popularity after being shared on the web game subreddit, attracting 135,000 players in just a few days. The developer emphasizes the importance of marketing, frugality in development, and using the right technology for fast development. ClojureScript is highlighted as a preferred technology due to its speed and efficiency. The talk also mentions the use of Piku for deployment and SQLite for low-maintenance databases. Rogule is inspired by Wordle and was built during a seven-day roguelike jam.

From Author:

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.

This talk has been presented at JS GameDev Summit 2023, check out the latest edition of this Tech Conference.

FAQ

Chris McCormick is an independent software developer, known for building online micro businesses, web-based games, and procedurally generated music and music apps.

Roguel is a minimalist online roguelike game you can play in your browser. Players control an elf moving around a dungeon, hacking at monsters, picking up items, and trying to find a shrine to ascend.

Roguel differs from traditional roguelikes in several ways: it uses emojis, sessions last around one minute, there is no inventory management as items are used automatically, and it has only one level with no descending deeper into the dungeon.

Roguel gained popularity after Chris McCormick posted about it on the web game subreddit. It then hit number 1 on Hacker News, was re-tweeted by the Github Twitter account, and got written up in a popular Japanese online magazine.

Key features of Roguel include turn-based strategic gameplay, minimalist design, fast sessions (around one minute), no inventory management, and a single dungeon level. Each day presents a new dungeon that all players experience.

Turn-based strategic gameplay is important in Roguel because it provides space for players to think, removing the stress of real-time action and creating a calmer game experience.

Roguel was inspired by a seven-day roguelike jam in early 2022 and an interview with Wordle creator Josh Wardle. Chris McCormick aimed to apply some of the principles from Wordle to a roguelike game.

Chris McCormick approaches frugal development by minimizing features, building projects by himself, using technology that allows him to move fast (like ClojureScript), reusing assets and code, and deploying everything on a single VPS with tools like Piku and SQLite.

Piku is an open-source platform as a service that Chris McCormick uses to deploy his apps. It allows for simple git-based deployments and handles environment setup, dependency installation, and SSL provisioning.

Chris McCormick plans to add new features, items, monsters, and possibly new worlds to Roguel. He is also exploring ways to make Roguel a financially sustainable project without compromising its core experience.

Chris McCormick
Chris McCormick
19 min
28 Sep, 2023

Comments

Sign in or register to post your comment.

Video Transcription

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
PlayCanvas is an open-source game engine used by game developers worldwide. Optimization is crucial for HTML5 games, focusing on load times and frame rate. Texture and mesh optimization can significantly reduce download sizes. GLTF and GLB formats offer smaller file sizes and faster parsing times. Compressing game resources and using efficient file formats can improve load times. Framerate optimization and resolution scaling are important for better performance. Managing draw calls and using batching techniques can optimize performance. Browser DevTools, such as Chrome and Firefox, are useful for debugging and profiling. Detecting device performance and optimizing based on specific devices can improve game performance. Apple is making progress with WebGPU implementation. HTML5 games can be shipped to the App Store using Cordova.
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
Remix Flat Routes is a new convention that aims to make it easier to see and organize the routes in your app. It allows for the co-location of support files with routes, decreases refactor and redesign friction, and helps apps migrate to Remix. Flat Folders convention supports co-location and allows importing assets as relative imports. To migrate existing apps to Flat Routes, use the Remix Flat Routes package's migration tool.
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
This Talk explores the use of Babylon.js and WebXR to create immersive VR and AR experiences on the web. It showcases various demos, including transforming a 2D game into a 3D and VR experience, VR music composition, AR demos, and exploring a virtual museum. The speaker emphasizes the potential of web development in the metaverse and mentions the use of WebXR in Microsoft products. The limitations of WebXR on Safari iOS are discussed, along with the simplicity and features of Babylon.js. Contact information is provided for further inquiries.
Making Awesome Games with LittleJS
JS GameDev Summit 2022JS GameDev Summit 2022
34 min
Making Awesome Games with LittleJS
Little.js is a super lightweight and fast JavaScript game engine that has everything included to start making games right away. It has a tiny footprint and no dependencies, making it perfect for size-coding competitions like JS13K. Little.js is built with an object-oriented structure and comes with several classes. It provides a fast rendering system, a comprehensive audio system, and various starter projects for different game types. Little.js is designed to be simple and easy to understand, allowing you to look at and modify the code.
How Not to Build a Video Game
React Summit 2023React Summit 2023
32 min
How Not to Build a Video Game
Watch video: How Not to Build a Video Game
The Talk showcases the development of a video game called Athena Crisis using web technologies like JavaScript, React, and CSS. The game is built from scratch and includes features like multiple game states, AI opponents, and map editing. It demonstrates the benefits of using CSS for game development, such as instant load times and smooth transitions. The Talk also discusses optimizing performance, supporting dark mode, and publishing the game to other platforms.
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!
The Talk discusses ways to boost the performance of WebGL Unity games, including issues with bundle size, memory usage, and runtime performance. It suggests using Brotli for compression and non-exception support for better performance. Choosing the appropriate texture compression format and experimenting with separate builds can also help. The Talk also covers optimizing textures, models, audio, and assets by reducing build size, using compression, disabling unnecessary models, and optimizing audio quality. Unity's optimization tools and profilers are recommended for analyzing performance and memory issues.

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.
Integrating LangChain with JavaScript for Web Developers
React Summit 2024React Summit 2024
92 min
Integrating LangChain with JavaScript for Web Developers
Featured Workshop
Vivek Nayyar
Vivek Nayyar
Dive into the world of AI with our interactive workshop designed specifically for web developers. "Hands-On AI: Integrating LangChain with JavaScript for Web Developers" offers a unique opportunity to bridge the gap between AI and web development. Despite the prominence of Python in AI development, the vast potential of JavaScript remains largely untapped. This workshop aims to change that.Throughout this hands-on session, participants will learn how to leverage LangChain—a tool designed to make large language models more accessible and useful—to build dynamic AI agents directly within JavaScript environments. This approach opens up new possibilities for enhancing web applications with intelligent features, from automated customer support to content generation and beyond.We'll start with the basics of LangChain and AI models, ensuring a solid foundation even for those new to AI. From there, we'll dive into practical exercises that demonstrate how to integrate these technologies into real-world JavaScript projects. Participants will work through examples, facing and overcoming the challenges of making AI work seamlessly on the web.This workshop is more than just a learning experience; it's a chance to be at the forefront of an emerging field. By the end, attendees will not only have gained valuable skills but also created AI-enhanced features they can take back to their projects or workplaces.Whether you're a seasoned web developer curious about AI or looking to expand your skillset into new and exciting areas, "Hands-On AI: Integrating LangChain with JavaScript for Web Developers" is your gateway to the future of web development. Join us to unlock the potential of AI in your web projects, making them smarter, more interactive, and more engaging for users.
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.
Tiny Game Live Coding Workshop
JS GameDev Summit 2023JS GameDev Summit 2023
115 min
Tiny Game Live Coding Workshop
Workshop
Frank Force
Frank Force
Dive into the captivating world of micro-game development with Frank Force in this interactive live coding workshop. Tailored for both seasoned developers and curious newcomers, this session explores the unique challenges and joys of creating games and demos with extreme size constraints.