Comments 39
Большое спасибо за перевод! :)
Искал пару дней назад транскрипцию, Кармака уважаю очень, 42 года ему стукнуло на днях.
Уважение по отношению к Кармаку, наверно, уже давно можно считать константой. Он очень много сделал и делает для мира разработки игр.
Не только для разработки игр. Меня и многих моих знакомых он вдохновляет своим упорством. Он молодец и любит то, чем занимается.
Почему я решил прочитать эту статью? По этой причине: «Почему я решил перевести этот текст (ведь он короткий и не особо насыщенный откровениями)? Потому, что это выступление Кармака.» Знал ли я кто такой Кармак? Нет. Но в приведённой выше фразе это сказано, так, как будто авторство статьи решает (и оно действительно решает).

И о чем же статья? Коротко — ни о чем. Видимо авторы такого масштаба мыслят на столько масштабно, что для них фразы типа «К сожалению, кроме этого есть огромное количество нюансов в разработке разноуровневого API» (почему об этом надо сожалеть? огромное, это какое? 100? 200? 1000? есть ли список?), «есть огромное количество других неочевидных вещей» (других? для кого неочевидных? для автора? какие они из себя?), «и все они требуют мастерского, творческого подхода» (это вообще, как? творческий подход от слова творение? мастерский значит работа мастера? какого уровня? 1-ого? 2-ого? что это за уровни такие?)… «Мне хочется, чтобы появилось больше инструментов» (больше это сколько? еще 100? 1000? миллион?). И такими изречениями насыщена вся статья.

Не, ребят. Я не хочу никого задеть, в особенности фанатов (людей, за заслуги уважающих) автора. Но статьи такого рода только ломают голову, разламывая мышление кучей абстрактных стереотипов, основанных только на авторитетности автора и больше ничем (реально — ничем, ни одного подтвержденного факта).

И если хоть кто-нибудь в двух словах сможет объяснить, буду вам благодарен. К слову, приму минусы за форму «ты не прав, думай почему сам», и не обижусь. Спасибо.
не договорил начатую мысль «фразы типа...» — заканчиваю: «имеют конкретное значение» :)
Кармак — это вот.

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

Я перевёл транскприпцию не для того, чтобы в ней искали какие-то указания к действию. Я постарался чуть-чуть передать характер гика, который вырос из любви к коду, как к самоцели.

В его речи, на самом деле, цифры — это ненужная мишура. Квалиметрия и её результаты нужны там, где есть посыл к конкретике для его (посыла) валидации.

В этом переводе нет такого посыла. Речь Кармака — это ширма, за которой показан увлечённый гик, столкнувшийся с тем, с чем сталкивается любой разработчик, который начинает руководить — с переосмыслением своей деятельности.

На том же ХабраХабре есть куча статей про методологию программирования, GTD, серебряные пули — но очень мало примеров, которые иллюстрируют применение всего этого в реальной жизни. Мнение Кармака для многих программистов — это, несмотря на профессиональный нигилизм, достаточно весомое мнение. Реально подкреплённое кучей кода. И культурным наследнием.

Как-то так :)
Теперь понял. Мой комментарий как раз и является концентратом мысли о бессмысленности, скрывающейся за многословностью и подтверждающихся авторитарностью автора. Сейчас я вижу, что выстрел был, что называется, не в кассу.

Понял, что это просто мысли увлеченного уважаемого дядьки :)
Спасибо, что разъяснили!
И, кстати, на самом деле — спасибо за знакомство с этим человеком, действительно весьма интересная личность.
Здесь, в выступлении Кармака, мне кажется, есть ещё один сильный аспект: человек оглянулся, пересмотре свой путь, взглянул со стороны, и делится размышлениями об ОТВЕТСТВЕННОСТИ программиста.
Жаргонно, думаю, аналогично высказыванию «за базар нужно отвечать». Так и с программами.
Имеются ввиду инструменты для разработки ПО в конкретных областях, например применительно к геймдеву. Чтобы отлавливать неочевидные баги, типа рассинхронизации мультиплэйера. Люди не в теме говорят «а у меня такого не бывает», а те кто уже напоролся не задумываются над созданием правил позволяющих избежать такой фигни и продолжают напарываться. У Кармака же достаточно опыта чтобы попробовать формализовать подход.
Мне статья показалась монолитной и по делу.
На самом деле я давно уже жду появления прикладной дисциплины «Разработка компьютерных игр». С профильной научной литературой, нормальной теоретической и практической базами. И человека, который бы систематизировал и обобщил накопленный индустрией опыт.

