Низкое качество Часть 1.
Наткнулся на пост “коллеги по цеху”, который ссылается на статью, рассказывающую про падение качества разрабатываемого ПО.
Прямолинейная и отрезвляющая статья. Необходимая к прочтению тем, кто уже давно работает “в рутине”, когда все дни похожи на один, и уже плохо помнится зачем мы вообще приходим в разработку.
Действительно, посредственная работа уже давно нормализована, и если айтишники видят, что из калькулятора утекает 32гб ОЗУ или из-за ошибки на бэкенде ложится аэропорт, в отличие от обычного пользователя, то, например, запуск неиграбельного Cyberpunk 2077 на PS4, который привел к изъятию игры из PS Store и возвратам, или обновы для очередной Call Of Duty по 100+ гб, запомнили многие. Вот еще несколько примеров абсолютно кошмарных запусков игр, которые были либо не готовы на момент выхода, либо требовали тонну патчей: - The Last of Us - Borderlands 4 - Grand Theft Auto: The Trilogy - Redfall
И я совершенно согласен с тем, что ИИ здесь далеко не главный виновник. В выпуске продукта участвуют не только разрабы, а еще огромная куча людей, особенно управленцев, задача которых следить за тем, чтобы дорожная карта проекта шла своим чередом. И по тому отношению, которое показывают владельцы продуктов, к пользователю, можно сделать вывод, что сегодня нет цели делать качественное программное творение.
“Borderlands 4 is a premium game made for premium gamers.”
Примешивая сегодняшнюю непостижимую жадность ААА-компаний в разговор, можно представить под каким давлением находятся люди, работающие на этих местах. И ожидается, что под давлением люди начинают работать лучше, но по сути работая всё время в стрессе люди только больше допускают промахов (ой, вау, сюрприз).
В этом случае невозможно не сравнивать с тем, что происходило с геймдевом в начале 2000х. Это была эпоха чудес, почти каждый крупный проект совершал какой-то подвиг. Вот лишь некоторые: - The Elder Scrolls III: Morrowind (2002) - Игра создавала огромный открытый мир, в котором нужно было следить за тысячами вещей (NPC, квесты, книги). При объеме ОЗУ в 64 мегабайт на первом Xbox это было нереально. Разработчики на загрузочном экране не просто подгружали ресурсы, они полностью перезагружали консоль, чтобы высвободить память. - Shadow of the Colossus (2005) - Шерсть колоссов. Рендерить каждую отдельную шерстинку PlayStation 2 не смогла бы, потому разрабы придумали способ, с помощью которого они наслаивали полупрозрачные текстуры друг на друга, создавая впечатление объемной шерсти, по которой игрок мог бы лезть. - Resident Evil 2 (N64 Port - 1999/2000) - Моё любимое. Подвиг. Ни больше, ни меньше. Изначально игра вышла на PS1 на двух дисках, общим весом 1.2гб. Капком удалось перенести игру на картридж Nintendo 64, в котором было только 64мб памяти. Разрабы Angel Studios (сейчас Rockstar San Diego) сжали игру 20 к 1 без потери игрового контента. Это удалось по нескольким причинам: 1) Свой видеокодек. Кодек разделял слои видеороликов. Черно-белый слой оставался в нормальном для консоли разрешении, а цветовой был ужат где-то до одной четвертой от этого. Глаз сам дополнял цветные пробелы в темных местах игры (по сути почти всех), что позволило сэкономить много места на видеороликах. 2) Задние фоны. В игре не было полностью трехмерных сцен. Всей картой были двухмерные изображения, по которым перемещались трехмерные модельки персонажей. И этих двухмерных фонов были сотни, хотя большие части этих фонов были либо просто темные пространства или повторяющиеся текстуры стен или пола. Была сделана система, которая на лету переиспользовала одни и те же “плитки”, что помогло экономить место. Бонусом шло динамическая смена разрешения этих плиток. Например, если главный герой стоял на переднем плане, то какие-то элементы на заднем рендерились в меньшем разрешении. 3) Саундтрек. Треки игры занимают много места, как самостоятельные файлы, потому разработчики положили “запись” ноты инструмента, а затем в коде написали как играть каждый трек (типа MIDI в Guitar Pro).