Игроки и программисты обсуждают "кошмарный" код в современных AAA-играх
Пользователь под ником garciawilton, который представился инженером-программистом со стажем работы в 8 лет, начал интересную дискуссию на форуме Reddit. Программисты разного уровня вместе с обычными игроками принялись обсуждать, насколько ужасно организован код в современных крупнобюджетных проектах. Оказалось, что в большинстве AAA-игр творится полный «кошмар», который, вероятно, стал причиной откровенной неоптимизированности всех последних релизов.
Как отметил garciawilton, он успел поработать над самыми разнообразными проектами в крупных студиях. Несмотря на огромные бюджеты и кинематографичность современных игр, «под капотом» творится настоящий ужас. По словам разработчика, большинство игр страдают от ужасно неорганизованного кода, а студии используют неправильные стандарты кодирования. Из-за этого возникают самые разнообразные проблемы, начиная от мелких багов и заканчивая низкой производительностью, от чего страдают все новинки.
В обсуждениях также были поделены интересные анализы некоторых отдельных проектов. Например, неожиданно в такой довольно старой ММО, как Guild Wars 2, один из лучших кодов. Несмотря на многочисленные обновления и масштабные переработки игры, разработчикам удается сохранить понятную структуру всего кода игры, включая даже параметры, связанные с движком.
А вот в Halo 5: Guardians, как и в Halo Infinite, ситуация обстоит намного хуже. Разработчики из 343 Industries используют очень перегруженную структуру библиотек с кодом, который использовался в их проектах еще в 1992 году. Примерно такой же хаос с кодом происходит в Apex Legends. По словам одного из разработчиков, популярная королевская битва построена на базе Source, который был сильно модифицирован и в некоторых местах даже заменен, что делает разбор кода игры практически невозможным.
движок — это инструмент. То, что с его помощью получится зависит исключительно от рук того, кто им пользуется. Т.е. от разработчиков. Это как молоток. Им можно как гвозди забивать, так и проломить кому-то череп или разбить окно. Говорить что всякие непотребства происходят потому что молоток позволяет себя так использовать — неправильно. Всё что угодно можно использовать не по назначению. Дело всегда в людях, которые пользуются чем-либо, а не в инструментах и не тех, кто из создал.