A daily print-and-play roguelike adventure you can play offline.

Overview

Chronicles of Stampadia

A print-and-play roguelike with a new adventure every day!


The story

The reign of Stampadia had thousands of years of history of dangerous places and brave mercenaries before disappearing mysteriously from our globe. But Stampadia monks, generation after generation, managed to document relentlessly the story of every single adventurer, the map of every single dungeon, and the clue of every single mystery in a huge tome called Chronicles Of Stampadia.

We managed to find a damaged copy in an abandoned basement and it looks like that the book is imbued with some kind of magic: the reader can live every page of its story with just two dice, an eraser, and a small token! We’re trying to recover, translate and digitalize a new page of this book every day at kesiev.com/stampadia. Go there, download the daily page, and bring back to life the story of a brave Stampadian!

Play online

No printer or tokens? You can play Stampadia with a virtual pencil, eraser, some tokens, and dice here.

The game

Chronicles of Stampadia is a print-and-play adventure with a little twist: the map, the enemies, the quests, the mysteries, and the traps are mixed and generated by an algorithm, as in a roguelike videogame. On the Stampadia homepage you will find a unique dungeon to download, print, and discover every day!

Why?

I've got inspiration from several analog interactive adventures that I have played in the past years, including board games, gamebooks, role-playing games, and small print-and-play games. I find it exceptional how many of them, with some cardboard or a pencil and a squared sheet, manage to offer complex, interactive, and engaging adventures, sometimes able to reach and overcome the most famous video games.

In my little and strictly amateur study of this game genre, I noticed that there are two common, difficult, and interesting design problems to face to create one of these: randomness control and hidden information management.

Many games implement progressive dungeon generation to convey that sense of discovery and unexpectedness: the classic Dungeonquest uses the random drawing of a dungeon tile from a pile, the fantastic Four Against Darkness uses dice rolls and a lookup table to decide the next room, and Gloomhaven's random dungeon generator uses a deck of cards to pick rooms and variants.

The Four Against Darkness dungeon generator uses two dice and a lookup table

These techniques, even the simplest ones, often succeed in their intent and are even able to generate interesting layouts but they also often need to introduce specific rules to manage the randomizer edge cases, one over all the formation of dead ends: in Dungeonquest, for example, the player can always look for a secret exit if he's stuck in a dead-end and Four Against Darkness asks the player to rotate and cut a room until it fits in the map.

Furthermore, these techniques hardly allow the addition of side-quests or complex main quests, mostly because the extraction and position of specific map modules are hard to guarantee: among the different narrative techniques of its modules, Four Against Darkness also has a fantastic sub-quest system that accompanies the heroes between different plays to get around the problem and improve replayability.

A Heroes Of Terrinoth quest progress every round, regardless the party position on the "map"

Furthermore, discovery is the key element of any good adventure and is rather difficult for a game printed on paper to hide information. Some games use decks of cards constructed face down and shuffled to hide events and places, such as Heroes Of Terrinoth, games that mix all of its contents and rely on player's investigation skills to find the right one, such as Mythos and some cool gamebooks such as Vesta Shutdown and games that simply give up, like colossal masterpieces Gloomhaven, that openly show the entire mission map and the treasure chests and enemies position to players at the very beginning.

The project

Inspired by this creative challenge, I tried to imagine how to hide a pre-generated dungeon that the player can discover room after room like in a video game but on a printed sheet, trying to reduce spoiler opportunities as much as possible in the process. I wanted the solution to be simple and to require at most elementary calculations - possibly only one per room - so I'd be inspired by gamebooks and classic grid puzzles.

Sudoku

Then, I implemented a procedural dungeon generator that was able to mix quests, sub-quests, and traps into the map, as it usually happens in classic roguelike video games. From that games, I decided to take inspiration for the narrative style too, keeping it minimal and dry. I collaborated with several people to write the stories - we put in a little of lore here and there, but I don't want to spoil the surprise.

Rogue

Dungeons may be played a second time to aim for higher scores: knowing what's where increases your chances of surviving and beat the game dramatically and, during the testings, I've found that's a nice feature.

