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.

Get SwiftPieces Games import GameDaily

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
Usage.swiftSwift 6 · iOS 17.0
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

  1. 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.