Оффтоп Alexey Medvedev
2 340

Байки старпёров девелоперов

Одна из самых любимых историй, которые у меня были в геймдев-жизни.

В закладки

Мы готовились выпускать первый Крайзис и я был ответственным за оптимизации на всех возможных конфигурациях РС. Да, я тот самый чувак, которого нужно пинать, что первый Крайзис не работал на вашем отстойном РС. Это была политика партии, у нас был план. Сейчас же он работает,да? Это моя заслуга!

В тоже самое время -это страшный секрет, у нас была версия для x360. И да, любители РС, она работала. Работала на нашем уровне, который мы показали на Е3. И у нас уже тогда были автоматические тесты, каждый билд они старательно запускали поледнюю ревизию и прогоняли проход камеры и все остальное. И все работало прекрасно до одного дня. После чего, все тесты стали валиться. Я стал выяснять, в чем дело, и все казалось таким же. Тот же код, но, сука, валится. Я пришел к столу нашего билд-инженера, он кстатит тоже их наших, бывших, но всеже, Дениса и спросил, что, блин поменялось то? Денис, ответил, ничего, кроме разве что, того, что он бокс поставил набок.

И, собственно в этом и заключался весь прикол.

Реально, xbox повернутый на 90 градусов не работал и сбоил при тестах...

{ "author_name": "Alexey Medvedev", "author_type": "self", "tags": [], "comments": 27, "likes": 92, "favorites": 30, "is_advertisement": false, "subsite_label": "flood", "id": 20058, "is_wide": true }
{ "id": 20058, "author_id": 58304, "diff_limit": 1000, "urls": {"diff":"\/comments\/20058\/get","add":"\/comments\/20058\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/20058"}, "attach_limit": 2, "max_comment_text_length": 5000 }

27 комментариев 27 комм.

Популярные

По порядку

Написать комментарий...

Alexey Medvedev

38

Если нравится формат, готов продолжать. Такого добра за карьеру накопилось море

Ответить

Олег Янушевский

Alexey
3

Бомби, интересно)

Ответить

mishka_kokosolapiy

Alexey
0

Ждем новых историй!

Ответить

Shamil Yanbuhtin

Alexey
0

Давай еще! Всегда интересно почитать/послушать байки коллег =)

Ответить

Миша В Огне

34

Нельзя не упомянуть прекрасные истории про разработку Блитцкрига.
https://burrarum.livejournal.com/32707.html
"Если верить одной широко раскрученной байке, то в режиме огибания рельефа местности автопилот истребителей F-16 израильских ВВС выходил из строя при полете над Мертвым морем. Высота машины в какой-то момент пересекала отметку "уровня моря", происходило деление на ноль отчего у автопилота приключался паралич мозга.

Чего уж говорить, если фирма Lockheed Martin может так опростоволоситься, то что взять с нас, простых разработчиков игрушек?

На моей памяти из проектов Nival Interactive наиболее урожайным на комичные баги был Блицкриг 2. Если кто не знает, это такая стратегия на тему второй мировой. Очень кстати смешная даже и без багов. У нас был строгий немецкий издатель, а немцы они страсть какие пугливые до всего что связано с их нацистским прошлым. Упоминать имя фюрера нельзя, слова типа "нацистский", "фашистский" тоже табу, даже свастика у нас была не настоящая, а стилизованная. И это при том, что между миссиями у нас были ролики, поясняющие какие-то исторические события связанные с игровым процессом. В результате получилась эдакая гламурная войнушка в стиле галантного века только с танками и бомбардировщиками без особых претензий на историчность. Кстати, видя какое у нас получается непотребство, наш военный консультант попросил убрать из титров его имя :)

ФАУ-2 - это такая немецкая мегапетарда. Германия ими под конец войны докучала Великобритании, но без особого успеха. Вундерваффе страдало от кучи детских болезней и хорошо если могло оторваться от земли. Зачастую взрывалась прямо на стартовом столе, а уж коли отрывалось да еще и летело в сторону Англии, то уж вообще успех. Горючее, между прочим, 3,5 тонны этилового спирта :)

