Ponor — A Croatian Folk-Horror Dungeon Crawler for Android & iOS

Mladen Tišljar Mladen Tišljar

Ponor is a first-person horror game set beneath old Rovinj, Croatia — thirteen floors running from the town's paving stones down to the bottom of a pit in the rock. The bura is blowing through the alleys, not one shutter is open and the town is dying in its sleep, and four people go down after whatever is smothering it: a harambaša, a smuggler, a glagolitic nun with her book, and an old man who knows what you pour across a threshold. An in-house project by Designer 2 j.d.o.o. — from the first line of code and every painted room through to release on Google Play and the App Store.

You move a tile at a time and see through the party's own eyes, and the moment something hostile knows where you are, the world stops and takes turns. What sets Ponor apart from a conventional dungeon crawler is that no creature here is simply a bigger number — each one is a rule, and a rule is not solved with a better sword but by working out what you are actually looking at.

  • Thirteen hand-designed floors, from the paving stones of old Rovinj to the bottom of the pit beneath the town
  • Sixteen creatures out of Croatian folklore — mora, vukodlak, vila, utopljenik, ala, karakondžula, bauk, vodenjak and more
  • Every creature is a rule: the mora will not cross salt, only a hawthorn stake keeps a vukodlak down, a vila wants cold iron, light is what wakes an ala
  • Items are the answers and they run out — a handful of salt across a threshold, a hawthorn stake, cold iron, a torch you sometimes have to put out in a hurry
  • Four characters and 41 abilities with no class restrictions: anyone may carry anything
  • Every creature painted by hand and given its own voice; fully localised into Croatian and English
  • Runs with no network connection, no registration and no in-app purchases; your save stays on the device
  • On Android, a deepest-floor leaderboard and four achievements through Google Play Games

I ran the entire cycle on this one myself: dungeon and turn-based combat design, the story and every line of text in both languages, all of the artwork — the sixteen creatures, the wall textures, the character portraits and the icon — plus the audio, the interface layout, the ad integration and the store materials, shooting and cutting the trailer, and finally the release and follow-up on Google Play and Apple's App Store.

Technologies: JavaScript (ES2020), HTML5 Canvas 2D for the first-person view, Web Audio API, the whole game as a single self-contained file with no external libraries; Capacitor 8.5 for the Android and iOS shells, Swift Package Manager on the iOS side, Google Mobile Ads (AdMob) via @capacitor-community/admob, Google Play Games Services for the leaderboard and achievements, the User Messaging Platform for consent, XcodeGen and xcodebuild for the iOS build, and ffmpeg for the trailer.