Розробка мобільної trivia/quiz-гри
Quiz-ігри — жанр з мінімальними вимогами до графіки, але високими до якості контенту та серверної частини. Основний продукт тут — база вопросів та система матчмейкингу, а не рушій.
База вопросів: структура та оновлення
Зберігати вопроси в бандлі додатку — шлях до швидкого застарівання контенту. Правильна архітектура: вопроси на сервері, клієнт завантажує пакети по категоріям через Addressables Remote Content або REST API.
Схема вопроса: { id, category, difficulty (1-5), question_text, answers[4], correct_index, explanation, added_date }. Складність впливає на вибір вопросів у матчі: починаємо з 2–3, підвищуємо при правильних відповідях — адаптивна складність без складного алгоритму.
Локалізація вопросів: Unity Localization Package з LocalizedString не підходить для динамічного контенту. Використовуємо власну систему: вопроси на сервері зберігаються з language_code, клієнт запитує потрібну локаль.
Real-time PvP: синхронізація таймера
Головна технічна складність quiz PvP — синхронізований таймер. Якщо таймер рахується на клієнті, різниця в системних годинах дає нечесну перевагу. Рішення: сервер публікує questionStartTimestamp (Unix ms), клієнти вичисляют залишок часу як deadline - serverTime. Серверний час синхронізується через NTP-подібний механізм при підключенні.
Firebase Realtime Database для матчу з 2 гравців працює добре: match/{matchId}/answers/{userId} — кожен гравець пишет свою відповідь + timestamp. Сервер (Cloud Function) визначає переможця за правильністю та швидкістю.
Для більшого контролю: Photon Realtime з користувацькими Room Properties для стану вопроса.
Щоденні челенджи та retention
Daily challenge з глобальним leaderboard — стандартний retention механізм. Всі гравці отримують одні й ті ж вопроси в один день (seed залежить від дати). Firebase Functions генерує сет вопросів щодня о 00:00 UTC та публікує в Firestore.
Графік: quiz-гра з одним режимом, категоріями вопросів, базовим PvP — 2–3 місяці. З щоденними завданнями, турнірами, системою прокачки профілю — 4–6 місяців.







