DEV Community

Nithish
Nithish

Posted on

June Jubilee - An iOS Arcade Game

June Solstice Game Jam Submission

Hey DEV community! I'm Nithish. I built June Jubilee, a touch-first iOS arcade game made with SwiftUI and SpriteKit for the June Solstice Game Jam. It is inspired by the June solstice and the many celebrations, histories, and moments of joy that June holds.

This is a submission for the June Solstice Game Jam.


What I Built

June Jubilee is an iOS arcade game where you guide a small keeper of light through a night sky full of falling June celebrations.

The goal is simple:

  • Collect celebration tokens.
  • Avoid shadow orbs.
  • Keep the solstice meter balanced between night and day.
  • Score as high as possible before time runs out.

The game uses June as more than a visual theme. Each celebration changes how the game plays:

  • Solstice tokens stretch the day side of the balance meter.
  • Pride tokens reward confident streaks.
  • Juneteenth tokens restore harmony by recentering the solstice meter.
  • Alan Turing tokens open a timed binary cipher challenge.
  • Soccer, sushi, and flip-flop tokens bring in the lighter, playful side of June.

The result is a small arcade game about holding many kinds of June light at once.


Connection to the June Theme

The June solstice is a turning point: longest day for one half of the world, shortest day for the other. I wanted that idea of balance and transition to become the core mechanic.

That is why the game has a Solstice Balance meter. Collecting different tokens pushes the meter toward day or night, and players earn better scores when they keep it near the center. It is a mechanical reminder that June contains contrast: celebration and reflection, history and joy, light and shadow.

The game also honors several June celebrations:

  • Pride Month, through streak-based celebration tokens and bright identity-centered scoring.
  • Juneteenth, through harmony-restoring tokens that represent liberation, resilience, and joy.
  • Alan Turing's June birthday, through a code-breaking mechanic inspired by binary logic and early computing.
  • World Cup energy, International Sushi Day, and National Flip-Flop Day, through playful tokens that keep the game lively.

Features

  • Built for iOS with SwiftUI and SpriteKit
  • Touch-drag movement for fast mobile play
  • Falling celebration tokens with different scoring and balance effects
  • Solstice day/night balance meter
  • Shadow hazards that break streaks and disrupt balance
  • Timed 90-second arcade loop
  • Best score saved locally with UserDefaults
  • Animated SpriteKit particles and falling starfield
  • End screen with final score and replay button
  • Alan Turing binary cipher bonus mechanic

Video Demo

Code

June Jubilee

June Jubilee is a touch-first iOS arcade game made for the June Solstice Game Jam. The player guides a small keeper of light through falling June celebrations, collecting as many as possible while keeping the solstice meter balanced between day and night.

Theme Fit

The game treats June as a constellation of transitions and celebrations:

  • Solstice tokens stretch the day and challenge the player to restore balance.
  • Pride tokens reward streaks and celebrate authenticity.
  • Juneteenth tokens recenter the balance meter as a symbol of restoration, liberation, and joy.
  • Turing tokens open a timed binary cipher. The player must collect falling 0 and 1 tiles in the displayed order to crack the code.
  • Soccer, sushi, and flip-flop tokens bring in June's playful global and specific celebrations.

How to Play

Open JuneJubilee.xcodeproj in Xcode, select an iPhone simulator, and run.

  • Drag anywhere on the screen to move the light keeper.

Project name: JuneJubilee-Game

Built with:

  • Swift
  • SwiftUI
  • SpriteKit
  • Xcode

How I Built It

The app is split into a SwiftUI interface layer and a SpriteKit gameplay layer.

Project Structure

JuneJubilee/
├── JuneJubileeApp.swift     — App entry point
├── ContentView.swift        — SwiftUI HUD, start screen, end screen, and game model
├── GameScene.swift          — SpriteKit arcade scene, physics, tokens, hazards, and cipher logic
└── Assets.xcassets          — Asset catalog placeholder
Enter fullscreen mode Exit fullscreen mode

SwiftUI for App Flow and HUD

SwiftUI handles the app lifecycle, scoreboard, solstice balance meter, cipher display, start panel, and final results panel.

The main game state lives in an observable model:

@MainActor
final class GameModel: ObservableObject {
    @Published var phase: Phase = .ready
    @Published var score = 0
    @Published var dayBalance = 0.5
    @Published var timeRemaining = 90
    @Published var streak = 0
    @Published var cipherTarget = ""
    @Published var cipherProgress = ""
}
Enter fullscreen mode Exit fullscreen mode

