Приветствую
всех. Решил завести блог по Lost Alpha, где я выскажу несколько своих мыслей касательно
этого проекта. Если такая идея будет интересна читателям, то, может быть, у
блога будет продолжение.
Если кто не
знает, кто я такой, то я - один из программистов проекта Lost Alpha. В первую очередь, хотел
немного поотвечать на популярные вопросы, которые пишут пользователи рунета, а в будущем уже рассказывать о моем участии в проекте и какую-нибудь интересную информацию.
Вопросы немного перефразировал и обобщил:
- Компания GSC взялась за
проект Lost Alpha и полностью его контролирует.
Это не так.
Для того чтобы компания была заинтересована в проекте, он должен быть
соответствующего качества. На данный момент требуемое качество не достигнуто,
хотя список нужных исправлений от них был давно получен, и проект находится в
процессе исправления.
- Компания GSC потребует
вырезать некоторые фичи из Lost Alph’ы,
и произойдет история как ТЧ.
Такого, скорее
всего, не произойдет. Подобные вещи произошли с ТЧ из-за THQ или их самих. Тут же ситуация иная, THQ уже
никаким боком не относится. Однако «фичекат» может произойти к концу разработки
проекта. Уж этого не избежать, к сожалению. В большинстве игр такое происходит.
Даже в недавнем Метро ЛЛ был «фичекат», тем не менее игра вышла очень знатной.
- Сколько
можно исправлять баги? Уже можно было десять раз их исправить за столько то
времени.
Не так все
просто. Давайте разберем поподробнее, что же за баги и почему столько времени
ходит на исправление.
Баги в движке:
Приведу пример
основных багов, которые были в ноябре и как мы их исправляли. На тот момент в движке
было три основных бага, которые не требовали отложения, ибо мешали прохождению (некоторые из них были
написаны в списке требуемых исправлений от GSC):
1) Баг с гулагами. Когда игра некоторое время
начинала жутко тормозить. Думаю, понятно, что в игре такие лаги не допустимы. Причина
искалась несколько месяцев и была найдена по чистой случайности. Скажу, что причина была не простая и догадаться, чтобы баг был в этом файле, было невозможно.
2) Баг в скриптовой системе. Честно говоря, уже не
помню, в чем он заключался, но исправили в январе.
3) Баг, который мешал закончить игру. Мы называли
этот баг - «баг с лестницей». Этот баг
мы смогли исправить, насколько я помню, в марте - апреле. Сначала мы думали,
что он рандомный и игра вылетает, когда хочет. Потом узнали, что надо пройти
полностью всю локацию и тогда он будет появляться стабильно. Подобный вылет не
встречался вообще ни у кого из игроков в интернете. Вылет говорил о некорректности
какого-то объекта, более информации не было, да и вообще информация в вылете
была очень странной. Я решил добавить информацию об объекте в вылете. Лог игры
грешил на одну из лестниц. И тут началось… пробовали двигать лестницу на более
корректное место, удалять и создавать новую, так как параметры прошлой лестницы
могли быть сломаны (удалять лестницу нельзя, ведь тогда по сюжету нельзя будет
пройти игру); удалять аи-сетку на этом месте, однако изменений в логе не
произошло. Позже я заметил, что один раз в логе был написан объект – аномалия.
В СДК этот объект был не сфероидным, а являлся параллелепипедом, как лестница.
После удаления лестницы и аномалии лог сулил на другие аномалии имеющие форму
параллелепипеда. Это было очень странно, ломали головы над этим. Удаляли все
аномалии, и, по-моему, это результата не дало, хотя когда я удалял скриптом все
спавн-объекты, вылета не было. Очень долго с этим копались, пока в один
прекрасный момент в дебаг-режиме не написалось то самое сообщение, которое нас спасло.
Оказалось, что у GSC в
движке была написана ошибка в классе объектов лампочек, в котором из-за
переполнения одного значения намертво висла часть игры, выполняющую одну
операцию со всеми объектами игры. В ТЧ этот баг в движке есть, насчет ЧН, ЗП не
знаю. То есть тогда, когда я удалял все объекты с локации, лампочки тоже
удалялись, и соответственно, бага произойти не могло. Однако, почему игра
постоянно ругалась на лестницу, а потом на аномалии, имеющие форму
параллелепипеда, до сих пор остается для меня загадкой.
Подобных багов я встречал еще несколько, но они, слава
Богу, были не тяжело исправляемыми и не мешали сюжету.
Расскажу также
про баги в скриптах, почему они возникают.
Баги в скриптах:
Люди в команде
приходят и уходят на протяжении всего времени разработки. Не редко хорошие
скриптеры (как и программисты) хотят работать над своим проектом/игрой на своей
скриптовой системе/своем движке. Подобная вещь не обошла и Lost Alph’у стороной в плане
скриптов. А скриптовая система, как известно, связывает практически все скрипты
игры. Так вот, при смене скриптовой системы можно попросту не заметить
какой-либо скрипт или подумать, что он уже не используется. Он останется на
старой скриптовой системе, т.е. он станет фактически не рабочим. Ну а далее, он
забывается и в дальнейшем может быть отключен геймдизайнерами как нерабочий.
Таких скриптов не один и не два. Я видел не исправленные скрипты на скриптовой
системе аж 2010 года от barin’а
(скриптер на то время). Более того, у каждой скриптовой системы есть свои
заковырки, которые новые скриптер может не понять или понять по-своему, что в
дальнейшем вызовет фризы и баги. С момента, как я пришел в команду, скриптовая
система менялась два раза, что увеличило количество багов в скриптах. «Почему
же нельзя всегда работать на одной и той же скриптовой системе?» - можете
спросить вы. Потому что скриптеру всегда удобно работать только на своей
системе, когда все утилит-функции под рукой и скрипты вызываются как тебе
нужно, а не как кому-то захотелось; ну или скриптер категорически не согласен с
этой системой, считает, что «то и это не должно так работать, должно быть по
другому». Это одна из причин возникновения багов. Также есть банальные ошибки к
скриптах и конфигах, от этого никто не застрахован :)
Сейчас же есть
рандомные баги, которые очень тяжело отследить и неизвестно как исправлять.
Теперь, я думаю, нас смогут понять, почему все это тяжело и долго.
- Они там
несколько месяцев заменяют одни деревья? На это уйдет от силы недели две.
Изначально я
не хотел отвечать на этот вопрос, однако хочу все-таки ответить, дабы подобных
странных вопросов по поводу деревьев больше не возникало. Деревья, которые сначала
были в Lost Alph’е,
частично взяты из билдов. Соответственно, эти старые деверья были малополигональными
и имели не очень хорошие текстуры. Когда решили заменять деревья, решили не
ограничиваться заменой текстур, а решили сделать также замену моделей. А теперь посчитайте,
сколько времени уйдет замену всех деревьев в 3д редакторе, потом проверка
геометрии в СДК каждого дерева/кустика, тестовую компиляцию уровня, проверку в
игре всей геометрии и компиляцию уровня на максимальном качестве. Сейчас еще
много предстоит работы с деревьями.
- Почему
разработчики не делятся информацией и не пишут статей о проделанной работе?
Почему не
пишут? Пишут, только не получается делать это часто. Если вас интересует, чем команда занимается
на данный момент, вы всегда можете спросить на официальной странице мода на ModDB.
Ладно, вроде на всё ответил :) Если подобная информация в виде блога читателей устроит, то, может быть, получится что-нибудь рассказать, например, про то, над чем на данный момент я работаю/работал в проекте, или что-либо еще.
До встречи.
Помню, года три-четыре назад решил один скриншот обработать и выложил на lost-alpha.com
Вот тебе и на