Редактор гри
Редактор — одна сторінка, на якій лежить увесь сценарій: налаштування гри, завдання з кодами, бонусами та підказками, наскрізні бонуси, порядки завдань та автори. Відкривається кнопкою “Редагувати” у списку ігор або посиланням “Редагувати гру” на сторінці перегляду сценарію.
Головне, що варто зрозуміти
Правки живуть у браузері, доки ви їх не збережете. Додали завдання, змінили код, перетягнули рівень — усе це змінює лише чернетку у вас на екрані. Сервер про них ще нічого не знає, сторінка не перезавантажується, і нічого не губиться між діями.
Збереження одне на все і відбувається цілком. Кнопка “Зберегти…“ спершу показує вікно зі списком того, що поїде на сервер, і лише після підтвердження записує. Записує однією транзакцією: або застосовується все, або, якщо сервер щось відхилив, не застосовується нічого. Наполовину збереженої гри не буває.
Ви завжди бачите, що змінилося. Змінені поля підсвічені, у картках завдань і на вкладках стоять позначки, а вгорі горить жовтий значок “Чернетка” — він означає рівно одне: на сервері поки що стара версія.
Що на екрані
Верхня панель
- Чернетка — значок з'являється, коли в браузері є незбережені зміни.
- Гра вже йде! — червоний значок: будь-які правки побачать команди, які зараз грають.
- ↶ … ↷ — скасувати, подивитися кроки правок, повернути (див. нижче).
- Історія — версії гри, збережені в цьому браузері.
- Завантажити JSON / Вивантажити JSON — увесь сценарій файлом, див. JSON завдання та гри.
- Зберегти… — попередній перегляд змін і запис на сервер.
- Тестувати гру — зберігає (якщо є що) і відкриває гру в тестовому режимі в новій вкладці.
Вкладки
- Завдання — картки завдань: самі завдання, коди, бонуси, підказки.
- Налаштування гри — назва, час старту та завершення, тип гри, статистика тощо.
- Наскрізні бонуси — бонуси, що діють на всю гру.
- Порядок завдань — лінійки, див. Послідовність завдань.
- Автори — хто ще може редагувати гру.
- Файли — завантаження картинок і звуків. Єдине місце в редакторі, яке працює не через чернетку: файл іде на сервер одразу, і видаляється теж одразу — кнопка “Зберегти…” до нього стосунку не має.
- Корисні посилання — сторінка гри, статистика, перегляд сценарію, імпорт, одноразові команди, старий редактор.
- JSON — уся чернетка текстом.
Картка завдання
Картки згорнуті, щоб список із півсотні завдань було видно цілком. У заголовку — номер, назва та позначки: скільки кодів, бонусів і підказок, “Автоперехід” з часом, якщо завдання завершується саме, і “заглушка”, якщо у завдання “Час x” дорівнює нулю.
Усередині — поля завдання та згорнуті розділи кодів, бонусів і підказок. Кнопка “JSON” у заголовку показує завдання цілком одним текстом, кнопка “Копіювати JSON” внизу кладе його в буфер обміну.
Завдання переставляються перетягуванням за значок ліворуч від назви — номери перераховуються самі.
Збереження
Кнопка “Зберегти…“ відкриває вікно “Зміни перед збереженням”. У ньому по рядках перелічено все, що відрізняється від сервера: поля гри, змінені завдання, додані та видалені коди, бонуси, підказки.
Що тут можна зробити:
- Залишити частину правок при собі. У кожної зміни є вибір “Оригінал” / “Чернетка”. Позначене як “Оригінал” не поїде на сервер — залишиться в чернетці до наступного разу.
- Подивитися велике поле по рядках. У тексту завдання та інших довгих полів є посилання “Показати по рядках і відредагувати”: там видно, які саме рядки змінилися, і там же значення можна виправити.
- Прочитати, що скаже сервер. Перш ніж показати вікно, редактор проганяє зміни на сервері вхолосту. Тому помилки й попередження (наприклад, “у цьому завданні вже є відповіді команд”) ви бачите до запису, а не після.
Гру, яка вже йде, редактор просить підтвердити окремою галочкою — щоб правка живої гри не сталася за інерцією.
Якщо гру за цей час змінили в іншому вікні або в старому редакторі, збереження зупиниться з повідомленням про конфлікт: чужі правки не будуть мовчки затерті.
Кроки правок: скасування та повернення
Кожна зміна — крок, який можна скасувати (↶, Ctrl+Z) і повернути (↷, Ctrl+Y).
Кнопка “…” між стрілками відкриває вікно, в якому цими кроками можна ходити: стрілками або повзунком обрати точку, а у вікні при цьому показано, чим поточний стан відрізняється від неї — не одним кроком, а всіма одразу. Кнопка “Застосувати” переводить редактор туди. Це так само звичайні кроки: застосоване можна скасувати, скасоване — повернути.
Історія версій
Кнопка “Історія” відкриває список версій, збережених у цьому браузері:
- стан гри перед кожним збереженням — те, до чого має сенс відкотитися;
- версії, відкладені вами вручну кнопкою “Додати поточну чернетку”.
Кожну версію можна “Порівняти…“ з поточною чернеткою — відкриється те саме вікно змін — і завантажити її в чернетку; на сервер вона потрапить звичайним збереженням. Версії можна називати та видаляти.
Важливо: Історія лежить у вашому браузері, а не на сервері. Інший комп'ютер, інший браузер або очищення даних сайту — і її немає. Єдина резервна копія, яка ні від чого не залежить, — файл, збережений кнопкою “Завантажити JSON”.
Окремо від історії редактор тримає аварійну чернетку: якщо браузер або вкладка закриються з незбереженими правками, під час наступного відкриття редактор запропонує їх повернути.
Дрібниці, що заощаджують час
- Час пишеться словами. У полях часу можна писати
1г 30х,90хабо5400— редактор розуміє це однаково і показує по-людськи. Підказка біля поля показує, на що перетворилося введене. - Режим “Джерело” у редакторі тексту — з підсвіткою HTML і перевіркою розмітки.
- Завдання цілком як JSON — кнопка “JSON” у заголовку картки: зручно, коли правку простіше зробити текстом, ніж полями.
- Вставка з буфера — кнопка “Вставити завдання з буфера…“ під списком завдань додає завдання з JSON, скопійованого будь-звідки. Див. JSON завдання та гри.
- Редактор одного завдання просто у грі. Коли автор тестує гру, під завданням є блок “Редактор” — те саме, але для одного поточного завдання та наскрізних бонусів. Не треба йти зі сторінки, щоб виправити одруківку в тексті або додати код.
Старий редактор
Старий редактор нікуди не подівся: посилання “Старий редактор” лежить у вкладці “Корисні посилання”. Він працює як і раніше — форма на всю сторінку зі збереженням кнопкою внизу.
Правки у старому редакторі — це правки просто на сервері. Якщо паралельно відкрито новий редактор, його чернетка про них не знає, і під час збереження ви отримаєте повідомлення про конфлікт. Працюйте в одному з двох за раз.