I got inspiration from computer roguelikes for the combat system guidelines too: a simple dice placement mechanic that's not too demanding, that needs some simple decision, and that can generate a tip of tension.

Finally, I wanted the whole adventure to fit into a single A4 sheet. The original idea was to add the manual on that same sheet but it was probably too ambitious.

I hope you find the project as fun as it was for me to put it together!

Font

The game manual and the adventure sheets are using the excellent CC0 font Seshat by Dot Colon. If you're going to have a look at the manual assets/manual/manual.odt and adventure sheet model svg/model.svg make sure you have got the font installed. A copy of the font is included in the assets directory.

You might also like...

Use this project as a tool for remembering your daily tasks, confirming, editing, remove are actions you can do to tasks, your data is saved in the LocalStorage so every time you open or refresh the page all changes will be present.

To-do-list The porpuse for this project is show You, the way how to implement webpack in a project creating a To-Do list in for add a template to crea

Nov 18, 2022

Danger is near (play to earn game, gamefi on near chain testnet) - user play as a fireknight in a PIXELVERSE world who go to forest and kill monster.

Danger is near (play to earn game, gamefi on near chain testnet) - user play as a fireknight in a PIXELVERSE world who go to forest and kill monster.

Danger is near (play to earn game, gamefi on near chain testnet) - user play as a fireknight in a PIXELVERSE world who go to forest and kill monster. User can earn $DANGER token and score to compete with others user.

Dec 30, 2022

NoPrint.js - Disable Print, Screenshot, Copy & Paste in HTML by JavaScript.

NoPrint.js Disable Print, Screenshot, Copy & Paste in HTML by JavaScript. NoPrint.js is a small and neat open source JS library that disables print, s

Dec 26, 2022

Mixed Messages is a simple Node.js application, that will print a randomized fake fact to the terminal each time it is ran.

Mixed Messages - Fake Fact Generator Mixed Messages is a simple Node.js application, That will print a randomized fake fact to the terminal each time

Jan 10, 2022

A vscode extension to quickly print variable, variable type, tensor shape etc by using shortcuts

A vscode extension to quickly print variable, variable type, tensor shape etc by using shortcuts

Quick Python Print This repo is inspired by "Python Quick Print". "Python Quick Print" can quickly print out variables on the console by using shortcu

Oct 28, 2022

print faceit elo into the console/chat via telnet

Print MM Ranks and FaceIT elo ingame This tool uses telnet to interact with the console in CS:GO Description Gets faceit elo via the official faceit a

Sep 20, 2022

Print seat layout for movie, flight (jQuery plugin)

seatLayout.js (movie-seat-layout) Print seat layout for movie, flight and seat selection (jQuery plugin) Demo : https://sachinkurkute.github.io/movie-

Dec 8, 2022

📄 A responsive print preview in A4 format

react-preview-a4 📄 A responsive print preview in A4 format. Table of Contents Installation Examples Demo Installation To install, you can use npm: $

Oct 18, 2022

F-Curator is an offline application that comes at you all day long and curates your own web favorites

F-Curator is an offline application that comes at you all day long and curates your own web favorites

F-Curator F-Curator is an offline application that comes at you all day long and curates your own web favorites. Based on Electron and React technolog

