Острів, якого не було
Останній день липня. Ми зібрали сервер і клієнт в одну майстерню, відкрили світ — і не знайшли в ньому головного острова, який знав кожен гравець.
Пласка трава і жменька мешканців
31 липня, за десять хвилин до третьої дня, в одну теку лягли дві великі програми: наш сервер і наш клієнт. До цього вони жили окремо й трималися одна за одну на чесному слові. Переїзд одразу це показав — довелося розв’язувати вузли, яких ніхто раніше не помічав.
Новий сервер на той день умів чимало: п’ятдесят видів істот, понад дві тисячі рецептів крафту, які перевіряє сервер, мешканці й написи, режим островів і перехід між світами за двадцяту частку секунди — без перепідключення. Але самі світи були заглушками: три пласкі поля по п’ять шарів землі з підписами «Хаб», «Острови», «Виживання».
За пару годин на місці заглушок з’явилися справжні мапи: земля хабу й арена спліфу. Увечері ми зайшли подивитися — і побачили пласку траву з жменькою мешканців. А де ж острів?
Острів жив лише в коді
Кожен, хто грав на Mypex раніше, пам’ятає ширяючий острів-хаб. Ми шукали його у файлах мап і не знайшли. Виявилося, що колишній сервер будував острів заново під час кожного запуску — кодом — і нікуди його не зберігав. Він існував лише в ті хвилини, поки сервер працював.
Острів відновили за кресленням, деталь за деталлю: радіус тридцять блоків із хвилястим краєм, площа з кварцу й призмарину з кільцем і діагоналями, світловий колодязь посередині, вісім ліхтарів по колу, дві ялини й два дуби, червона стрілка над колодязем і чотири маленькі острови-супутники довкола. Колодязь, як і раніше, вів у світ виживання.
Забігаючи наперед: уже за тиждень ми від цього острова відмовимося. Але того вечора він повернувся — і стало зрозуміло, скільки всього доведеться збирати заново, а не переносити.
«Хто будує головний хаб?» — «Ніхто»
Так чесно прозвучала відповідь на питання, хто відповідає за місце, куди потрапляє кожен, хто заходить. До восьмої вечора воно з’явилося: кам’яна зала спільного лобі. Темний сланець, білий кварц, колонада і дві великі арки в режими з кольоровим склом над проходом, підсвітка бірюзовими ліхтарями, двоє тих, хто зустрічає, і табло «зараз тут: N». Матеріали вибрано навмисно: ні трави виживання, ні піску островів — третє місце впізнається без жодного слова.
Із цього вечора будь-який вхід на сервер ішов через спільне лобі, кожен режим отримав своє лобі, а речі й здоров’я перестали переїжджати між режимами. І ще одна важлива дрібниця: кожен острів став окремим світом. Раніше всі острови лежали поруч, і зі своєї ділянки було видно чужі.
Речі, які живуть
1 серпня пішло на те, що робить світ обжитим. Скрині стали справжніми сховищами — до цього скриня відрізнялася від цеглини лише картинкою. Клієнт навчився малювати меблі, і першим предметом став звичайний стілець. На островах з’явилися пензель-перефарбовувач, готування в коптильні й печі, раковина, з якої можна набрати води, і грядка, що росте, навіть поки господаря немає. Новачок знаходив у скрині стартової хатинки хліб, книгу-посібник і дерев’яну сокиру.
Із чату зникали тире. Рядок топу «1. Гравець — 1 000» доїжджав без тире, бо такого знака не було в шрифті. Таких «невидимих» символів знайшлося 665 входжень, із них 425 — тире. Шрифт виріс майже вдвічі, а незнайомий знак тепер малюється коробочкою, а не зникає.
Стоп-кран
2 серпня став найщільнішим днем тижня — понад п’ятсот правок. І цього дня прозвучало перше рішення, яке разом змінило плани: великий каталог меблів поставили на паузу — «просто не роби… зовсім поки що». Сили пішли туди, де гравець відчує різницю без жодної нової картинки.
Наприклад, у бій. До цього кулак і найкращий меч знімали однаково, а мирні істоти не могли відповісти на удар — ніколи. Тепер шкода залежить від зброї, істоти дають здачі й кидають здобич. Чужі руки ожили: клієнт давно надсилав замах, але сервер його нікому не пересилав, і руки інших гравців висіли, як у манекена.
У світі виживання вперше з’явилося життя: довкола спавну — пасовище зі звірами, на північ — пустища з монстрами. До цього дня правил появи істот не було в жодному світі. Ламати стало чесно: час ламання рахує сервер за твердістю блока. Спліф перетворився на справжню гру: вежа з чотирьох трав’яних поверхів, поверхи зникають по одному, а під кінець раунду зникає блок під ногами в кожного. На колишньому сервері вхід на арену стирав речі назавжди — у нас вони прибираються й повертаються під час будь-якого виходу.
А першим «верстатом» став казан, який сам варить за рецептами. У першій версії буряковий суп виявився недосяжним: казан рахував комірки, а буряк лягає в одну комірку стосом. Навчили рахувати штуки.
Спіймане до гравців
Частини роботи цих днів ніхто з гравців так і не побачить — і це добре. Під час перепідключення можна було втратити все, що нажив у другій сесії. Повторно надісланий мережевий пакет кидав шматок світу в діру. Найнижчий, незламний шар перенесених мап приїжджав повітрям — 224 640 клітинок, крізь які можна було провалитися. Вода й лава стояли нерухомо. Усе це знайшли й полагодили до того, як новий сервер побачив першого гравця.