Re[5]: О жизни. Или о том как пудрить мозги.
От: NikeByNike Россия  
Дата: 09.05.08 18:45
Оценка: 23 (4) :)
Здравствуйте, kosmik, Вы писали:

K>Так а кто говорит про конкретных программистов? Компания — лузер. Такое обычно достигается совместными усилиями


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

Вообще первые полтора года (после которых я ушёл) выглядели так:
— Всей компанией собираемся и решаем — чего будем делать. Сценаристов и геймдизайнеров нет и не предвидится — потому что один из самых главных их не любит (в именно такой формулировке). Совместно решается что нужно сделать гениальную мегаигруху — универсальный всемогутер, в котором можно всё.
— Считаем планы. Все вместе решаем что через три месяца с нуля сделаем дему, а ещё через три — выпустим мегаигру, после которой Кармак бросит доделывать свой дум.
— Первый месяц работаем спустя рукава.
— Второй — в полную силу.
— Третий — ночуя на работе, в ходе этих ночёвок я понял что значит: "Адамант это стиль жизни".
— Выдаём нечто. Страшное. Неделю отдыхаем после месячного аврала.
Цикл повторяется.

Я там руководил разработкой мат. либы, физики и частей ИИ. Помню что незадолго до ухода сел и правильно посчитал планы. Пропланировал всё. Получилось, что если нормально работь требовалось 1.5-2 года (сейчас предполагаю что ошибся раза в 2). Я сообщил об этом начальству (то которое там до сих пор). Оно забегало, а потом чуть ли не угрожая заявило что в то время как коллектив готов всё доделать через три месяца — я таким вот образом подрываю совместные достижения и т.д. и т.п. Вобщем где-то тогда я и ушёл.

Были у начальства любимчики — нифига не соображавшие, но зато делавшие карьеру. Некоторые зарисовки:
  • Разрабатывался редактор. В нём был использован интересный паттерн:
    Функции возвращали результат с помощью исключений. Например, функция могла кидать в виде исключения HRESULT, Vector или OOB (бокс).
    Т.е. каждую секунду в проге выплёвывалось несколько сотен тысяч исключений и она "почему то тормозила". Наверно из-за кривого рендеринга...
  • Ещё концептуальная идея из этого редактора:
    В игровом движке была куча актёров — игровых объектов которыми мог манипулировать дизайнер делая уровни и все объекты игры. Были объекты меш, фрейм, свет и т.д. Вот в редакторе всё хотели сделать очень универсально. Поэтому в редакторе завели некий суперкласс — который унаследовали от всех классов актёров (порядка 20 штук). Оно почему то не компилировалось, поэтому программист разработчик сделал наследование виртуальным — не зная что это такое. И! Дополнительно сделал редакторные аналоги всех актёров — пронаследовав их от этого супер класса. Меня до сих пор пробивает на хи-хи когда вспоминаю диаграмму этих классов...
  • У Axis-aligned бокса есть разумная функция — операция ИЛИ с точками и боксами. И ещё он может быть невалиден — когда минимум больше максимума. В этом случае любая операция ИЛИ — делает бокс валидным. Оба этих момента используют для расчёта боундинбокса. В целях оптимизации решили где-то использовать ориентированный бокс — а это значительно более сложная вещь. У него вобщем тоже есть операция ИЛИ. Но с её помощью — нельзя расчитать оптимальный описывающий бокс, для этого есть специальная, довольно сложная и тормозявая функция. Когда любимчику понадобилось посчитать оптимальный бокс и оказалось что инвалидация + ИЛИ не работают — обратились ко мне. Я объяснил что подобный подход лишён практического смысла и надо юзать спец. функцию — которую не стоит юзать в той конкретной ситуации из-за тормозявости. Мне не поверили, обвинили в математической безграмотности и саботаже
  • Однажды технический директор спохватился и решил написать спецификацию для системы порталов — весьма сложной штуки — фактически скелет движка. Написал 2 листа А4. Разослал всем. Я прочитал. Ничего не понял. Прочитал ещё раз. Не понял. Решил сходить к ребятам — узнать о чём говорится в этом документе. Пока решал сходить — они сами пришли ко мне — чтобы я как математик объяснял о чём идёт речь. Мы сели разбирать документ втроём. Хохма была в том, что каждые два слова были связаны — а всё предложение — нет. И ни капли конкретики, одна вода.
  • Были ещё странные разборки по поводу физики, но они были слишком фантасмагоричны, я тут не смогу передать всю феерию происходящего. Неграмотное начальство, которое забывает то что ему говорили неделю назад — страшная сила
  • Нужно разобрать угил.
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.