Запись: день 20
Опять тени. На кромке тени от стула лесенка из ступенек. Третий заход за три дня. Я прислал три кадра и написал: «Мне кажется мы что-то не то чинили и не глобально. Вот от стула тоже лесенка. И растение в горшке и фонтанчик тоже! А от гардероба ровная, например». Разгадка была в моём же списке: ровная тень у гардероба была от солнца, а все ступенчатые от скрытого света внутри помещений. Бортинженер сделал полутень.
Я спросил прямо, добились ли мы чётких ровных линий. Ответ был честный: «Нет». Ступени ушли, но кромка стала мягкой. Пятым заходом тень попробовали положить на стену руками, и кромка вышла бритвенная.

У фонтанчика вообще было две тени. Нарисованная строилась от потолочных светильников, а настоящая падала от скрытого света помещения, который висел в другом месте и ниже. У одной вещи выходили две тени разной длины и в разные стороны. При этом сами светильники не светят вовсе.
Параллельно в другой сессии мы делали стиль и интерфейс. Я вспомнил, какие мощные звёзды розыска были в ГТА, а у нас вместо них хилые руки. Для шкалы внимания сравнили звезду и колокол. Я выбрал колокол: «Так уже лучше». Про звезду на холсте записали, что она взята из ГТА целиком и ничего не говорит о школе.
Хилые руки были пятью кулачками с поднятым пальцем. Их рисовал прямо код, прямоугольниками, без единого файла картинки.

Там же я сказал, что веру в призрака не надо показывать так мощно, а может, её и вовсе не стоит вводить. Вера проживёт в игре ещё месяц.
Холсты стиля, 5 сентября





Под вечер я написал: «Устал я с этими тенями». И спросил, не слишком ли мы упоролись. Бортинженер пошёл смотреть, как плоские тени кладут другие игры: Toy Story 3, Oblivion, Sonic Adventure 2, «Танки Онлайн». Вывод: мы не упоролись, мы пришли к тому, что написано в учебниках.
Охота за кромкой тени





Запись: день 21
Я написал: «мы переусложнили … со всеми этими тенями... можно вообще простейшую тень чёткую от предметов. У меня было когда-то». Бортинженер по моему кадру снял слой теней-«очертаний». Я посмотрел: в туалете теней не стало совсем, от стола тоже. Через 35 минут слой вернули. Записали честно: снимать было неверным ходом.
К вечеру тени снова висели в воздухе.

А вечером я сказал: делай коммит, потом разберёмся. Это ошибка недели, про неё ниже.
Запись: день 22
Утром в основную ветку легла работа с 2 сентября: 431 файл одним коммитом. Тени перестали висеть в воздухе. До этого «в классе поперёк парт висят чёрные плиты». Тень школьника ложилась на стенку парты высотой 11 сантиметров и растягивалась на семь с половиной метров вширь.
Вскоре выяснилось, что тот же коммит сломал модель школьника. Модель испортилась трижды за сутки одним и тем же способом. Защита от этого числилась включённой и не делала ничего.
Ещё одна проверка краснела 113 раз подряд, и ни разу по делу. Её мерка поворота на двух одинаковых поворотах выдавала крошечное число, а на настоящей разнице отвечала ровным нулём. Когда мерку заменили, из 113 жалоб остались две, и обе верные: на каждом теле висели два лишних обработчика позы.
Тут я спросил: а что если нам создавать модели в Blender? И через тринадцать минут написал, что поставил Blender. Открыл модель школьника и спросил, нормально ли, что на ней столько точек.

Полностью отдать модель в Blender не получилось: она на три четверти не геометрия, а программа. Договорились о круге: форму правим в Blender, числа возвращаются в игру. Первой вещью из Blender стала шапка-бини.
Круг проверили на голове. Подвинули её в Blender на пять сантиметров выше, и в модели изменилась ровно одна строка. Но Blender по дороге поменял местами шею и грудь, а восемь узлов с одинаковым именем вернулись пронумерованными. Пришлось завести перепись имён. А мост за первые сутки привёз только ту шапку, и её никто не носит. Приёмник подменял каждую привезённую сетку коробкой по габариту, так что бини легла в игру теми же тремя коробками, какими её набрали бы текстом. Модель за это время правили трижды, и все три раза руками, мимо моста.
Дальше был день гольфов. Белые гольфы торчали коробом над ботинками. Я написал: «ну носок же должен быть как бы частью голени и двигаться с ней». Их ушили, и между голенью и ботинком открылась щель почти в семь сантиметров, у всех пятнадцати обликов. Я предложил: «Может нам тупо по умолчанию сделать ноги до ботинка, а носок то поверх уж будет. Обезопасились бы подобным образом». Так и сделали.

