53. Олег Чумаков из Nival про программирование

Олег Чумаков, старший программист московского Nival, рассказывает нам о том, как выучиться и стать программистом в геймдеве, чем занимаются программисты, где их находят и как отличить хорошего программиста от плохого. И еще немного про Code Review, контроль качества, версионность и прочие страшные слова.

Ведущие — Сергей Галёнкин, Михаил Кузьмин и Сергей Климов.

А гостем следующего выпуска будет Николай Дыбовский, руководитель студии Ice-Pick Lodge. Вопросы ему можно задать здесь.

1. Пятьдесят третий подкаст     

Скачать подкаст можно по этой прямой ссылке (103 Мб)

Содержание:

00:00:00 Вступление
00:02:00 Как Олег попал из Удмуртии в игровую индустрию
00:05:00 Почему именно Nival
00:06:00 Чем отличаются старшие программисты от младших
00:10:00 Откуда берутся программисты и как стать программистом
00:13:00 Где взять готовых программистов?
00:18:00 Как отличить хорошего программиста от плохого?
00:20:00 Свой движок или готовое решение? Сравнение движков.
00:26:00 Сравнение платформ для инди
00:29:00 Почему все оценки программистов неправильные
00:32:00 Предпродакшн в программировании
00:34:00 «А давайте все переделаем» и как с этим жить
00:36:00 Миф о ТЗ
00:41:00 Почему программисты получают так много и почему программисты получают так мало
00:48:00 О пользе формального образования
00:52:00 Документирование кода, увольнения и индусский код
00:55:00 Code Review
01:01:00 Что учить программистам?
01:10:30 Как программисты разбивают задачи
01:16:00 Почему версии бывают так редко?
01:25:00 Вопросы

Ссылки по теме

Вакансии Nival
Открытые курсы Массачусетского технологического института
Открытые курсы edX
Открытые курсы Coursera, в частности по алгоритмамвот еще)
Прекрасное для совсем молодых программистов: Google Summer of Code 2014 и Google Code-In 2013

Подписаться на подкаст можно по RSS или добавить в iTunes. Полный список подкастов есть на сайте Galyonkin.com.

Подкаст есть и в списке iTunes, его можно найти через приложение «Подкасты» по запросу «galyonkin».

