User Story
As a Wikipedia reader, I want to be able to play a daily game about events in history, so that I can pass time and have fun while learning.
Requirements:
- Splash screen
- ✅ On open of game, show splash screen with CTAs to "Play today's game" and "About this game"
- "About this game" leads to mediawiki page for the game
- Animations
- ✅ When each question loads, transition in the Title, then first card, then second card
- ✅ After a user taps "Next", cards should transition away
- Card functionality
- ✅ User must be able to read entire text within card: if event text is too long to fit in the card, show scrollbar so users know they can scroll to see the full text
- ✅ Display an image on the card whenever possible: Pull lede image from first hyperlink, if none query second, third, etc. if none pull from body (check in the same order)
- ✅ Once a card is selected, show option to Submit at the bottom of the screen
- Answer reveal
- ✅ After answer is submitted, immediately display feedback "Correct!" vs "Incorrect!"
- When the correct answer to the question is revealed, keep showing the "selected" state
- ✅ Display the correct dates on each card
- ✅Indicate the correct answer with color & icon, and incorrect answer with color & icon. Must be color-blind friendly
- Results tracking
- ✅ Track the results from previous questions at the bottom of the screen
- ✅ Update the current question's bubble immediately during answer reveal
- Game content
- ✅ Source 5 questions based on "On this day" from the Wikipedia Mainpage of the user's primary language.
- Ideally these are the same 5 questions that the Android app uses [update: they are not the same, not possible unless we rewrite the game to be server-side instead of client-side]
- Update the game with 5 new questions at the same time Android does every night
- If there are not enough events for that day's game due to community constraints, gracefully show an error that lets users know the game is not available that day (completed on T426782: [User story] Suppress Games entry point if error on game (Phase 1))
- ✅ Source 5 questions based on "On this day" from the Wikipedia Mainpage of the user's primary language.
- Pausing the game
- ✅ If a user navigates away without finishing their game, their progress should be automatically saved
- ✅ If they return to the game, show the Splash screen (mid-play) version with a CTA to "Continue playing"
Note: Overflow menu is on separate task T422889: [User story] Overflow menu in Game play and results screen
Designs
splash screen
card functionality
when selected, show submit
incorrect answer
correct answer
returning post-pause
not enough content for the day
for animations, refer to game as implemented in the android app.
Testing Notes
Can be tested in TestFlight 8.2.0 (latest build).
Explore entry point is feature-flagged behind a "Show Games Version 1" developer setting. Once the toggle is enabled, you should see the card in the Explore feed.
There is a "Clear games persistence" button as well, which wipes out the saved game data. This allows you to re-test Today's game without reinstalling the app.