День гольфов






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


Чужая прядь была коробкой у правого виска. Она жила отдельно от причёски и торчала сквозь любую надетую. У кота, учительницы и уборщика это вообще было единственное, что осталось от волос. Снести её было нельзя, на ней держалось качание волос. Поэтому прядь теперь гасят, а не сносят.
Хорошее за день тоже было. Все, кто стоит, теперь дышат. Постоял шесть с половиной секунд, переступил с ноги на ногу.
Для них собрали стенд простоя: шестеро учеников прямо в редакторе. Я открыл сцену, сохранил, и вместо шестерых не осталось никого. Бортинженер записал: «Это ровно та беда, что трижды за сутки портила модель школьника, и я завёл её своими руками в новом файле». Потом стенд ещё и развернули: шестеро стояли к камере затылками.
Запись: день 23
Утром бортинженер разбирал свет по слоям: гасил по одному солнце, лампы, свет помещений, тени, чтобы увидеть, что даёт каждый.


Я написал: «Я боюсь что мой текущий подход это ту мач. И не бест практис.» И принёс два чужих отчёта, которые сделали другие нейросети. Бортинженер разобрал их по нашему коду. Большую часть советов отвергли, по каждому записали почему.
А потом нашлось главное. Школа при каждом запуске собиралась 23 секунды, и 18 из них уходили на то, чтобы найти место для мебели. Каждый пуф искал себе место по дереву из пятидесяти тысяч узлов. Теперь школа встаёт за четыре секунды. Пуфы расставлялись две с половиной секунды, теперь за девять тысячных.
И я сказал важную вещь: «Я как архитектор игры должен же расставить всё, создав нужную композицию». Класс 1А теперь можно расставить руками в редакторе. Место, поставленное руками, главнее расчёта.
Запись: день 24
Ни коммитов, ни сообщений.
Запись: день 25
Я спросил: «А точно ли нам нужно "собирать школу"». Бортинженер ответил, что не нужно, и я написал: «Да, наконец-то. давай начинай с первого и погнали.» Теперь школа печётся в сцену заранее: 50 147 узлов в файле на 5,8 мегабайта, ровно столько же, сколько при сборке.
Появился прогонщик проверок: одна команда запускает все. Проверок 118, и 18 из них немые, то есть не умеют краснеть.
Запись: день 26
Руками теперь расставляются 23 помещения: восемь кабинетов и пятнадцать санузлов. Первый полный прогон: 91 зелёная проверка, 4 красные, 12 немых. Я спросил, точно ли нужны все эти проверки, или мы ушли в оверинжиниринг.
Потом я поиграл: «затопил туалет и сел на место… по радио стало объявление звучать про затопление, и все такие призрак! призрак! — и учительница ещё одновременно пошла в окно смотреть на грозу, и всё это замерло в такой картинке, и камера замерла». Камера застряла на вставке. Теперь через тридцать секунд кадр возвращается сам.

Вечером я попросил проверить все условия конца демо. Выяснилось, что третью строку демо выполнить было нельзя: после фильма шторы не поднимались. Теперь демо проходится до конца. А две красные проверки оказались неправы сами: они лезли в первый ящик стола, а там по устройству лежат мел и ручка.
Шторы после фильма стали поднимать без звука шнура. Восемь щелчков створок оказались громче порога урока, и класс позвал бы свидетеля на игрока, который тихо сидит за партой.
Откуда ноги растут
ГТА 4 и 5: звёзды розыска как мерка интерфейса, от которой мы ушли к колоколу. Toy Story 3, Oblivion, Sonic Adventure 2 и «Танки Онлайн»: как другие кладут плоскую тень. Чужие видеоуроки про скелет и анимацию, которые я принёс. «Симс»: потолок и ближние стены снимаются, когда смотришь сверху.
Неделя в цифрах
- 37коммитов
- 23 → 4 сзапуск школы
- 431файл в одном коммите
- 113раз подряд краснела одна проверка, и ни разу по делу
- 7,5 мширина тени от стенки высотой 11 см
- 3раза за сутки портилась модель
