System · In Lumen, Wordly and Orbit
Daily and Streaks
A reason to come back tomorrow.
The daily is the habit loop: one puzzle or run a day, the same for every player, a streak to protect and a result to share. It rolls over at local midnight everywhere, survives time zone trips, sells or grants streak freezes, and prints the emoji grid people paste into chats. Lumen's daily commission and Wordly's puzzle run on it, and Orbit sells the freeze in its shop.
Real captures from the iOS Simulator: one GameDaily, worn in 4 different Skins.
You download GameDaily once, with plain screens. Skins are their own downloads.
What you get
- Today's challenge, seeded the same for everyone
- Streaks with freezes that survive time zone travel
- A countdown to local midnight and a reminder hook
- A share card with the emoji grid
- A Home Screen widget for today's state
Screens
- Daily card with countdown
- Streak calendar
- Streak saved by a freeze
- Share card
- Widget
Underneath
- A day number that rolls at local midnight
- Seeds that never change across devices
- Streaks, bests and freezes
- Reminder scheduling
- Share text
import GameDaily
let daily = Daily(name: "Wordly", epoch: "2026-01-01")
var rng = daily.random(salt: "wordly") // same for everyone today
let answer = rng.pick(answers)! // fixed forever, unlike randomElement
daily.streak.record(won: true) // freezes and time zones handled
DailyCard(daily) // countdown to local midnight
let share = daily.shareText(rows: marks)- Screens5 screens and sheets
- Swift674 lines in 10 files
- Tests17 tests
- RequiresiOS 17.0, Swift 6
The hard parts, already inside
- Seeded random that never changes
- Local-midnight day clock
- Streak freezes across time zones
- Share grid
The screens are written once and read your game's theme: colours, type, panels, buttons and sounds. Set a Skin, or your own theme, and the whole system changes with it.
Changelog
0.1.0 · 2026-10-30
- Day numbers that roll at local midnight, on the Gregorian calendar everywhere.
- Seeded random that gives every player the same challenge and never changes between OS releases.
- Streaks with bests, freezes, a calendar history and a grace day for time zone travel.
- Share text with an emoji grid, a widget snapshot and a reminder scheduler.
- Daily card, streak calendar, freeze banner, share card and widget views, drawn from the game's skin.
More systems
Shop and Currency
One shop, every game.
A StoreKit 2 shop with currencies, packs, offers and restore, as screens that take your game's look.
In Orbit and Wordly
Results and Rewards
The moment after every run.
Score count-ups, stars, new bests, reward grants and the welcome back payout, timed beat by beat.
In Lumen, Orbit and Wordly