992

Как стать разработчиком игр

На случай, если ты хочешь научиться делать игры, и не знаешь с чего начать.
Или, если хочешь прокачаться в скиллах, и не знаешь, что читать :^)

Как стать разработчиком игр Игры, Разработка, Книги, Гайд, Мобильные игры, Gamedev, Программирование, Дизайн, Длиннопост

За картинку большущее спасибо Milo Yip
Взято отсюда – https://github.com/miloyip/game-programmer

Дубликаты не найдены

+107
Иллюстрация к комментарию
ещё комментарии
+21

Вы кое-что забыли

Иллюстрация к комментарию
+110
По-моему дичь какая-то, сделана исключительно чтобы отбить желание у всяких подростков, которые "джва года" игру хотят сделать. Знания применять нужно, иначе толку ноль от прочтения всей этой горы литературы.
раскрыть ветку 19
+39
Как ни странно, проект и назван "Путь программиста игр". Это просто сбор рекомендаций по книгам, которые могут быть полезны на определенных этапах развития программиста за всю его карьеру. Это не призыв прочитать все эти книги залпом. Плюс там даже в легенде этой карты указанны линии сплошным цветом книги из разряда must-read, а пунктиром рекомендуемые книги. И на мой взгляд must-read там слишком мало.

Из указанной схемы взял для себя Game Engine Architecture (2nd Edition). Я как раз собирался переходить с C# на С++ и решил сделать это посредством написания своего движка. Ну и ешё, я думал что серия GPU Gems канула в лету с третьим выпуском, ан нет оказывается просто поменяла название. Это тоже было для меня стало приятной неожиданностью.
раскрыть ветку 3
0

А Вы как, решили просто использовать книгу для примеров кода на С++ и параллельно посмотреть на классическую архитектуру движка? Или у Вас уже был опыт разработки игр и Вы знаете зачем будете делать движок и как его развивать?

раскрыть ветку 2
+2

Как бы это литература практикующих любопытных программистов. Подростки они вообще ни в счет. Мы все были подростками, и нам казалось, проект - весьма просто. Ага, это сейчас это довольно просто, процентов на 30 просто...

Я вот пожалуй скачаю себе книжку про аудио эффекты. Программировать аудио движок я не буду, но мне любопытно как он внутри устроен - теоретически.

+1

Я купил книжку "Игры для пк без программирования" 100 страниц и там даже диск был с программой. Короче я не осилил. Тяжко читать

раскрыть ветку 1
+1

Блин, тоже была такая книжка. Самое обидное, про игры без программирование там было 3 страницы, а остальное про ПК и различный софт)))

0

Вот-вот, плюс тут собрано все, что применяется в разработке игры: и движок, и физика/анимация, и AI, и модели с текстурами, и звук и все прочее - нет таких специалистов, которые выполняли бы все это одновременно, для реализации каждого из этих пунктов существует свой отдельный штат. Еще бы бухгалтеров и маркетологов упомянули, они ведь тоже к выпуску игры имеют отношение.

-3
подтверждаю, толку от прочтение нужной литературы, если она тебе понадобиться, только для выебонов, ну иногда - что бы свои старые приемы, называть как-то по научному и 10% только нужной инфомрации
раскрыть ветку 10
+11
Всё просто. Без этих выебонов ты напишешь flappy bird, но не больше. Подборка вполне годная. Про С++ точно могу сказать, что путь правильный.

С другой стороны есть явные справочники. UML можно по диагонали прочитать. А внимательность прочтения паттернов зависит от предыдущего опыта программирования. тоже самое с Clean code и Code complete. Интересность и полезность чтения сильно зависит от уже наработанного опыта.

раскрыть ветку 5
+1
Совсем отказываться от книг в пользу статей и форумов тоже не стоит, есть очень полезная литература, вроде "совершенного кода" или "шаблонов ооп". Последняя просто обязательна к прочтению, если планируется писать что то сложнее "угадай число". Чтобы индусом не быть :)
раскрыть ветку 3
+42
Иллюстрация к комментарию
раскрыть ветку 12
-1

Прочитал пару штук, дописываю движок

раскрыть ветку 11
+2

ну как дописал?

раскрыть ветку 10
+17

Прости, но у нас нет столько времени.

Иллюстрация к комментарию
раскрыть ветку 1
+3

Закончим как-нибудь в другой раз.

+13

Очень похоже на цивилизацию:


"Наши ученые изобрели колесо" и мы вошли в бронзовый век


"Неизвесный игрок в далеких землях перешел в супер современность"

+6
Иллюстрация к комментарию
+8

работаю в геймдеве

абсолютное большинство разрабов, в т.ч. сеньоров и лидов, не прочитало и десятой доли вот этого всего

и слава богу

раскрыть ветку 1
+1

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

+12

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

раскрыть ветку 2
+2