Ну, сделали и мы в Блицкриге эту самую ракету. Как и немцы, сделали ее уже ближе к концу проекта и соорудили на базе объекта "самолет". Но программисты несколько схалтурили и не пооткручивали у бывшего самолета подозрительную для баллистической ракеты функциональность. Оказалость, что если во время полета к цели начинал идти дождь или снег, то во-первых ракета говорила человеческим голосом "Fliege zuruck"(нем. лечу назад), а во-вторых разворачивалась и летела обратно на базу. Фигли там, погода то нелетная.

А еще был у нас замечательный юнит - отряд спецназовцев. Войска у нас могут получать в ходе миссии опыт, а за опыт дают всякие интересные способности. Так вот, донельзя прокачанные спецназовцы получали возможность маскироваться под вражескую пехоту. Достаточно было просто кликнуть в отряд неприятельских солдатиков, и наши бойцы переодевались в их форму. Можно было безнаказанно разгуливать по вражеской базе. Ну, до первого выстрела, конечно.

Но, беда в том, что в Блицкриге кроме собственно пехоты еще были всякие антуражные юниты, типа коров, свиней и собак. Выяснилось, что спецназ вовсе не чурается переодевания в бобиков и хавроний. Если учесть, что механизм этого самого переодевания несколько глючил и часть отряда можно было нарядить в одну форму, часть в другую, то можно было создавать совершенно безумные подразделения. Например, отряд из собак, свиней и панцергренадеров. Учитывая, что отряду можно отдавать всякие приказы типа "маршировать", "ползти" и т.д., то игроку предоставлялась уникальная возможность полюбоваться марширующими свиньями. Получалось это у них, впрочем, паршиво, потому что скелет свиньи не соответствует скелету пехотинца и выглядит это как отряд ездящих не попе хрюшек. А еще этот цирк-шапито можо было запихать в окоп. Сидят, значит, свиньи с собаками в окопе и периодически из него выглядывают.

Со свиньями был связан, кстати, еще один баг, из-за которого игра падала. В какой-то момент программисты что-то такое там подкрутили и свиньи перестали быть нейтральными, а обрели возможность принадлежать какому-то игроку. Управлять ими было нельзя, но формально они могли быть "наши" или "ненаши". Так вот свиньи роняли игру. Потому что видя неприятеля, патриотичная хавронья хотела дать врагу отпор и лезла за оружием, которого у нее естественно не было. Если мне не изменяет память, программисты исправили баг, просто выдав свинье пистолет Люгер без патронов. Визуально это никак не видно, но формально, теперь, видя врага, она лезет за оружием, видит что патронов нет и на этом успокаивается.

Кстати, собака, в отличие от свиньи, может кусаться. И число укусов у нее ограничено, кабы не соврать, десятью тысячами. Потом у барбоса кончаются "патроны", и он становится безобидным. Кстати интересный вопрос, я не проверял, будет ли грузовик снабжения, который подвозит боеприпасы, подносить патроны собаке?"

Ответить

Alexey Medvedev

Миша
5

Помню эту историю. Это было кажется в ЖЖ и собственно ни Плахов ни Бандурес ее не отрицали. Так что верю. К сожалению с автором знаком только заочно

Ответить

Timur Kvasov

Миша
2

Там и про HOMMV была веселая история:

https://burrarum.livejournal.com/14114.html

Ответить

Роман Лесной

Миша
1

Учитывая, что отряду можно отдавать всякие приказы типа "маршировать", "ползти" и т.д., то игроку предоставлялась уникальная возможность полюбоваться марширующими свиньями.

Вот тут сомнительно. Раз у свиней нет анимаций "маршировать" или "ползти", то игра, скорее, моментально вылетела бы, выдав ошибку анимации. Тем более, ниже сказано про аналогичный отказ при отсутствии свинского оружия.

Ответить

Роман Лесной

Амир
0

Что-то мне кажется, что анимация там всё-таки прикручена специально.

Ответить

Миша В Огне

Роман
1

масонский заговор

Ответить

IHaveNoMouthSoIMustWrite

Роман
0