This made it easy for SpriteKit gameplay events to update the SwiftUI HUD in real time.

SpriteKit for Gameplay

SpriteKit powers the falling tokens, collision detection, particle bursts, touch movement, and hazards.

Each token has a theme, score value, color, symbol, and balance effect. For example, Juneteenth tokens restore the meter to the center, while solstice tokens push the game toward daylight.

case .juneteenth:
    model.dayBalance = 0.5
default:
    model.dayBalance = min(0.98, max(0.02, model.dayBalance + token.kind.dayShift))
Enter fullscreen mode Exit fullscreen mode

That helped make the June theme part of the rules, not just the artwork.

Solstice Balance

The balance meter is the heart of the game. Players get more points when they collect tokens while the meter is close to the center.

let balanceBonus = 1.0 - min(1.0, abs(model.dayBalance - 0.5) * 2.0)
let earned = token.kind.score + Int(balanceBonus * 35) + streakBonus
Enter fullscreen mode Exit fullscreen mode

This creates a nice tension: chasing every token is tempting, but smart players also watch the balance between day and night.


Prize Category

Best Ode to Alan Turing

I am submitting June Jubilee for Best Ode to Alan Turing.

Alan Turing's legacy is represented through a playable code-breaking mechanic. When players collect a Turing token, the game generates a short binary sequence and displays it in the HUD. Then 0 and 1 tiles begin falling into the scene.

The player has to collect the bits in the correct order before the cipher fades.

  • Correct bit: advances the cipher and gives points.
  • Wrong bit: resets the cipher progress and breaks the streak.
  • Completed cipher: awards a large bonus and releases extra June light tokens.

This mechanic is inspired by binary logic, algorithms, and code-breaking. I wanted Turing's presence to be felt through interaction instead of only through text or decoration.

The game also connects Turing to June through Pride Month. Turing was a foundational figure in computing and a gay man persecuted for his identity. Including him in a game about June felt like a way to honor both his intellectual legacy and his human story.


What I Learned

This project reminded me how much a game theme can improve when it becomes a mechanic.

At first, June could have been represented only through colors and token names. But the game became more interesting once each celebration changed the rules: Pride rewards streaks, Juneteenth restores balance, solstice light shifts the meter, and Turing opens a binary challenge.

The biggest design lesson was that small arcade mechanics can still carry meaning when the rules are chosen carefully.


Final Thoughts

June Jubilee is a tiny festival in motion: part solstice balancing act, part celebration collector, part code-breaking sprint.

It is a game about movement, transition, and keeping many kinds of light in harmony.

Happy June, happy solstice, and happy Pride Month!

Top comments (6)

Collapse
 
gamya_m profile image
Gamya

This is such a thoughtful submission! 😊 Love how each token type actually changes the rules instead of just being a skin — the Juneteenth tokens recentering the balance meter as a "restoration" mechanic is a really nice piece of design.
The Turing binary cipher mechanic is a great way to honor the prize category too, especially tying his legacy to Pride through the interaction itself rather than just a text blurb. Great work pulling so many June celebrations into one cohesive system! 🌸

Collapse
 
nithish_59 profile image
Nithish

Thank you so much! 😊 And honestly, credit where it’s due: this submission happened because of your encouragement and push to make it real.
I’m really glad the token mechanics came through, especially Juneteenth as restoration and the Turing cipher as something playable rather than just referenced. Your support helped shape this into a much stronger and more meaningful game.

Collapse
 
gamya_m profile image
Gamya

That genuinely means a lot, thank you! 😊 But the real credit goes to you for actually building it — turning the idea into working mechanics is the hard part. So glad the Juneteenth and Turing pieces landed the way you wanted them to. Excited to see what you build next!

Collapse
 
technogamerz profile image
𝓣𝓱𝓮𝓛𝓪𝔃𝔂 𝓰𝓲𝓻𝓵 ◕⁠‿⁠◕

💗🙌🏻

Collapse
 
nithish_59 profile image
Nithish

Thank you.

Collapse
 
technogamerz profile image
𝓣𝓱𝓮𝓛𝓪𝔃𝔂 𝓰𝓲𝓻𝓵 ◕⁠‿⁠◕

Welcome ❤️🌺