Inspiration
We wanted to flip the tower-defense formula: instead of defending a base, you are the infestation. Heliosylva (“sun-forest”) grew from that idea—a lush world where insects march toward a sacred Tree of Life, and the “towers” are the garden fighting back. Nature vs. nature felt more interesting than another generic alien siege, and it gave us a clear visual identity: sunshine groves that darken into a cave act as the campaign escalates.
What it does
Heliosylva.
You play on an isometric map across 20 waves. Between assaults you draw a path from spawn to the Tree of Life (hammer to build, shovel to remove), spend branches to pick and spawn bugs (keys 1–5), then press SPACE to start a timed wave. Enemy flowers, bushes, bees, bats, and more defend the tree; poison bushes damage bugs that reach their center and keep hurting them after they leave. Hold V to see routes through obstacles. Beat every wave to destroy the tree—or lose if time runs out or your assault fails. The run moves from a bright sunshine stage into a cave chapter, with settings, instructions, surrender, cutscenes, and music volume you control in-game.
How we built it
The game is Python + Pygame, with a large main.py driving the loop, combat, and UI, maps.py for wave-based level grids, and start_screen.py for the animated title menu. We use isometric math for tile placement, path editing, mob movement along waypoints, and depth-sorted drawing. Original pixel art lives in towers/, mobs/, assets/, and buttons/; towers have idle/attack animation states. Audio uses pygame.mixer for looping background music and lightweight procedural SFX. UI is mostly image-based (settings pages, books, HUD) with tuned click hitboxes and a shared text instructions panel. Stage visuals (sky, cave, tree/willow portraits) swap as waves progress.
Challenges we ran into
Isometric alignment—getting mobs, paths, tower ranges, and bush poison zones to feel fair on a diamond grid took a lot of tuning (including sprite-based bush hitboxes instead of full tiles). Inverted TD balance was tricky: branches, mob costs, wave timers, and tree health all had to stay tense without feeling unfair. UI hitboxes on hand-drawn settings art required manual offsets and debug outlines. We also hit classic jam issues: cache invalidation (instructions overlay crashing after resize), audio path handling across formats, and keeping two settings UIs (main menu vs. in-game) consistent while sharing volume and instructions logic.
Accomplishments that we're proud of
A complete playable loop: menu → 20-wave campaign → victory/defeat cutscenes. The role reversal reads quickly—“you are the wave” is obvious in the first minute. We’re happy with stage progression (sunshine to cave), poison bush gameplay (contact at bush center, lingering damage + VFX overlay), and polish touches like path preview with V, hammer/shovel edit mode, Script of Life / Book of Evil UI, and synchronized music volume with the on-screen sound level. Shipping readable instructions and dismissible overlays (click / Esc) made the game much easier to judge in a jam setting.
What we learned
How much feel comes from small systems: pivot-correct drawing, mob bobbing, floating damage numbers, and audio tied to game state. We learned to centralize layout constants (hitbox offsets, scales) early—saving hours when art changed. Sticky debuffs (poison that persists) are simpler and more satisfying than “only while standing on a tile.” For a jam, one strong mechanic (path building + spawn timing) beats ten half-finished ones.
What's next for Heliosylva
More mob and tower variety, clearer credits flow, and balancing passes on later waves. We’d like stronger onboarding (briefing tied to the new instructions), save/resume, and more juice—particles, bush poison animations, tower telegraphs. Multiplayer or daily challenge seeds could fit the path-building core. Longer term: a mobile-friendly UI pass and a tighter narrative linking sunshine and cave acts if we keep building the world after the jam.
Credits
Music: https://www.youtube.com/watch?v=5bn3Jmvep1k&list=RD5bn3Jmvep1k&start_radio=1
Instruction to Download Game
To play the game, download the file Heliosylva.exe and then simply play!

Log in or sign up for Devpost to join the conversation.