Смотря, как кодили. Могла вызываться какая-то заглушка

Ответить

морковный сок

9

подписался на тред

Ответить

Павел Сотников

морковный
1

Как это сделать?

Ответить

Mihail Medvedeff

Павел
1

Кнопка "в избранное" сверху

Ответить

Anton Tsvetkov

2

Забавно. Другую консоль не пробовали взять? А ещё надо было провести серию испытаний чтобы определить критический градус наклона консоли, после которого тесты переставали работать.

Ответить

Alexey Medvedev

Anton
2

Поменяли конечно же, когда выяснили. Оказалось, что серия была бракованная.. Но от этого факт не перестает быть забавным! Мозг себе убили, прежде чем поняли в чем дело.

Ответить

Роман Лесной

Alexey
3

Скорее всего, дело было в прилегании радиатора, при наклоне прижим становился слабее, ЦПУ недостаточно охлаждался, и перегрев влиял на стабильность, если температура под нагрузкой уже была критической.

На иксбоксах была вечная проблема с охлаждением.

Ответить

Alexey Medvedev

Роман
0

Да, именно так

Ответить

Никита Овсянников

Alexey
0

Поэтому разрыв между платформами 3 года?

Ответить

Oleg Polnikov

1

продолжай

Ответить

The Most Known

1

Бред какой-то.

Ответить

Шура Северный

0

Чаепровод этому господину!
Срочно!

Ответить

Svyatoslav Torick

1

ОМГ, RUDYBEAR

Ответить

Pavel Shestakov

0

Прочитал все четыре байки. Все круто, но блин... потратьте 5-10 минут времени дополнительно на орфографию, пунктуацию и хотя бы пару картинок =)

Ответить

key

–1

Сначала пруфы, а то и я так могу:
холодной финской зимой 1997 года после успешного окончания работы над Death Rally мы(нас тогда было всего шестеро) в полугаражном офисе разрабатывали прообраз макса пейна. Через общих знакомых Петри (Ярвилехто) мы вышли на крупнейшего в Европе издателя компьютерных журналов. 3д тогда набирало обороты и грозилось стать прорывом в индустрии на PC. И парни из VNU Business Publications попросили нас создать 3д бенчмарк. Позже он превратился в известный Futuremark, но зимой 97 года это была технологическая демка, в которой полицейский в плаще отстреливается от технологичных орков. Тогда на волне робокопа и судьи дреда такой сюжет нам казался безбашенным и крутым. Демка была сырая и вечером к нам приезжал директор VNU Business Publications, чтобы лично посмотреть наши достижения(тогда приехать из другой страны было проще, чем отправлять пачку дискет почтой). Мы впятером об этом знали, но Самули (Сувахоку) недавно приехал из поездки прямо во время обеда и приступил к работе. Сразу же начал править старый баг анимации и добавил в код таймер. Тогда многие интересные на первый взгляд вещи не доживали до окончательной реализации и для нас было обычной практикой сделать прототип на скорую руку и потом допиливать реализацию. поэтому таймер представлял собой простой цикл. Но при этом в используемом нами компиляторе(а многие из них тогда были сырыми) был баг, который каждый цикл вставлял пустые инструкции по количеству циклов. Разработка велась на двух компьютерах(еще не было никаких репозиториев) и когда мы пришли с издателем запустили демку именно с компьютера, за которым сидел Самули, тк только он был включен(мы тогда выключали компьютеры даже когда уходили на обед, потому что мониторы того времени имели свойство выгорать). Самули же думает, что этот издатель это еще один фанат Death Rally и с энтузиазмом показывает еще не оттестированную демку. Надо было видеть в каком шоке был издатель, когда при перекате под такт музыки постепенно просела кадровая частота(возможно и изменение такта музыки связана с этим же) и главный герой сделал постепенный перекат, а модели пуль вокруг него на какой то момент замерли, а потом анимация резко закончилась и все вернулась на круги своя. За главным героев прогремели взрывы ядерных бочек. Издатель открыл рот. Мы тоже, но про себя. Вот так мы и изобрели замедление времени до матрицы.
на правах выдумки

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]