MCPcopy Index your code
hub / github.com/Lucas-C/undying-dusk

github.com/Lucas-C/undying-dusk @v1.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.2 ↗ · + Follow
470 symbols 1,903 edges 49 files 25 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Pull Requests Welcome build status GPL v3 license

Title

Undying Dusk is a video game in PDF format, with a gameplay based on exploration and logic puzzles, in the tradition of dungeon crawlers.

The game is set in a fantasy realm where a curse set by the Empress keeps the world in an eternal dusk. You play a woman who recently found shelter in an eerie monastery.

It features: - ~ 200 000 PDF pages - retro aesthetics: 160x120 resolution & a 16 colors palette - a grid-based world with 50+ distinct tiles & 10 maps to explore - more than 30 treasure items, weapons & spells to pick up in order to face 15 enemy monsters - 20 music tracks - thousands of "Game Over" pages, and a single path to victory - 4 hidden secrets & a concealed epilogue - an online hall of fame

It was made during the summer of 2020 by Lucas Cimon. To my knowledge, this is the very first video game in a PDF format.

Dedicated SubReddit

Table of contents:

Trailer GIFs

GIF trailer #1

GIF trailer #2

Download

Download the game on itch.io.

Release notes: CHANGELOG.md

For Windows gamers

There is ZIP archive you can download for every version on the GitHub Releases page: it contains the PDF game and Sumatra PDF 3.1.2.

Once the ZIP content is extracted in a folder, you just have to double-click on the LAUNCH_UNDYING_DUSK_IN_SUMATRA.bat file to start the game.

This will allow you to play with the PDF reader that is best compatible with the game, without installing it globally on your computer.

Compatible PDF readers

You will find below a comparison table of how well several PDF readers wil let you play to Undying Dusk. Notably, Adobe Acrobat Reader does not perform well to render the game.

PDF reader: /Criteria Sumatra PDF * MuPDF Xpdf FoxIt Adobe Acrobat Chrome native Firefox native (PDF.js) Javelin3 Slim Utopia Okular
can load the game ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
no visual artifact ✔️ 🤔 ✔️ ✔️ ☹️ ✔️ ✔️ ✔️
follow links ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
fast nav / ok page render time ✔️ ✔️ 🤔 ✔️ ☹️ ☹️ - - - - 🤔
ALT+🡄 "back" key binding ✔️

backspace also works | t must be used instead | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ? | ? | ? | Alt+Shift+🡄 instead; remappable | "back" history size | 50 | 256 | 49 | ❌ | 31 | ❌ | 49 | ? | ? | ? | 99 |

* Please use Sumatra PDF version 3.1.2, that can be download on this page. The latest 3.2 version has difficulties opening Undying Dusk. This should be solved in the next release of Sumatra PDF.

We only recommend PDF readers that meet all of the above criteria.

Questions & edits on this table are welcome through issues & PRs.

Credits & attribution

Heroine Dusk

Undying Dusk is basically a PDF port / total conversion of Clint Bellanger wonderful Heroine Dusk game, with different game mechanics & slightly expanded.

I cannot thank him enough for providing the foundations of this game, under a GPL v3 / CC-BY-SA 3.0 license: high quality Javascript source code of a retro dungeon-crawler game engine, and numerous gorgeous visual assets of tiles, enemies & items. Thank you Clint!

Graphical assets

First of all, this game uses the great 16 color palette made by DawnBringer at PixelJoint.

This game also makes use of the following assets, some of which I ported to the DawnBringer palette: - all the original art was made by Clint Bellanger for the original Heroine Dusk game - CC BY-SA 3.0 - enemies come from Redshrike remix of Heroine Dusk original ones. Seamus wizard, demon & gorgon portraits from his 6 More RPG Enemies spritesheet, black bird from his Tower Defense Prototyping Assets and blowfish from his 3 RPG enemy remixes - all CC BY-SA 3.0 Shadow soul extra frames come from Bosses and monsters spritesheets (Ars Notoria) by Balmer - CC BY 3.0 - most new sprites (direction arrow, items, tiles) come from the awesome Recolor all the items!!! spritesheet by Marcus Ihde - CC-BY-SA 3.0 - bible, fish & scroll 16x16 icons from Kyrise's Free 16x16 RPG Icon Pack - CC BY 4.0 - cloudy town, animated flying demon, prie-dieu, statue, wood box & well from GothicVania Patreon Collection, GothicVania Church assets, GothicVania Cemetery assets, GothicVania Town assets, Forest Background & Mountain at Dusk Background by Luis Zuno (@ansimuz) - public domain - forest fringe & valley village backgrounds by trulio - CC BY 3.0 - !$dungeon Of Sorrow Gate & !$Secret Passage by Nicnubill - portcullis from LPC castle by Evert - CC BY 3.0 - cauldron & fire from [LPC] Dungeon Elements by Sharm - CC BY 4.0 - Boulder pixel art by TdeLeeuw - CC BY-NC-SA 3.0 - portal by LetargicDev - CC0 - dead tree by JRob774 - CC BY 3.0 - health bar from Buch Golden UI - CC0 - torch on wall from Blackspire studio Medieval PixelArt assets - small amulet & magnifying glass from DawnLike 16x16 Universal Rogue-like tileset by DragonDePlatino - CC BY 4.0 - distant castle background by jkjkke - CC BY 3.0 - palace hall & ruins background from CraftPix.net 2D Game Assets - OGA-BY 3.0 - Dominik portrait from Blarumyrran faceset 2-bit - CC0 - Seamus portrait from RPG portraits by Buch - CC0 - Monk from Oracle Portrait by Justin Nichol - CC BY-SA 3.0 - Monk portrait from Wizard by lylfDW - CC0 - small storm dragon by Sharm - CC BY 3.0 - open book by Min - CC0 - stump made from Snake on an old stump by Angry Amish - CC0 - hangman from Fantasy Tiles by surt - CC0 - Temple background by Ironthunder - CC BY 4.0 - boat from Mythical Ruins Tileset by voec - CC0 - knight from Dungeon Crawl 32x32 tiles - CC0 - other knight from [2d Lost Garden Zelda style tiles resized to 32x32 with additions](https://opengamea

Core symbols most depended-on inside this repo

bitfont_render
called by 116
pdf_game/bitfont.py
new
called by 66
pdf_game/entities.py
image
called by 58
pdf_game/reducer.py
_GameView
called by 48
pdf_game/visit.py
log
called by 36
pdf_game/logs.py
mapscript_add_trigger
called by 35
pdf_game/mapscript.py
with_tile_override
called by 20
pdf_game/entities.py
info
called by 19
pdf_game/js.py

Shape

Function 326
Method 93
Class 50
Route 1

Languages

Python100%

Modules by API surface

pdf_game/entities.py73 symbols
pdf_game/mod/campaign.py55 symbols
pdf_game/mod/scenes.py36 symbols
pdf_game/js.py28 symbols
pdf_game/mapscript.py25 symbols
pdf_game/reducer.py21 symbols
pdf_game/mod/world.py15 symbols
trailer/scenes.py14 symbols
pdf_game/render.py14 symbols
pdf_game/reducer_test.py11 symbols
pdf_game/logs.py11 symbols
trailer/img_as_pdf.py10 symbols

For agents

$ claude mcp add undying-dusk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page