03 — Indie Game Studio

Hollow
Moth
Studios

A 3-person studio with a gothic 2D metroidvania in early access on Steam. Strong game. No web presence beyond the store page. Built a site that belongs in the game's world.

Indie Game Studio Next.js · Discord API · Cloudflare Pages
The problem

Serious game.
No web presence.

Hollow Moth Studios had built something genuinely compelling — a gothic metroidvania with rich lore, a detailed world, and a growing community in early access. What they didn't have was anywhere to send a journalist, a streamer, or a curious player that wasn't the Steam page. No lore deep-dive. No press kit. No devlog. Nothing that communicated the depth of the world they'd built. The site needed to feel like it was made by the same people who made the game.

What was built

A site that belongs
in the game's world.

01
Marketing Site

Animated hero with hand-drawn texture overlay, lore deep-dive section, devlog (CMS-managed), and a press kit accessible from every page. Hand-drawn textures layered over digital — distressed display type that feels like it belongs in Ashenveil.

02
Interactive SVG World Map

12 regions built in custom SVG. Each region reveals on hover: region name, faction allegiance, lore snippet. Fully navigable. Built in plain Next.js without a mapping library — custom interaction logic throughout.

03
Discord Integration

Live member count and latest devlog auto-pulled to homepage via Discord API and webhook pipeline. Updates without a deploy. Community feels alive from the first page load.

04
Full Press Kit System

Dedicated press page with downloadable key art, screenshots, logos, one-sheet, and fact sheet. Everything a journalist or content creator needs, accessible without an email. Updated through the CMS.

Interactive world map

12 regions.
Each one with a story.

Custom SVG built without a mapping library. Each region is an independently interactive polygon — hover reveals a lore snippet and faction tag pulled from the CMS. The map isn't a decoration. It's a navigation layer for the lore section.

World map — hover to reveal region lore
Ashenveil
Starting zone
Fog-choked marshlands where the Pale Court first appeared. The ground remembers.
The Hollow
Central hub
Last neutral ground in the conflict. Three factions. One uneasy truce.
Cinderhold
Ruins
What remains of the old empire. The towers still stand. The people did not.
Thornspire
Fortification
Pale Court stronghold. No one enters twice who entered once.
Veildrift
Passage
The only safe route between Ashenveil and the upper reaches. Usually.
The Ossuary
Dungeon
Built over three centuries. Expanded below ground. Nobody knows how deep.
Ravenscroft
Settlement
The last place that pretends normalcy exists. It doesn't, but they try.
Mirrorlake
Anomaly
The water reflects things that aren't there. Travelers avoid it. Scholars don't.
Ironfen
Industrial
The machines still run. No one is sure who tends them now.
Pale Spire
Late game
Where the conflict ends. Or begins again. That part is up to you.
The Gloaming
Hidden area
Not on any official map. You find it when you're ready. Sometimes before.
Root Deep
Underground
The oldest part of the world. The roots remember what the surface forgot.
Discord integration

Live community.
No manual updates.

Discord API integration pulls live member count and the latest devlog entry directly to the homepage. A webhook pipeline handles updates — when the devlog drops, the site updates without a redeploy. The community feels active from the moment someone lands on the page.

Homepage — live Discord stats block
14,821
Discord members
2,104
Online now
v0.9.4
Latest build
Press kit system

Everything a journalist
needs. In one place.

No email required. No "reach out for assets." Everything downloadable from the press page — key art at multiple sizes, in-game screenshots, studio and game logos, a one-sheet, and a fact sheet. All updated through the CMS when assets change.

Press kit page — downloadable assets
JPG
Key Art — Horizontal
3840 × 2160 · 12.4 MB
PNG
Game Logo — White
SVG + PNG · Transparent
ZIP
Screenshots — 12 Pack
1920 × 1080 · 48 MB
PDF
One-Sheet
Game summary + key facts
Stack
Next.js Custom SVG interactions Discord API Cloudflare Pages Sanity (devlog CMS) Tailwind v4
Depth markers

Building a game
that deserves a real site?

Book a Quick Call