Duck the Rules
EN Discord (в новой вкладке) Хочу демо
Бортовой журнал

Пролог · с 24 июля по 16 августа 2026 · до первого дня

Школа в браузере

Кампус в браузере, этажи разнесены. Снято 16 октября из последней сборки того проекта
Кампус в браузере, этажи разнесены. Снято 16 октября из последней сборки того проекта

Запись: 24 июля

Всё началось не со школы-кампуса, а с хоррора. Вечером 24 июля я попросил сделать ночную школу в духе игр на Roblox, где надо выжить. И сразу сказал, какой хочу её видеть: «Нужно что б школа по возможностям была как целый город, масштабная, много кабинетов, этажей, переходов, максимально приближен к реальным существующим школам».

Первая версия была одним коридором. Я написал: «Странно. Почему тут один коридор и всё. Не халтурь, сделай прям полноценную школу с хорошим геймплеем на 1,5 часа». И ещё: «И я как игрок должен быть, а не просто коробка какая-то».

К утру хоррор стал милым. Портреты на стенах превратились в котиков, одиннадцать жителей школы можно было покормить, а главной миссией стала лейка: полить шестнадцать растений. Мы называли это котошколой.

25 июля, утро. Котошкола: «Освоиться в котошколе»
25 июля, утро. Котошкола: «Освоиться в котошколе»

Запись: 25 июля

Днём я начал заново, уже в новом проекте. Первым делом появился промпт для бортинженера. Главное в нём: «у игры нет открытого мира. Весь мир игры — это одно здание школы и его двор». Значит, здание должно быть интересно исследовать, а не быть коробкой с комнатами. И строить его надо как данные, а не как геометрию.

В 17:03 ушёл первый коммит. Школа стала посёлком: восемь корпусов вокруг общего двора. Три дома по возрастам, четыре «цеха» для общих дел, науки, творчества и спорта, и павильон-кафе во дворе. Участок 190 на 140 метров, 24 класса.

К ночи кампус уже стоял в 3D, прямо в браузере, на three.js.

Запись: с 26 по 28 июля

По школе стало можно ходить. Бортинженер применил «Руководство по оформлению школ» Студии Лебедева и МАРХИ. Те самые 1126 страниц, которые потом переедут в Godot. Появились 133 выключателя, 2012 шкафчиков с содержимым и автоматы с кошельком.

Звук с первого дня собирался в браузере из формул, без единого файла. В Godot эта привычка переедет как есть.

Школьник поначалу бегал со скоростью 31 метр в секунду, это больше ста километров в час. Скорость урезали втрое. Потом урезали ещё раз: школьник всё равно бегал по коридору быстрее, чем во дворе едет машина.

Вечером 26-го появился список дел, «как в Goose Game»: десять строк «Дела на сегодня», которые зачёркиваются сами. Например: обчистить чужой шкафчик, купить что-нибудь в автомате, оставить кран открытым.

27-е ушло на лестницу. Восемнадцать коммитов, с половины второго ночи до половины пятого дня. Лестница упиралась в потолок, и бортинженер перебирал перекрытия, косоуры, площадки и будку выхода на крышу. Корень нашёлся в другом: этаж был высотой 5,5 метра, а над лестницей висела плоскость. Высоту этажа сделали 3,6.

Разрез лестницы, 27 июля: этаж 3,60 и 24 подъёма
Разрез лестницы, 27 июля: этаж 3,60 и 24 подъёма

В тот же день свет стал «живописным»: цветная тень, светлая кромка по краю. А через шесть с половиной часов его заменил мультяшный стиль с жёсткими ступенями света и чернильным контуром. Живописный остался запасным и потом целиком переехал в Godot.

28-го было 66 коммитов. Затенение в углах съедало девять десятых кадра, его выключили. Кран теперь течёт, пока его не закроют, иначе проказу «оставить кран открытым» нельзя было выполнить. Глобус стал шаром: оказалось, до этого во всём мире не было ни одной сферы. А про автомат я сказал: наш «просто шкаф, абсолютно не милый». Эти слова до сих пор записаны в правилах игры.

В тот же день появился файл «правила заказчика». Бортинженер записал туда главное: в игровой студии дизайнер расставляет вещи глазами, а у него глаз нет. Поэтому появилась проверка, которая смотрит за него. В первом корпусе она нашла 519 ошибок расстановки, и все их поправили.

Запись: с 29 июля по 6 августа

Десять коммитов подряд ушли на цветочный горшок и кружку. Появился 3D-каталог всех вещей: я открывал его, выбирал предмет и жал «взять в работу».

3 августа два раза откатили стулья. Бортинженер признал: «я вместо этого трижды менял форму и трижды делал хуже». Мне не нравились трубы стульев, и я спросил: «почему ты гнёшь трубу, добавляя тупые срезы вместо одной плавной линии». Так появилось правило скандинавского дизайна: одна плавная линия вместо набора деталей.

Вечером того же дня бортинженер собрал унитаз со стульчаком на петлях. Да, тот же сюжет, что через две недели повторится в Godot. А назавтра унитаз второй раз потерял куски на ровном месте.

5 августа я попросил настоящей физики: «Я бы даже хотел упереться в парту и чтоб она сдвинулась, и даже та парта, которую я двигаю, задела бы другую, и та тоже подвигалась». И ещё: «классно было бы, чтоб туалетной бумагой можно было кидаться и она бы разматывалась». Рулон стал разматываться на лету.

А 6-го мебель начала плясать. Стол, на который я наткнулся, отодвигался и ехал дальше, «не как в жизни». Мебель перевели на клавишу R, а остальное сделали каменным.

Запись: с 7 по 16 августа

7 августа ушёл последний коммит. Дальше я играл и писал, что не так. Стул после броска дрожал, проваливался и прыгал обратно: «Взял стул, где я его бросил. Ещё раз бросаю, он летит, падает и хоп. Резко появляется там, откуда я его взял». По коридору гуляло светлое пятно, «как будто фонарик где-то далеко». А глаза школьника оказались на высоте 1,70 метра вместо 1,32: кампус, сделанный под рост ребёнка, я смотрел глазами взрослого.

8 августа я спросил: «Может мы зря в вебе это делаем…» Бортинженер ответил, что по замерам нет. Узкое место было в логике, а не в браузере.

Потом неделя тишины.

Запись: 17 августа, утро

В 7:17 я открыл старый проект и написал, что хочу переписать всё под Godot 4. А через пять минут, в новой папке, объяснил почему:

«ну вообще я хочу заново начать делать игру. А то там зданий слишком много и физику пришлось самому делать, хочу упростить, переписав заново, но сохранив цвета, например, и сюжетную линию этого проекта… Начать с чего-то простого: комната, стул, взять стул, бросить стул. Типа того»

Из старого проекта забрали то, что дороже кода: мои правила, замысел со списком проказ и палитру. Раскладку кампуса и код предметов оставили. Начали ровно с комнаты и стула. Что было дальше, в первой неделе.

Эти кадры я снял сегодня, 16 октября: последняя сборка того проекта до сих пор запускается в браузере.

Откуда ноги растут

Игры на Roblox и Minecraft: школа как целый мир. Untitled Goose Game: список дел, который зачёркивается сам. MIT Building 20, Bell Labs, школа Шаруна, Херцбергер. Руководство Лебедева и МАРХИ. Японская игра с милым уличным автоматом. Скандинавский дизайн как мерка: одна плавная линия.

Пролог в цифрах