Вступление к новому формату
Последние два года я работаю программистом в студии, разрабатывающей военные игры на движке Unity. Игры нацелены на мобильную платформу в первую очередь, но мы пользуемся возможностями Unity для выхода на всех возможных устройствах.
Считаю себя посредственным программистом, получающим неадекватно высокую зарплату по сравнению с предыдущей работой. Давно заметил, что дни пролетают, не оставляя памяти о себе. Постоянно кажется, что занимаюсь ерундой. Хочу хоть как-то фиксировать движение времени. Буду делать дневниковые заметки здесь. Постороннему читателю, не погруженному в контекст моей жизни, будет многое непонятно, а понятное - скучно. Заморачиваться на разъяснения сил не хватит. Описания будут представлять интерес только для меня, чтобы через годы остались хотя бы какие-то доказательства, что сегодняшний день я действительно прожил, а не скипнул как тутор в нашей мобильной игре.
Сообщения написаны в момент, которым датированы, но сгруппированы для еженедельной публикации. Правки могли вноситься в любой момент до публикации. Посты обязательно содержат информацию о режиме дня, настроении, головных болях и болях в спине, рабочих задачах и социальном взаимодействии.
2 апреля 2024 (вторник)
Мне казалось, вчера сделал все, чтобы быть бодрым в первый рабочий день после выходных. Лег и уснул до одиннадцати, перед сном не утомлялся физическими упражнениями, зато прогулялся, за монитором не сидел, почитал, пока глаза не слиплись. Утром тоже все делал правильно: проснулся по режиму, помыл голову, размялся по полной. Но нет! Весь день проходил сонный, угрюмый, убитый.
Денек вообще странный был. На небе не то чтобы тучки, но солнца не видно, зато светло как летом. Во дворах повсюду раскидано собачье дерьмо, растекшееся теперь вместе со снегом по лужам. Асфальт можно увидеть только на проспекте. Мир изменился после зимы. Другой сделалась не только погода. В тех же дворах у моего дома вместо хозяйственного магазина открылась очередная Пятерочка. Как-то разом я осознал странную новизну.
На работе в целом бессмысленно провел время. Очень увлекся задачей про поворот вектора. В NA основная турель вращается медленнее камеры, поэтому может выстрелить не в центр прицела, а вбок. Такой элемент геймплея. Вот только элемент не работает. Можно сделать выстрел примерно в нужном направлении, а когда турель довращается, стрелять уже правильно через прицел. Но я так не хочу. Думаю, теоретически возможно рассчитать точное направление и точку прилета снаряда, как будто бы камера с прицелом располагаются в направлении, совпадающим с ориентацией недовернутой турели. Пока не рассчитал. Начальнику таких изысков особо не хочется, поэтому он огорчился, что я трачу время. Кроме того, я почитал про Фотон, но вскоре наскучило. Антоха пообещал сформулировать завтра задачу про декали и наклейки. Может, выйдет что-то веселое.
Перед уходом с работы теребил Никиту. Ему написала Аня с просьбой подсказать, как отключить лишние линии на сцене Unity. Я Никите говорю: "Пиши, пусть отожмет гизмо". Никита как-то медлил и явно сомневался в моем совете. Я начал его трясти за плечи: "Как!? Ты мне не доверяешь??? Азазаза!" Нажал на Enter на его клавиатуре, чтобы парень не сомневался, и тут же сделал вид, что обманул их с гизмо. Никита бросил на меня безумный взгляд. Как легко его развести! Аня быстро поблагодарила за помощь. Тут я сказал Никите, что у него теперь новая подруга. Он ответил, что у него есть старая. "Две лучше одной", - бросил ему я и едва не предложил поменяться, блин. Чуть не спалился.
Мне ответил китаец с AliExpress. Сказал, что вышлет мне новый SSD, только нужно снова разместить заказ, а они скорректируют цену. Ура!
Придя домой, наелся сосисок. Прилег посмотреть пересказ сюжета Atomic Heart (
https://www.youtube.com/watch?v=k65io4uE3Qg), чтобы уяснить наконец, чем дело-то кончилось. Где-то в середине приостановил видео на 20 минут, чтобы отдохнуть перед прессом, прикрыл глаза и заснул. Проснулся через шесть часов в районе трех ночи в каком-то аду: нос не дышит, голова кругом, мысли путаются, сны безумные, уснуть нет сил. Умылся, повертел плечами, дегидрировался. Смог расслабиться и заснуть, но спал неудобно, в полудреме. Суммарно пролежал десять часов, зато сегодняшним вечером полон энергии. Голова не устала в кои-то веки. Правда досуга получилось мало. Посмотрел сюжет Bioshock Infinite от того же Металлиста (
https://www.youtube.com/watch?v=tOrNC3FBDAA), захотелось поиграть. Поразмышлял над векторами, потренировался, сейчас допишу и читать пойду.
3 апреля 2024 (среда)
День выдался послабее вчерашнего физически, зато более теплый. Утром шел на работку под солнцем при щебетании птиц, причем радостном, а не раздражающем, как еще неделю назад.
Следуя рабочим указаниям, наскоро нашел решение, как можно использовать декали в качестве 3D-стикеров (точное значение слова "декаль" мне до сих пор неизвестно, кажется, что-то с английского). Антон удивился тому, как быстро я справился. У человека явно проблемы с доверием. Он очень боится изменений, вносит их консервативно и говорит, что не доверяет всем программистам, хотя слышу эти слова от него только я. Конечно, не беру их на свой счет и вообще не слушаю. "Играю реже - деньги те же", - как говорят футболисты резерва.
После обеда полез делать сборки для iOS. Давно таким не занимался и с непривычки почувствовал, как подбирается пиздец, бессилие. Хотя есть шанс, что сделал все верно - завтра доразберусь.
После работы попробовал бегать по школьному стадиону. Было сыро, промочил ноги и измазал кроссовки в грязи. Становится стыдно за разбитую, неухоженную обувь. Понял, что с октября сильно отвык от бега. Семь минут - и ноги уже не в тонусе. Сердечко билось в напряжении. Дома покачал пресс. Покоя не дает задача про вектор и окружность. Вечером (да вот собственно прямо сейчас) боролся с комарами. Поджег спиральку Москитол: очень вонючая, от запаха гари хочется кашлять.
Вчера дочитал Зыгаря. Хорошая книга, но поспешная. Сегодня, наконец, начал читать "Дар" Набокова. Пару экранов пролистал. Текст красивый, но сложный. Закружилась голова. От этих русских классиков всегда так. На один абзац половину слов не знаешь, а знакомые слова составлены в заумные метафоры. Как сквозь такое продраться?
4 апреля 2024 (четверг)
И вот снова четверг. Благодаря дневнику, могу хотя бы отметить, как часто четверг сменяется новым четвергом: очень часто. Даже понедельник больше не выглядит приговором.
Вечер. Только что проснулся. Скорее всего, от холода - иначе вполне могла повториться понедельничная история: заснул после ужина и продрых до глубокой ночи. Испытываю чувство неловкости, отдаленно напоминающее стыд и жалось за упущенное время. Зато голова соображает сильно лучше. После работы мысли двигалась словно снежинка по ночному зимнему воздуху, медленно и завихрениями.
Что бы я делал, если бы не уснул? Пресс сегодня качать не нужно. Работа не отпускала: мог бы сесть за монитор и попробовать в очередной раз посчитать исходную точку несчастного луча, вдоль которого должна стрелять турель в NA.
Еще хотел читать Дар. Все больше убеждаюсь, что произведение не для меня. Слишком сложный метафорический тест. Крайняя попытка чтения состоялась в самый раз перед тем, как я уснул. Но я, конечно, подсоберусь, когда будут силы. Пускай мало диалогов и движения сюжета - пора научиться ценить красоту слова в прозе, а не только увлекательность истории. Дмитрий Быков говорит, что читатели ценят литературу, благодаря которой чувствуют себя умными.
Несмотря на короткую утреннюю разминку, голова и спина меня сегодня не беспокоили. Выдохся я из-за неудававшейся задачи: чинил Firebase.
Вообще, сразу как пришел на службу, побежал к тестерам и уселся за Mac. Нужно было установить сборку на iPhone по проводу. Никого из тестеров еще не было. Похоже, я и утром соображал посредственно, потому что не знал, как затестировать уведомления. Вчера по-быстрому установил пакет Mobile Notification, заменивший устаревшие пространства имен для посылки пушей на iOS, и переделал под него методы соответствующего класса. И вот я не мог сообразить, как получить уведомление, хотя вся необходимая информация в моей голове имелась. Я ждал Аню, чтобы спросить, при каких условиях падают пуши.
Аня пришла последней из тестеров (первой была Таня). Досадовал на нее за долгое ожидание, а просто нужно было взбодрить ленящийся мозг. При чтении Набокова мозг тоже ленится. Аня с напряженным вниманием выслушала мои вопросы. Мне нравится такое поведение девочек еще с тех пор, как я был преподавателем. Вот только выглядела сегодняшним утром Анна утомленно, как будто провела бессонную ночь. Внешний вид ее мне не понравился, и, вообще, она мне не помогла. Тогда я и обратился к коду.
Оказалось, уведомления попадают в планировщик после выхода из игры и приходят с делеем при восполнении энергии (горючего в баках), доставке модуля прокачек или в связи с получением ежедневного бонуса ровно в полночь. С какой досадой я ждал этих уведомлений! Я был фатально уверен, что они не придут. Но они пришли. Почувствовал сильный прилив. Даже написал о своей радости Ане в ЛС. Даже был готов снова пригласить ее погулять.
Дальше меня ждал тот самый Firebase, ради которого сборка и затевалась. А вот тут ситуация произошла обратная. Казалось, нашел после обеда решение: тупо заново загрузил файл из админки с настройками. С виду помогло: в отладочном окне пропала надпись, требовавшая это сделать. Я был уверен, что на сборке сообщение, уведомлявшее о невозможности стартануть плагин, пропадет. Но оно не пропало. Сильно замылился из-за проблемы. Собрал семь сборок за день, но ничего не помогло, даже переустановка пакетов. Потом Антоха отправил меня вливать daily battle bonus с ADS в основную рабочую ветку, а Аня нашла проблемы со сборкой на iOS (слетел NavMesh). В результате я отвлекся от Firebase, но упоролся с конфликтом из-за изменений в ангарном префабе. Добился годного результата, внутреннего удовлетворения, но одновременно - серьезной усталости с зацикленностью на рабочих вопросах. Прогулка утомила окончательно. Был вынужден даже посидеть с закрытыми глазами на новой скамейке во дворе, который закатали асфальтом осенью (сделали халтурно, кстати).
Кроме работы и прогулки, спонсором усталости можно назвать вчерашнюю пробежку. Семь минут бега стоили мне окисления мышц и тяжести в ногах спустя ровно сутки после нагрузки.
Сейчас без пятнадцати полночь. Проснулся я в одиннадцать. Получается, пробуждение нужно было для чистки зубов и составления данного теста. Да еще телефон, наверное, успел за это время зарядиться. Читать не буду - снова спать.
Немного расстраивает ситуация с китайцем из поддержки в магазине Алиэксперсса. Успел порадоваться, что получу новый SSD взамен сгоревшего, а теперь чувствую разочарование, потому что продавец меня игнорит. Я ожидал, что пацан сольется на этапе получения возвратного товара, а он перестал отвечать, уже пообещав понизить стоимость диска до $0.01 после размещения заказа. Китаец за 6 тыс. километров, и ничегошеньки я ему не сделаю. Ситуация как с Firebase. Даже вероятности решения данных проблем оцениваю как примерно одинаковые.
5 апреля 2024 (пятница)
Ну и зачем, спрашивается, я спал вчера вечером?! Ожидал эффекта не меньше, чем от сна в понедельник. Однако сегодня снова весь рабочий день ходил как зомби, с головной болью, головокружением, а к вечеру совсем раскис. Болела спина в районе правой лопатки и шеи, все, естественно, перекатывалось в голову. Лежать было больнее, чем сидеть. Принял Цитрамон, через час пошел на пресс. После второго подхода стало по-настоящему хорошо, боль отпустила, началась эйфория от ее отсутствия, освобождения. Сейчас голова светлая, но в сон клонит. Наступает одиннадцатый час вечера.
На работе мучил задачу про Firebase. Определив, что плагин не стартует, много гуглил, но все советы сводились к рекомендации проверить, выполнены ли шаги по интеграции. Был уверен, что выполнены, хотя делал не я, однако на Android плагин работает. Закономерно полез в код: наверняка ошибки с инициализацией - и действительно. Обратил внимание, что стартующий класс наследует MonoBehaviour, но никуда не прицеплен в качестве компонента. Изучение GT показало, что аналогичный класс либо висит на префабе, либо добавляется при старте ангара при помощи AddComponent(). В NA ничего похожего не было. Заценил класс Crashlytics той же библиотеки. Оказалось, он биндится в ProjectInstaller - DI! С этого, думаю, следовало начинать, а не мучиться. В коде NA крашлитика была отключена для платформы iOS директивами препроцессора из-за старых конфликтов с Pushwoosh. Немного подосадовал на лид-программиста, что тот перевел на меня задачу для проверки, а такую вещь не увидел. Собрал, пострадал над логами, но, кажется, статистика собирается. Не могу сказать однозначно, потому что данные в консоли Firebase обновляются в течение суток.
Работа-работой, но главные впечатления от общения. Сразу три девочки занимали сегодня мои мысли. Или давайте еще такой пассаж: работа - не работа, а предлог, чтобы с девчатами пообщаться. Нужно было установить сборку на iPhone через провод, чтобы не закидывать в TestFlight (я бы не парился, но Антоха почему-то не любит его захламлять). Как закончил, поинтересовался у Ани беспокоит ли ее то, что под платформой standalone в редакторе не работает функционал, который хорошо отрабатывает на pc-сборке. Получил ответ, что очень беспокоит. Подсел к ней, чтобы обложить код логами. Пока занимался всем таким Таня отпускала шуточки, мол, заставила Аня своего программиста поработать, или, типа, "сейчас он тебе реимпорт запустит". Я почувствовал себя в центре внимания, сидя между двух тян, которые как будто хотели перетянуть на себя мое внимание. Может быть, это и есть женская конкуренция? Прикольно. Хотя, конечно, нет. Аня сразу ушла в тестирование установленной на iPhone сборки и даже рапортовала об ошибках по графике, а Таня обладает легким характером и приветлива в общении со всеми. Как органично смотрелась их беседа с Вадимом во время обеда на нашей кухоньке! Я не слышал их слов, стоя за прозрачной стеной, отгораживающей кухню от коридора, но все же понятно. Он и на работу ее подвозит. По утрам в очереди за кофе у них всегда друг для друга припасена рабочая шуточка и счастливая улыбка. Боюсь, мне такого не достичь ни с Таней, ни с Аней, ни с Катей. Но каждому свое.
Кстати, о Кате! Сегодня же был созвон студии. Катя приходит в офис по таким дням. Мы столкнулись с ней на кухне, и она явно засмущалась, дважды меня активно поприветствовала и убежала из комнаты в коридор. Саша недоуменно сказала ей в след: "Позвала попить чай и ушла куда-то". Конечно, Катя быстро вернулась, и мой уход с кухни (тоже в коридор) на это не повлиял, но приятнее всего, что я-то о Кате почти не думал с того момента, как она не захотела идти со мной на свидание, разве только отмечал про себя, что отказ меня не беспокоит, а ассоциируется с забавным ответом, которым я отреагировал на ее нежелание встречаться с коллегами. А вот сама Катя, похоже, размышляла обо мне, думала, фантазировала, примеряла, обсуждала и, поди еще, свыклась с мыслью обо мне где-то рядом. Уж очень она была сегодня приветлива! Конечно, я тоже тот еще фантазер. Но весна же.
Оптимистичный план таков. Пригласить в какой-нибудь выходной одну из девушек пройтись со мной до озера. Какую девушку? Сначала, наверное, Аню. Если откажет, то Катю. Если Катя откажет, то Таню. Ряд выстроен не по порядку предпочтения, а начиная с тех дам, которых меньше стесняюсь. Но погляжу, конечно, на свое настроение. Есть вероятность, что зассу. Но весна все-таки.
6 апреля 2024 (суббота)
Обычный субботний день. Утром качал пресс. Днем харчевался у маман. Сейчас приду домой и буду мылиться.
Вспомнил, как вчера на общестудийном созвоне смешно шутили об алкоголизме Антона. Ребята вспомнили, что неплохо было бы провести в мае пейнтбольную перестрелку. Антон написал в чат, что в прошлый раз в него ни разу не попали. Ему тут же ответили, что он все время боев провел в палатке и бухал. Про Антоху постоянно на созвонах шутят.
После прохождения Atomic Heart ощутил тягу в видеоиграм. Сегодня утром поиграл в первый Биошок. По-прежнему тоскливо, но, может, дальше будет весело? Потом наделал ставок в менеджере по формуле 1. Пока качал пресс, смотрел квалификацию. Получилось, что ставка на Ferrari не сыграла. Расчет был на 114, кажется, очков при статистически предсказанном исходе (да, я написал целую программу для сбора и анализа данных), однако реально разыгрывалось 91, а у меня сыграло вообще 44. Грусть, тоска, неудача. Находясь у мамы, дописывал программу для сбора информации о лучших кругах, чтобы сделать ставку на завтра. Пока не дописал.
На улице резко похолодало, находиться там некомфортно, поэтому, конечно, никого гулять на этих выходных я не позову.