Игры делать, не лампочки вкручивать. Написать хэлло ворлд это как вкрутить лампочку.

+2

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

+5
Похоже мой первый пункт это выучить английский, а потом смотреть эту таблицу :с
раскрыть ветку 3
+3

Все программы пишутся на английском. Его в любом случае придется выучить.

раскрыть ветку 2
0

Ну не знаю. Сейчас начинаю изучать C# и отсутствие знаний английский никак не усложняет работу.

раскрыть ветку 1
+2

Шикарно, как раз поступил на заочку "прикладная информатика", а все преподаватели говорят что заочка у нас ебанутая (куча материала, за очень краткий срок), но мы и сами это поняли, когда приходили на первые пары, а с нас уже требовали контрольные с программным кодом (1 курс ёпта). Некоторые преподы говорят что эта заочка время на ветер, и наша группа по сути экспериментальная. Но в принципе я с этим не согласен, программирование и архитектура ЭВМ это всегда погоня за уже уехавшим поездом. Главное это понять основы и определится с направлением, а остальное это всегда самообучение, некоторые книги из поста 100% прочту.

+4

На случай, если хочешь делать игры - делай.


Сейчас же не 20ый век. Любой недостаток теоретической базы гуглится на раз-два.

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


Да, в этом случае вы будете наступать на грабли, которые можно было бы с помощью знания теории обойти. Но вопрос целесообразности стоит остро - стоит ли учить столько теории, чтобы потом пользоваться 1% из этих знаний, или же попробовать начать разрабатывать сразу и затем обучаться на практике?

раскрыть ветку 41
+12
Это называется Code Monkey
раскрыть ветку 37
+11

Современное программирование похоже на какой-то нацизм.


Казалось бы - нравится тебе писать так как ты пишешь - пиши (особенно если тебе так удобно и твою команду всё устраивает). Но нет же... Делают правило на правило.  Потом из-за этих мнимых правил разводят срачи вроде: табы vs пробелы, camelCase vs under_score, фп vs ооп.

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


В итоге вместо процесса разработки происходит дрочево на код. И на выходе мы имеем мега-кодеров с идеальным кодом и прокаченной теорией, которые не способны сделать хоть что-то интересное.


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

раскрыть ветку 30
+1

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

Скилл писать понятный и простой код без излишеств приобретается только с опытом, к сожалению :/

раскрыть ветку 4
0

Это называется Stack Overflow Driven Developement.

+5
Я попробую объяснить чем обернётся такое изучение.

Например тебе надо проехать на трамвае и выйти на остановке.

Если ты знаешь теорию ты берёшь денег, заходишь в трамвай покупаешь билет и выходишь. (По пути можешь загуглить как купить билет).

Если ты не знаешь теорию ты гуглишь как проехать на трамвае. В ссылках ничего конкретного нет. Ок. Ты заходишь в трамвай и тебя выгоняет кондуктор. Ты не можешь понять почему. Ты начинаешь думать. Ага, если внутри трамвая кондуктор, то надо ехать на крыше трамвая. Ты гуглишь как проехать на крыше трамвая. Находишь 3 мануала и применяешь один. И вроде как работает. Но ты периодически падаешь с трамвая. Ты гуглишь как не упасть с крыши трамвая. Находишь, что можно в принципе привязать себя верёвкой. И вроде бы работает, хотя и лицо зимой почему-то мёрзнет. Ну да ладно, ты доехал до своей остановки но слезть с крыши почему-то не даёт верёвка. Ты ищешь к избавиться от верёвки и оказывается, что с собой нужно было взять нож, чтобы разрезать верёвку. Ок, ты взял с собой нож и слез на своей остановки. Отдаёшь на релиз, но потом заказчик говорит, что брать с собой верёвку каждый раз, в принципе, слишком дорого. Ты ему резонно отвечаешь, что без верёвки можно упасть. Тебе говорят, что твои конкуренты делают без верёвки и нихуя не падает. Ты говоришь, что это невозможно, я пробовал, соскальзываю. Люди уходят к конкуренту, который сделал всё уже давно и намного дешевле.

раскрыть ветку 2
+2

вы оба из крайностей в крайность прыгайте.

У Одно к правильному решению нельзя прийти - у другого, всегда приходишь к правильном решению

+1

Я перефразирую свою мысль. Лучше ехать в трамвае без билета, чем стоять с пачкой билетов в трамвае, который никуда не едет.


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

+5

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

раскрыть ветку 85
+50

Игры - это, по сути, и есть интерактивные компьютерные программы, в чем проблема?

раскрыть ветку 38
+75
человеку просто нужна книжка где будет написано "чтобы получить ААА проект, нажмите вот эту кнопочку, потом вот эту. Вы хотите шутер? Тогда жмите эту кнопочку. Если РПГ - эту..."
раскрыть ветку 19
+7

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

раскрыть ветку 17
+3
на пункты 5 и 11 взгляни поподробней.
раскрыть ветку 30
0