Ну и это, хочется почитать про superscript от id software.
Кармак здесь не дает ответ на какой-то конкретный вопрос. Более того — не формулирует какой-то отдельно взятый вопрос.
Скорее он здесь указывает направление, область для размышлений. Можно считать это приглашением — вот поле не паханное, присоединяйтесь кому интересно.
«Человек часто не понимает определенных вещей не потому что он глуп, а потому, что эти вещи не входит в круг его понятий.»
Ты просто не дорос до уровня проблем, которые решает Джон. Надеюсь что только пока не дорос… То о чем он говорит, вполне конкретные вещи. Это проблемы программирования, которые остаются за гранью научного подхода. То, что влияет на процесс разработки на столько, что всем научным методам не удается свести к нулю ошибки возникающие в следствие этого.

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


Так а какие подходы использует Кармак?
Боюсь, об этом он расскажет в мемуарах.

Можете почитать тут ­— по ссылке обсуждение оригинального выступления и немного косвенно относящейся к id software информации.
А что за статический анализ, через который они прогнали код и выявили тысячи ошибок?
если взглянуть на отчёты NASA и на объём кодовой базы их проектов, то там «большими» называются проекты с трёмя-четырьмя сотнями тысяч строк кода. В наших игровых движках кода гораздо больше. Вообще, весело понимать, что игровые движки (то, что оживляет компьютерные игры) устроены внутри сложнее, чем то ПО, что контролировало полёт людей на Луну и обратно, управляло шаттлом, заставляло работать SkyLab или работало на орбитальной станции.

Комментарий переводчика или транскрибиста? Сравнивать сложность ПО объёмом строк кода — это сильно ;) За ПО NASA стоит огромный объём математики и моделирования различных процессов и ситуаций на суперкомпьютерах.
Кармак тоже попал пальцем в небо. Называются они большими, потому что итоговые затраты на разработку и тестирование намного превышают разработку «обычного» софта, пусть и с на порядок большим объёмом кода, но цена ошибки которого не измеряется миллионами долларов.
За хорошими алгоритмами тоже стоит довольно много нередко сложной математики. Для ряда графических задач и физики так же приходится находить и применять упрощенные алгоритмы, для чего так же нужна математика (хотя бы на уровне мат.статистики, линейной алгебры, диф.уров и ТФКП). Разница скорее в том, что здесь задачи типовые и многократно решённые, а там сравнительно оригинальные
Наука или искусство?
Я все-таки склоняюсь к тому, что искусственное разделение между ними губительно для обеих областей развития человека.
Наука позволяет систематизировать и накапливать опыт, передавая его другим.
Искусство позволяет создавать неповторимые шедевры, часто локальные, но идеально подходящие под конкретную ситуацию.
Искусство позволяет создавать науку. Наука позволяет создавать новое искусство. Здесь нет противоречия.

Так что, дорогие мои коллеги, «улыбаемся и машем» :-)
На самом деле Кармак сейчас так глубоко и далеко, что многим из нас его просто не понять )
Мы не видим за этими словами ТОГО смысла, который вкладывает в них он
Согласен, люди с такой горой опыта за плечами поневоле говорят притчами. Тут уже речь не о реализации алгоритма или клевой практике написания кода. Это частности и суета сует.
Извините, я может как-то не внимательно читал, но где собственно ссылка на источник — на оригинальный текст выступления на англ.?
Или вы чисто по видео переводили, а на англ. её нет? Может кто-нить подскажет где взять?
На транскрипцию — внизу перевода, в стандартном поле для указания источника переводов. Рядом с социальными кнопками.
Я говорю ребятам, что код, написанный ими сейчас (если он, конечно, не ориентирован на какую-нибудь конкретную игру), может и, скорее всего, будет жить десять лет. И этот код будут использовать сотни программистов

Если не ошибаюсь, движок Source был разработан на основе GoldSource (Half-Life 1), а тот в свою очередь на основе движка Quake.
То есть в таких достаточно современных играх, как Portal 2 или новый CS, вполне вероятно есть код из игры 96-го года выхода! Вот это действительно очень круто осознавать, и поневоле проникаешься уважением к авторам этого кода, и правда, на века писали =)
Only those users with full accounts are able to leave comments. Log in, please.