What I Built
Midsummer Light is a cozy-but-tense roguelite slot-builder wrapped in a fae-forest fairy tale. I wanted a roguelite I could actually unwind with, all the build-and-synergy satisfaction and none of the combat, so I built the one I wanted to play.
What's a roguelite slot-builder? It crosses a slot machine with a deckbuilder. Each spin rolls your collection of symbols onto a grid, and every symbol pays out based on its own value and how it interacts with its neighbours, a flower beside a bee, three creatures together, a lantern lighting the symbols around it. But you don't just take what the machine gives you: after every spin you draft a new symbol into your pool, so the machine is something you design over the run, steering it toward combos.
The roguelite half is the pressure and the permadeath. Every few spins you owe a rising payment, and the targets climb fast; miss one and the run is over. So you're racing to build a payout engine faster than the costs grow, from a fresh, random start each time. The skill is the opposite of reflexes, it's construction: you thin your pool by removing weak symbols so the good ones land together more often, reroll bad draft offers, and commit to a synergy theme and concentrate it. Luck decides which symbols land where on any given spin, but what you built decides whether that's enough. The joy is taking a dumb slot machine and turning
it into a clever one you made.
In Midsummer, that currency is Light, the rising payments are the twelve tithes, and the synergies are a fae-forest ecosystem, Forest Floor plants that boost their neighbors, Creatures that lift each other, Solar symbols that build toward the longest day.
The light is going out of the world. You are the keeper of the last of it. Every spin rolls a grid of woodland symbols, fireflies, ferns, foxes, mushrooms, fae crystals, and each one earns Light through its own little web of synergies (a Fern boosts adjacent Forest Floor symbols, a Lantern lights its neighbors, a flock of Creatures lifts each other up). You spend that Light to pay a rising schedule of twelve tithes across four seasons, climbing from First Light through Sun's Climb and Golden Sun to Midnight Sun. Reach the longest day with your lantern still lit and you light the great solstice fire and win. Let it gutter and the forest goes dark and cold.
The theme. The whole game is the solstice. It's a deliberate ascent to Midsummer, the longest day: the seasons climb toward it, the win condition is literally lighting the solstice fire, and the world shifts with the calendar, the crystals in the ornate stone frame cross-fade from purple to teal to green to gold as you climb toward the light. It's the June solstice turned into a roguelite about keeping the light alive.
Video Demo
WARNING: I'm terrible at recording walkthroughs. View at your own risk.
Playable Demo (works in web or mobile)
Code
Github Repo
Full theme song with lyrics: https://suno.com/s/07hTiKGd6L0LYOss
Theme song (instrumental): https://suno.com/s/hcjVsgjU38IBK0OJ
How I Built It
Built in Godot 4 / GDScript with Claude Code as my coding agent, and an AI-assisted pipeline across logic, art, audio, and testing, on top of a hand-verified deterministic core.
- A data-driven scoring engine. Every symbol declares its synergies as data; the engine walks them. Adding or rebalancing a symbol is a data edit, not a code change.
- Test-driven port. I prototyped the logic in React/TypeScript first, then ported the engine to GDScript and proved the port faithful with a language-neutral "golden cases" spec: 20 fixed grids with exact expected scores that both engines must reproduce. When I later switched the board from 5x4 to a portrait 4x5, I transposed the cases rather than re-deriving them, since a transposed grid is the same adjacency graph relabeled, the scores stay identical, and proved it green at the new shape. Zero-regression by construction.
- A Monte Carlo harness simulated thousands of runs to tune the tithe economy and difficulty curve.
- Art: pixel-art symbols generated in PixelLab, the ornate portrait frame and backgrounds in Midjourney (style-referenced off my own assets for consistency), the four season-colored frames hand-edited for a clean cross-fade.
- Audio: an original theme, plus sound effects I generated and hand-trimmed, a soft slot-payout tally, a tithe bell, a looping reel shimmer, UI clicks.
- Game feel: a real slot-reel spin where the columns blur and stop left-to-right, and a two-phase score reveal, the synergies choreograph first (paired symbols bounce together as they "connect"), then a separate tally counts the Light up with a rising "+this spin" counter that banks into your total.
- Mobile-first portrait layout, an Easy/Normal/Hard difficulty selector, and full settings (music, SFX, animation speed, vibration).
The most interesting decision was leaning on AI heavily for the creative surface, art,audio, an animated intro, even prototyping the rules, while keeping the rules engine a small, deterministic, test locked thing I could trust. The fun parts could be generated; the fair parts had to be proven.
I have zero artistic skill and the use of AI allowed game development to become accessible to me.
What's Next
I only discovered this challenge about 10 days ago, so this is a lot built in a short sprint, and while the jam build is already a complete, winnable game, it's deliberately a foundation with plenty still on my list to finish. The engine is data-driven and test-locked precisely so it can keep growing.
On the roadmap:
- Items and Elixirs: a whole second layer of builds, consumable items and symbol-upgrading elixirs, is designed and stubbed but not yet live. This is the next big jump in depth.
- The sun rises toward the solstice: a mechanic where Solar symbols grow stronger as you climb toward Midnight Sun, so the ascent escalates both thematically and mechanically.
- A living frame: the fairy returning as an animated sprite drifting over the border,fuller narrative beats between each season, and more reactive sound.
- A deeper roster: more symbols and proper producer/consumer/transform synergy chains for richer, more surprising combos.
- Meta-progression: turning a single run into a climbable series of nights, plus daily seeded runs to share and compete on.
Prize Category
Best Google AI Usage. I leaned on Google Gemini hard for the game's entire creative surface. The animated opening cinematic, a slow drift through a dark enchanted wood where a single lantern light blooms back against the dark, was generated with Gemini, with the title overlaid crisply in-engine on top. I also used Gemini to write the prompts for the original theme music, and reached for it throughout as my go-to for generative creative assets, it's one of the best tools out there for that, and it ended up shaping the whole look and sound of the game.
Top comments (0)