Музыка: Michael Chapman — Goodwill Cowboys Ride Again

  • Гость

    Только подумал когда там вечер наступит, и сразу подкаст запощен! Nice telepathy!

  • Гость

    Я был одним из просящих, спасибо.

  • Ktototam5

    фотка не очень, кажется что губы накрашены… а так послушаем канеш

  • Да, плохая фотка, но это единственная, что нашлась в нужном разрешении 🙁

  • artemnikitin

    Климов жжет ) «Приходишь с пузырьком и сортируешь» ))

  • Igor Mosyagin

    спасибо за подкаст! Очень любопытно слушать с точки зрения «а вот как бы я эту сложную штуку объяснил простыми словами» и сравнивать с ответами гостя в таких подкастах

  • Ison

    Поправить может?

  • GeneralElConsult

    Большое человеческое спасибо.

  • Мимо Михаил

    k2

  • artemnikitin

    Это Галенкину в ответ на вопрос «Почему бы сразу не запушить» )
    мhttp://voron-vp.livejournal.com/42033.html

  • Ison

    Я не понял, но я уже сделал)

  • Я упоминал в подкасте Ludum Dare, вот информация о мероприятии — в нём можно принять участие из любой точки мира, включая Россию: http://www.ludumdare.com/compo/rules/. В декабре 28-й будет!

    >>>
    About Ludum Dare

    Ludum Dare is a regular accelerated game development Event. Participants develop games from scratch in a weekend, based on a theme suggested by community.

    Ludum Dare was founded by Geoff Howland, and held it’s first competition in April of 2002. Since then the community has run 27 regular Events, several dozens of practice competitions, collectively creating many thousands of games in just a weekend each.

    The event attracts developers from all sides of the industry. Students, hobbyists, industry professionals from many well respected game studios, as well as many independent game developers.

    For many people, it can be difficult to find or make the time create a game or prototype for yourself. We’re here to be your excuse.

  • Гость

    Что играет в конце?

  • Спасибо!

  • komarVadim

    Ох приятно услышать земляка человека с Удмуртии. Круто.

  • Иван Булкин

    Вин, история прекрасна.

  • GeneralElConsult

    C 31-ой минуты про «неясности» повторение.

  • Друня

    В Питере в том самом Клютче ребята в духовных свитерах собираются и участвуют. В целом очень мотивирующая и прикольная штука.

  • Pbs

    Я тоже из Глазова 🙂 Тоже работаю на московскую компанию… К сожалению, в провинции работы нормальной нет от слова вообще.

  • Друня

    Cocos2d изначально на питоне и не iOS, просто самым популярным стал его порт на objective-c «Cocos2d-iphone». Вроде от Cocos2d-iphone развился Cocos2d-x, но тут могу ошибаться. И есть надстройка Cocos3d, так что номинально там не только 2д.
    Я во всем этом поковырялся и написал свою программу на Cocos2d-iphone + Cocos3d… теперь сижу на Unity.

  • Iurii Zakipnyi

    Сейчас под патронатом Zynga делается Cocos2d-x 3.0 и там уже более-менее хороший движок из которого убрали наследие -iphone версии и добавили новые фичи, которых часто не хватало.

  • Друня

    Чел, который написал Cocos2d-iphone переходил работать в зингу. Я правда давно уже не слежу за темой 😉

  • вот после такого я и боюсь программистов…

  • GeneralElConsult

    И за ссылки отдельное спасибо!

  • Iurii Zakipnyi

    Программисты они такие, часто пугают людей «питоном» с «кокосами»..

  • Друня

    Dune 2 изначально была не на сеге, а на MS-DOS. Просто компов было меньше чем приставок у народа тогда. Именно с Dune 2 потом появился Command & Conquer. А Dune 2000 хоть и является своеобразным ремейком Dune 2, сделана уже на базе C&C: RA……

    Первый пример, что пришел в голову 😉 В общем дело не в программистах, а в гиках, а они у каждой сферы свои.

  • Гость

    песня мифических программистов

  • я понимаю, да.

    не надо путать net и adjusted gross, потому что если есть gross, из которого вынули налоги и платформу, то это как раз adjusted gross, net’ом он станет только после вынимания deductibles. а rev share обычно берётся как раз от net’a, если только deductibles не индивидуализированы.

    в каждой области свой жаргон )))

  • Kinrany

    Отличный подкаст!
    Хочется такой же, но с геймдизайнером-математиком, который крутит коэффициенты и делает прототипы.

  • [email protected]

    ЕА купила Criterion с их движком RenderWare, в итоге Rockstar Games пришлось переносить на новую технологию Bully.

  • Stif

    OST из Assassin’s Creed 2: Revelations

  • Я пытаюсь сейчас Скаковского уговорить, он как раз такое умеет

  • Arhangel Serafimovichev

    Если я правильно понял, Друня хотел(ла) сказать, что люди, это основной фактор эволюции творческого контента.

  • Друня

    Этого я не хотел сказать, но как может быть иначе)
    Сергей меня правильно понял. Мой коммент был всего лишь информативный и «исторический» что ли, не несущий никакой творческой составляющей, но имеющий много «непонятных» со стороны слов. «Кокос на питоне» только чего стоит. Ну а Сергей показал почему я не бесдэв, ой биздэв, и не юрист.

  • Alex Marakesch

    Крутой подкаст, спасибо. Очень все круто рассказали+)

  • Влад

    А как насчет вам записать подкаст самим с собой? Например весь выпуск про адвокатство Климова.

  • Спасибо за полезную информацию. 🙂

  • Александр

    Может вопрос не в тему, но т.к. в описании указана ссылка на вакансии Nival, то спрошу: почему в Москве есть вакансия младшего гейм-дизайнера, а в Киеве нет?

  • Shmatter

    а спать-то когда…..?

  • продюсер

    А я и то, и то понимаю=)

    Вот вам из мира hardwear:

    Процессоры с одинаковой архитектурой и одинаковой частотой могут отличаться в производительности в разы. Потому что в случае устаревших архитектур длинна микрокоманд может быть выровненна по длиннам при помощи NOP. Чтобы сделать все команды длинной в одинаковое количество тактов. Если удалить NOP — то производительность возрастет. Опять же стоит учесть in-order и out-of-order execution в pipeline обработки микрокоманд.
    Это может привести к некоторым проблемам совместимости — если разработчик ожидает однозначного поведения.

  • Приз в студию!

  • Судя по истории Олега в начале подкаста, всегда можно добиться позиции для себя, если быть настойчивым.

  • хороший пример!

  • ‮‮‮

    Читал как триллер.

  • famiak

    Отличный.

  • famiak

    Сон для слабаков.

  • а вот про тебя и твой путь я бы поговорил, кстати!!

  • лучше Сапковского!

  • господи.

    на ум приходит только что-то из области регистрации товарных знаков, и разницы между классами, доказательствами использования и последствиями для Мадридского соглашения )

  • Шедевр! Художница Alexandra Lebedeva теперь — моя личная героиня!

  • И правда, Михаил — самая загадочная фигура в подкасте. Говорит про игры, сводит подкаст, ведет guitarplayer.ru — но где геймдев-то?)

  • Oleg Shumitckii`

    Ну прямо взял и начал заниматься программирование. Олег молодец, толково всё расставил по полкам.

  • Отменный выпуск, обязательно переслушаю ещё пару раз. Бобродарствую!
    Вспомнилось как гонял на небольшое совещание в роли переводчика между художниками, геймдизом и программерами. Непередаваемые отютения =)

  • Kirill Mikhel

    Еще пара интересных:
    http://nordicgamejam.org/
    http://7dfps.com/

    А вообще:
    http://compohub.net/

  • Тсссс… Я черный кардинал, и мое имя слишком известно, чтобы я его называл! (На самом деле нет)

  • Nick Pavlov

    Опять новости о games night, когда же наконец наступит черед Калининграда!? Ребята, есть ли информация о планировании даты проведения или возможно нужна какая-то помощь в организации!?

  • Eugen Gorodetskiy

    Ничего не понял, но Почему то вспомн-лись интервью с А. Чумаченко.

  • WineSays

    Страшно сказать — тоже не программист, но принимал участие в последних двух Ludum Dare (Jem) 26-27. 20-е место в категории graphics — спасибо trial-версии Unity3D, оставшейся после недавнего 7DFPS (когда Нотч стянул со своей Shambles одеяло со всех на себя : )

    К чему это все — в прошлом подкасте был вопрос о том, где все game-дизайнеры и что им показывать в качестве портфолио? Если человек способен создать простую, но законченную игру (где хорошо сочетаются все — от звука, визуального стиля до игрового процесса и далее), имея на руках всего пару дней, открытые источники музыки и т.д. как считаете, может это и есть то, с чем стоит идти на порог игровой индустрии?

  • обсуждение KGD в почте тихо заглохло — все вроде бы и «не против», но реально кроме Миши никто ничего конкретного не предложил, а Миша в последнее время сильно перегружен и в ноябре в Киев приедет и так, так что получается, что KGD — это 2014 где-то…

  • Nick Pavlov

    С Мишей я никак связаться не могу… тоже предположил что занят!! Буду рад если в одном из следующих подкастов объявите о начале подготовки к мероприятию в Калининграде и уже тогда свяжемся с Мишей, буду рад помочь в организации!! Крутой подкаст )) спасибо!!

  • Кто уже прослушал подкаст — тот поймёт ). Сегодня вдруг получаю вот такое сообщение в Скайпе от Олега Придюка из Unity. Не сразу даже понял! Миша, привет )

  • Алексей Липский

    Шикарнейший подкаст, спасибо) На работе используем TortoiseSVN, описания изменений фиксятся в нем довольно поверхностно. Попробую для описания Code Review или аналоги.

  • подкастоголик

    Анжея?

  • Гость

    вот она, слава

  • Shmatter

    с языка сорвал….

  • Shmatter

    Сигизмунд Дийкстра?

  • Shmatter

    Я всегда подозревал, а после подкаста точно уверился — погромисты боги 21 века. А мы все остальные — ну там геймдизы, артисты, даже лиды, продюсеры, и топы — так, пыль под ногами….

  • Ktototam5

    хорошо получилось

    юриста пригласите, пусть расскажет чёкак

  • DMinsky

    Ито правда, Сегрей, позови уже Климова в подкасть!

  • DMinsky

    Люто-бешено плюсую. С Климовым и Галенкиным все понятно, чешут языками без умолку. А вот Миша вроди умный), а мы про него ничего и не знаем.

  • Mikhail Mezhenin

    В Челябинске, в крупнейшем ВУЗе города (ЮУрГУ) недавно открыли магистратуру «Технологии разработки компьютерных игр» (http://sp.susu.ru/master/games/index.html) для программистов. Всё ещё только-только зарождается, но.

  • Ilya Shilin

    На Source кстати TitanFall сделан. так что все разговоры о несостоятельности Source идут от криворуких и без хорошего арт отдела. хотя програмисту про уровень входа виднее. единственное что когда я моды делал на Source проще было делать чем на Unrial лично по мне.

    Спасибо за подкаст.

  • Ludum Dare — это соревнование по ускоренной разработке игр, в котором могут принять участие как команды, так и одиночки. Для этого не нужно подавать никаких заявок, нужно лишь зарегистрироваться на официальном сайте: http://www.ludumdare.com, сделать игру в срок (для команд это 72 часа, для одиночек — 48 часов) и разместить ссылку на игру в специально отведенной теме.

    Отличие локальных сборов Ludum Dare от обычных заключается в том, что участники собираются в живую на время конкурса. И это организовывается лишь по большому желанию кем-то из участников.

    Известно несколько случаев, когда прототип, созданный в рамках Ludum Dare давал начало более масштабной игре: Evoland, McPixel, Gods Will Be Watching.

    Участие в Ludum Dare не подразумевает никаких взносов, внесения заявок и т.д. Это лишь возможность отвлечься от повседневных дел и получить удовольствие.

    Пользуясь случаем хочу рассказать о сайте Ludum Dare по-русски: ludumdare.ru, на котором размещен FAQ основных моментов и принципов конкурса, результаты прошлых LD и перечень оффлайн мероприятий в постсоветском пространстве (пока это только Омск и Санкт-Петербург). Сайт был создан на добровольных началах, в качестве побочного эффекта от ведения группы Ludum Dare в социальной сети vk.com.

    Спасибо за внимание!

  • Amanthul

    В WoW на руоффе никто не выплачивает деньги/время за т/о или лежащие сервера, если что. Хотфиксы в большинстве своём накатываются на живую, даже без перезапуска и во время боя.

  • В WOW фиксированные техработы раз в неделю уже много лет, когда они последний раз накатывали что-то неожиданно?

  • Amanthul

    Да постоянно на живую накатывают хотфиксы. Без перезапуска миров, зачастую. Всё это публикуется прямо в блоге на сайте.
    http://www.youtube.com/watch?v=b27Jy1_gkXU

    Вот тут Близзард увидели, что босса убивают в обход механики. И исправили это 😀

  • kekeke

    Поэтому и не знаете.

  • вот вы всё говорите, что гейм-дизайнеры — это математики.
    я математик по образованию (но не программер), где мне найти тех кошек, на которых тренироваться на гейм-дизайнера?

  • программист

    Очень много попрограмил на Source. Сделать на нем что-то отличное от шутана от первого лица — это мегаподвиг.
    Реально кривой двиган.

  • Ktototam5

    его сложно будет уговорить…

    я про игрового юриста, конкретной компании

  • Ilya Shilin

    Не Постала 3 случаем?

  • Денис Полулях

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

  • моды попробуйте делать.

    в индустрии нет вариантов, когда тебя берут за руку и чему-то учат )

    все состоявшиеся начинали сами: рисовать, программировать, придумывать.

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

  • Из юристов, звать надо Немову (indie + Wargaming) и Занина (Wargaming).

  • мимокрокодил

    «паттЭрн» детектед.

    А выпуск очень годный, дам послушать своему подростку, который пока только в мечтах программист.

  • Антон

    Сергей Галёнкин скорее всего имел ввиду Global Game Jam http://globalgamejam.org/ , в котором обязательна регистрация места проведения. И он длится только 48 часов, в отличие от командного Ludum Dare

  • buddax2

    Вот я просто фигею от таких программистов которым сказали переделать что-то и они носом воротят. Это же обычная работа, сказали гайку крутить — крути. Программист — не дизайнер, пусть код себе дизайнит так как хочет. Работаю в достаточно большой компании и каждый день вижу таких ноющих программистов. Понятно, что безразличным тоже нельзя быть, но не перегибая палку.

  • Антон

    Курсы Udacity в ссылки добавьте https://www.udacity.com/

  • А когда с Дыбовским подкаст?

  • А когда с Дыбовским подкаст?

  • Вы принципиально не читаете перед тем, как комментировать?

  • Вы принципиально не читаете перед тем, как комментировать?

  • Еще и в 3D

  • Да читаю же 🙂 Я хотел узнать более определенно когда — а там написано что «следующий подкаст» и все.

  • buddax2

    как вовремя подкаст вышел. Я как-раз раздумывал какой бы движок покрутить. Спасибо за краткое описание, можно сказать, из первых рук 🙂

  • buddax2

    И да, уже начал Unity разбирать

  • Ilya

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

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

    3. “А давайте все переделаем” и как с этим жить — желающим все переписать давать читать «Рефакторинг» Фаулера и пусть рефакторят помаленьку, по опыту скажу, что выкинуть все и написать заново проблему не решит

    4. Коммиты для художников (из прошлого подкаста с программистами) — а техническом способом проблема не решается? например настроить отправку коммита раз в N часов

  • А когда собственно в Киеве будет геймс найт? Нашел информацию только по прошлой встрече.

  • Sergey Volkov

    Олега очень интересно и понятно слушать, таких программистов хочется побольше 🙂

    Очень хочется подкаст с 3 гостями одновременно: Климов, Галёнкин и Кузьмин. На каждого по полчаса, но именно не в формате поделиться новостями, а в формате гостя. Климов конечно был, но прошёл уже год и у Сергея много нового появилось в профиле на LI 🙂 Про конкретную деятельность Галёнкина понятно лишь частично, а Михаил вообще серый молчаливый кардинал)

    Ну и Немову зовите уже скорее, мне кажется, что она сможет сломать кучу стереотипов о юристах

  • Mihail Oryol

    Напишите ктонибудь название трека, в конце подкаста играет…

  • 16 или 23/11, в ближайшее время должны определиться в связи с площадкой.

  • Denis Stepanenko

    Интересно, а Nival открывал/планирует открывать исходники старых игр?

  • Ш.

    Только добрался. А где обещанная картинка с домом? 🙂

  • we2e

    wdwe2c

  • Антон Бреусов

    В WoW очень часто сервера ребутают и между недельными тех-работами. Особенно если что-то свежее выкатили.
    Хотфиксами по живому похоже лечат то что можно так залечить, то есть мелкое и от фикса ничего не умрёт.

  • Amanthul

    Ох не сказал бы, что очень часто ребутают. Пару раз в месяц, может быть.
    Ребутают, когда хотфикс не сможет работать без ребута. Это относится, например, к изменению ассортимента у торговцев, к изменению статов на предметах (на время починки поставили необходимый уровень на 91). А всякий урон от скиллов, баги заклинаний — всё в живую.

  • Антон Бреусов

    Личное мнение. Исходники Source местами просто пугали, какие там адовые хаки были. Да, это были те самые ликнутые исходники, то есть с тех пор многое зафиксили, но всё же. Из исходников Unreal (сначала только публичной части Unreal 1, позже ликнутых Unreal 3) я многое почерпнул на предмет как может быть устроена архитектура движка.

  • Антон Бреусов

    Я помню у них случались «плохие дни», когда после какого-то планового патча начинались ребуты в день по несколько раз, и это длилось пару дней. Я даже просто уходил в офлайн на всё это время. Такое у них случается конечно не часто, раз в полгода где-то, но бывает. А есть и разовые серверные фиксы с ребутом между тех обслуживанием где-нить в ночное время.

  • Amanthul

    То не ребуты, то сервера просто ложились)
    А если и есть ребут — о нём почти за сутки пишут в сообщении слева (а уже и в лаунчере желтой строкой)

  • Amanthul

    http://www.noob-club.ru/index.php?topic=28326

    Вот,, например, хотфиксы от 18 числа. Один только пункт не требовал перезапуска. Три — требовали. Обычно, 90% хотфиксов не требует ребутов.

  • Антон Бреусов

    Не, я именно про те, где тебе выскакивает сообщение, что щас через 15 минут будем ребутаться. А ложатся они и того чаще, чего уж там — сервера Оргриммара на СД сами не раз ложили.

  • Александр

    Недавно стал вас слушать. Очень познавательно. Хотел бы обратить внимание на язык программирования haxe (haxe.org) и openfl (openfl.org) , это к вопросу о готовых движках и решениях в геймдеве. Набирает популярность в кросплатформенном программировынии. Спасибо вам за вашу работу.

  • Олег Чумаков

    Вот

  • Ш.

    Спасибо, действительно, жизненно )

  • Reiser

    Матерь божья, это то самое, что я искал уже полгода.

  • Главное же что нашли в итоге )