Dec 25, 2022
Comments
  • Diamond of Rombhus: rooms 30 and 33

    Diamond of Rombhus: rooms 30 and 33

    Hello. I printed and played my first Stampadia dungeon yesterday. I managed to find the three diamond parts and defeat the boss, although I had to make use of the Resurrection scroll. Very enjoyable game. Thank you very much for creating this. I watched the YouTube video also which was very explanatory. I did have some trouble understanding the "Gain one HP" mechanism, but going though the manual again I saw it was literally right there. Oops :-)

    Anyhow, I just thought I´d make a comment on the room instructions for room 30. It says that you can go to anywhere in room 33. But by that time you can't have discovered this room yet (I think). This is no biggy by any means, but it may be a little glitch in the algorithm, so it may be in a future scenario.

    I think the line should read: Move [1] & x33 » You vanish into thin air, move anywhere in room 33 And room 33 should then read: Move [1] » You feel dizzy, move anywhere in room 30, x33

    Hope this makes sense. Meanwhile I see a new adventure available. Saviour's Curse!, here I come!

    Thanks again, Rolf

    opened by Roelofpieter 2
  • Remove var, prefer const or let

    Remove var, prefer const or let

    I saw you were using const in some places so I removed every instance of var and replaced it with const or let.

    I'm using eslint to do a lot of these refactoring. Maybe we could do over what would be a good configuration for you and also possible formatting if that interest you.

    I tested locally and everything seems to work.

    opened by FrankBro 1
  • add iPad support for the player

    add iPad support for the player

    This patch changes the player.js to use pointerevents instead of mouse events for broader platform support. The big difference is that pointerevents have a pointerType. The one place I take advantage of that is to exclude "touch" events from drawing lines. Only the mouse or a stylus can do that. This means you can use your fingers (or stylus) to move pieces around, but you have to use a pen to draw.

    The other things happening here are the touch-action: none for the canvas which should prevent gestures (like zoom/scroll) from occuring when interacting with the canvas (you can still scroll on my device by touching outside the canvas), and return false from the event handlers to prevent scroll from starting as well.

    Truth be told, I'm not 100% positive whether or why I need exactly all of these elements to make things work. I tried removing each of them and the solution stopped working so, uh, it is at least empirically correct.

    NOT INCLUDED in this patch (but necessary for playing a full game) is the ability to actually roll the dice. With a mouse, you can right-click to roll dice, but on a tablet there is no right-click button. I haven't figured out how to solve this yet but we're most of the way there with this patch so if it still works for you then please go ahead and merge!

    opened by pvh 0
  • Make eslint happy

    Make eslint happy

    Hi, I'm the guy from reddit. Really love the concept so I'd like to be helpful.

    Added all the fixes needed to make eslint happy but I did not add the globals and exported nor the configuration file, I can add them if you want.

    opened by FrankBro 0
🏃‍♂️Open source, puzzle based adventure game in your browser

??‍♂️ Rungeon Rungeon is an open source, puzzle based adventure game. ?? About Rungeon features a series of puzzles in the form of stages, in which th

null 16 Aug 25, 2022
The website which can help you to organize your daily or weekly activities and review them when you need them. you can add, remove and delete an activity

To Do list To do project is webpack project that list activities someone can do at a specific time In this TO-DO list, you can add or remove you activ

Joffrey NKESHIMANA 5 Jul 21, 2022
Easily open daily notes and periodic notes in new pane; customize periodic notes background; quick append new line to daily notes.

Obsidian daily notes opener This plugin adds a command for opening daily notes in a new pane (so that a keyboard shortcut could be used!) and gives ex

Xiao Meng 16 Dec 26, 2022
A daily activity tracking application that helps to organize your daily tasks and keep track of tasks that have been completed, or yet to be completed.

To-Do-List This is my To-Do List project in the Microverse curriculum. Built With HTML CSS Javascript (Webpack) GitHub Live Demo Live Demo Link Gettin

Hammed Adisa 8 May 7, 2022
A simple daily news, used the api of Zhihu Daily, deployed on Vercel.

Daily News Introduction | 介绍 A simple daily news website, used the api of Zhihu Daily, deployed on Vercel. Inspired by @zkeq/news. 一个简单的,使用知乎日报api的,部署

Lockinwize Lolite 4 Jul 26, 2022
A simple to do list webpage where you can log the daily tasks you have to do, mark them as checked, modify them, reorder them and remove them. Made using HTML, CSS and JavaScript.

To-Do-List This Webpage is for an app called To-Do-List which helps you add, remove or check tasks you have to do. It is a simple web page which conta

Zeeshan Haider 9 Mar 12, 2022
NewsStation is a news app which can be used to grab daily news bites. If you are interested in news whether politics, business, entertainment, general, health, science, sports and technology news NewsStation is for you!

This is a NewsStation WebApp Project Using News API NewsStation is a news app which can be used to grab daily news bites. If you are interested in new

Ravi Chauhan 2 Feb 7, 2022