Inspiration Maps promise certainty: they tell us where we are and what lies ahead. We wanted to turn that promise against the player. Inspired by expedition journals and Lovecraftian cosmic horror, Cartographer’s Dream follows an explorer who falls asleep while drawing his map. His dreams become places he can navigate—but the deeper he explores, the more those places seem aware of him. Our central idea became: What happens when the unknown starts mapping you back?
What it does Cartographer’s Dream is a four-chapter horror adventure built around exploration, unreliable maps and speedrunning. Players sail across a shifting nautical chart, survey a jungle, descend into a sealed first-person cave, and escape an ancient labyrinth. Each chapter changes how the player navigates: familiar routes become unreliable, warnings reveal pieces of the story, and exploration eventually becomes pursuit. The game includes animated cutscenes, environmental lore, adaptive music, chapter selection, multiple endings and an optional speedrun timer—hidden by default to preserve the first playthrough’s atmosphere.
How we built it We built the game in Godot using GDScript, combining 2D cartographic environments with 3D first-person exploration. Our team developed different environments and integrated them through shared systems for progression, timing, settings, interaction and storytelling. Map-reveal shaders make exploration feel like drawing the world into existence, while scripted changes undermine the chart’s reliability. The 3D sections use physical walls and hinged doors, collectible keys, atmospheric lighting, fog and a pursuing creature. We combined procedural geometry, custom visuals and credited external assets, then connected the chapters with animated narrative sequences and layered audio.
Challenges we ran into Our biggest challenge was making independently developed levels feel like one coherent game. Controls, transitions, objectives and visual direction had to work together across both 2D and 3D. We also had to balance horror with speedrunning. Players need readable routes and responsive controls, but too much information removes uncertainty. Optional timing, environmental clues and escalating sound helped us support both approaches. Testing exposed practical issues, including door collisions and a paper-reading overlay that trapped the player’s view. We corrected these with physical movement tests and a dedicated reader featuring explicit dismissal controls.
Accomplishments that we're proud of We’re proud of completing four distinct, connected chapters rather than relying on a single repeated mechanic. The transition from navigating a paper map to being trapped inside a first-person labyrinth gives the story a playable progression. Lore is discovered through beacons, survey notes and cave paintings rather than delivered only through exposition.
What we learned We learned that horror depends as much on restraint as spectacle. Silence, an unexpected route change or something appearing where it should not be can create tension without constant jump scares. We also learned that testing a function is not the same as testing a player’s experience. A door can appear to open correctly while its collision still blocks the way. Testing movement and actual input helped us find problems that simpler checks missed. Most importantly, we learned to make the theme part of the gameplay: the map is not decoration—it is the player’s tool, their source of confidence, and eventually their trap.
What's next for Cartographer’s Dream Our next priorities are broader human playtesting, difficulty balancing, performance improvements and standalone builds that are easier to launch. We would also like to refine creature animation and sound design, expand environmental storytelling, and develop more route choices for speedrunners—while preserving the uncertainty that makes the first expedition unsettling.
Log in or sign up for Devpost to join the conversation.