System · In Lumen, Orbit and Wordly
Results and Rewards
The moment after every run.
The end of a run is where players decide to go again. This is that moment, built once: the score counts up, stars land one at a time with sound and haptics, a new best gets its stamp, and rewards fly into the wallet. The same timing drives the payout for time away. Our games show it as a sealed experiment, a ship's log and a fired tile.
Real captures from the iOS Simulator: one GameResults, worn in 3 different Skins.
You download GameResults once, with plain screens. Skins are their own downloads.
What you get
- Results screen with score, stars, best and rewards
- A beat timeline for count-ups, stars and stamps
- New best detection and Game Center submission
- Welcome back payout for time away
- Optional double-up hook for your rewarded ad SDK
Screens
- Results
- New best
- Reward reveal
- Welcome back payout
- Level failed with retry
Underneath
- Score, stars and best from one result value
- Reward grants into the wallet
- Offline earnings with a cap and an efficiency
- Leaderboard and achievement submission
- Skip on tap without losing a reward
import GameResults
let result = RunResult(score: 43_700, best: save.best, stars: 3,
rewards: [.coins(120), .item("lamp", 1)])
ResultsScreen(result)
.onRewards { save.add($0) } // granted once, even if skipped
.onDouble { await ads.showRewarded() } // optional, your SDK
.onNext { flow.go(.nextLevel) }- Screens5 screens and sheets
- Swift479 lines in 6 files
- Tests8 tests
- RequiresiOS 17.0, Swift 6
The hard parts, already inside
- Beat timeline with skip
- Haptics and sound on every beat
- Offline time on a guarded clock
- Atomic saves
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
- One result value for score, best, stars, rewards and stats, with new best detection.
- A beat timeline for the count-up, stars, stamp and rewards that skips on tap without losing a reward.
- Offline earnings with a cap and an efficiency, on a clock that ignores being wound back.
- Game Center score and achievement submission.
- Results, new best, reward reveal, welcome back and level failed screens, 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
Progression
Maps, charts and logbooks from one model.
Levels, stars, unlocks and stats, with a level map and a record screen that take your game's look.
In Lumen, Orbit and Wordly