так он даже называется game programming, а не making или creating. потому гугль плей и завален чудесно работающими триврядками

раскрыть ветку 29
0
А мне вот интересно, а чего ты ожидал? Книгу "учимся рисовать вместе "? Или "пишем текст вместе с А.С.Пушкиным"?
Ты же понимаешь, что нельзя научить людей придумывать идеи . Или сочинять музыку . Ну вот просто тупо нельзя . А значит и книгу ты по этому не напишешь . А вот писать код научить людей можно . Теперь понимаешь почему здесь только по кодингу книги ?
раскрыть ветку 8
+2
вот писать код научить людей можно . Теперь понимаешь почему здесь только по кодингу книги ?
Ты говоришь, можно развить левое полушарии, ну нельзя правое.. )
раскрыть ветку 6
+1

1. чего я ожидал - книг не только по программированию. Вокруг множество книг по дизайну, рисованию, нарративу, сюжету, звуку, музыке, итд.
2. то, что нельзя научить людей придумывать идеи -  явно ложное утверждение. Этим и занимается высшее образование. Учит придумывать идеи и придумывать правильно. Например, быть композитором. Ну и в КБ не из подворотни люди работают
3. нелепо создавать курс - учащий летать, но преподающий только прыжки. Тут уж либо название сменить, либо действительно учить летать

-3

Так написано же game programmer, а геймплеем занимается game designer, сюжетом - сценарист, ещё кучей всякой муры - ещё куча всяких специалистов.

раскрыть ветку 5
0
Геймплейной логикой тоже занимается гейм программер, дизайнер только маленькие скрипты дописывает, чтобы не отвлекать программистов.
раскрыть ветку 3
-1
На случай, если ты хочешь научиться делать игры, и не знаешь с чего начать
+1

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

0

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

0

Интересно, есть такая же картинка про рисование?

раскрыть ветку 1
0

Ничего не нашел за 5 минут, только кучу полезных ссылок с раздела Живопись на Дваче.

/pa/res/353295.html

inb4 Двач не тот.

Иллюстрация к комментарию
0

Ребята, посоветуйте статьи или книги по монетизации для социальных (вк,фейсбук и прочие) и мобильных игр.

Вот геймдизайн сейчас пробую, но людей много и мыслей много.

0

как все оказывается просто

0

Выглядит просто.

0

Думаю, что многие разработчики игр и 1/3 из этого не читали.

0

Нахожусь на 11 пункте в направлении Network Protocol, минус 4 года, еще огромное пространство для совершенствования

0
Хорошо, а если я хочу научиться настолки делать?
раскрыть ветку 5
0

Тогда ищи книги по гейм-дизайну. И тебе реально нужны еще 2-3 человека для тестирования. Ведь тестировать настолки на самом себе - мягко говоря, неэффективно.

раскрыть ветку 4
0
Спасибо
раскрыть ветку 3
0

Как я поступаю с годными и информативными постами.
(хотя и знаю что я в сохранённое даже не загляну)

Иллюстрация к комментарию
0

я проскролил, что дальше?

0

Ха, CSAPP книжка у нас на курсе была)
Много разной инфы, но в Ассемблере особо разобраться не помогла.

-2

Охуенный пост, ещеб на русском бы, а то нихуяшеньки не понятно!

раскрыть ветку 4
0

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

раскрыть ветку 3
-2

спокойно прогал без англа

раскрыть ветку 2
-3

Судя по всему много кто этой инструкции следовал, поэтому полным полно открытых движков для игр на которых сделано 1.5 игры) По моему для создание игры в первую очередь нужно уметь делать контент для нее.

раскрыть ветку 3
-2

Вот ещё один, кто думает, что код в играх нужен в последнею очередь

раскрыть ветку 2
0

кучи ненужных движков доказывают это.

раскрыть ветку 1
-3

Это пример не обязательно разработчка игр.

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

И да, книги Страуструпа размером с Большой Советский Энциклопедический Словарь это только цветочки.

-6

Китаец учит как "создавать" игры? Да они тупо копированием занимаются, иногда даже тупо код копируют из чужих игр, может такому созданию игр он и может научить.

Чего стоит клон дотки или овервотча, да клонировать они умеют http://pikabu.ru/story/kitayskiy_klon_overwatch__voobshche_n...

раскрыть ветку 7
0

сразу видно эксперта

раскрыть ветку 6
-3
Я как бы в теме, потому что сам работаю геймдевом, а жена работает локализатором китайских клонов.
раскрыть ветку 5
-10

1) В каждой книге пересказывание вырезок из википедии?

2) А когда делать игры если на прочтение всех книг уйдет вся жизнь?

раскрыть ветку 2
+3

Что мешает применять теорию на практике?

ещё комментарии
ещё комментарии
Похожие посты
Возможно, вас заинтересуют другие посты по тегам: