Перейти до вмісту
klyogames

Що додаєш?

Один акаунт і для гравця, і для розробника. Дописи й кліпи потрапляють у спільноту, а гра після перевірки потрапляє в каталог.

Гра (ZIP-архів)Власна адреса і статистика, а коли ввімкнемо рекламу, ще й частка доходу з неї. Публікація після автоматичної перевірки. Кліп із гриЗапиши 15–30 с гри одним кліком у студії. Допис у спільнотуТекст, фото або відео до 30 с: питання, прохання потестувати, прем’єра.

Твоя гра

Як зберегти прогрес гравця у грі HTML5

Додай набір klyo до файлу index.html, виклич klyo.save.get на старті гри та klyo.save.set після кожної важливої зміни. Прогрес зберігається на сервері klyo і йде за гравцем з акаунтом на кожен пристрій, а перед публікацією ти перевіриш його в попередньому перегляді в студії.

Перш ніж почати

  • Гра в браузері (чистий JavaScript, Godot, Unity, GameMaker або інший рушій з експортом для браузера) і доступ до її файлу index.html.
  • Стан гри як об’єкт, що вміщується в 64 КБ, наприклад рівень, монети й налаштування.
  • З твого боку не потрібні ні сервер, ні база даних: решту зроблять набір і сторінка klyo.

Крок за кроком

  1. Додай SDK

    Встав цей рядок у файл index.html перед власним скриптом: <script src="https://games.klyo.pl/sdk/klyo-gry-sdk.js"></script>. Рушій з експортом для браузера викликає ті самі функції своїм способом виклику JavaScript з гри.

  2. Завантаж прогрес на старті

    Виклич klyo.save.get(callback) один раз, коли гра стартує. Якщо z.ok істинне, а в z.data є дані, віднови гру з z.data. z.cloud істинне, коли відповів сервер klyo, а z.reason пояснює, чому дані лише з браузера.

  3. Зберігай після важливих змін

    Викликай klyo.save.set(state, callback) після рівня, покупки або зміни налаштувань. Набір тримає копію в браузері й об’єднує збереження, частіші ніж раз на 2 секунди, в одне, тож власний таймер тобі не потрібен.

  4. Перевір у попередньому перегляді в студії

    Завантаж пакет і зіграй у вікні попереднього перегляду. Збереження йде в хмару попереднього перегляду, яку бачиш лише ти, а у відповіді o.cloud і o.preview істинні. Виклич klyo.save.get ще раз або знову відкрий попередній перегляд: ті самі дані повернуться з z.source, що дорівнює «chmura».

  5. Опублікуй гру

    Після публікації кожен гравець зберігає прогрес у власному місці: гравець з акаунтом має його на кожному пристрої, гість у цьому браузері. Твоє збереження з попереднього перегляду зникне разом із ним.

Якщо щось не працює

Відповідь каже, що дані локальні

z.reason пояснює чому. bez-strony: гра працює поза klyo (просто з файлу або на іншому сайті), тож прогрес лишається в браузері. bez-serwera: не було з’єднання, а набір надішле копію пізніше. pusto-w-chmurze: у хмарі ще нічого не було, тож гра отримала копію з браузера, а набір надіслав її в хмару.

Мій код чекає, а потім здається

Відповідь приходить завжди, щонайпізніше за 8 секунд, а на klyo одразу. Прибери власний, коротший ліміт часу і запусти гру з копії в браузері ще до відповіді хмари.

Збереження відхилено з причиною rozmiar

Закодований стан більший за 64 КБ. Зберігай лише те, що потрібно для відновлення гри, а не всю сцену.

Часті запитання

Чи потрібен гравцеві акаунт, щоб зберегти прогрес?

Ні. Без акаунта прогрес належить цьому браузеру. З акаунтом він іде за гравцем на кожен пристрій, а копія, збережена в цьому браузері до входу, переходить в акаунт.

Що буде, коли два пристрої зберігають одночасно?

Перемагає останнє збереження в хмарі. Копія з браузера, яку сервер ще не підтвердив, іде в хмару лише тоді, коли за цей час не зберігав інший пристрій, тож старіша копія ніколи не перезапише новіший прогрес.

Чи побачать гравці мої тестові збереження з попереднього перегляду?

Ні. Попередній перегляд має власне місце, яке відкриваєш лише ти й модератори klyo, і воно зникає разом із попереднім переглядом.