Lovesuper
@Lovesuper
pyhon, java, swift программист

Есть ли книга (гайд) по введению в разработку 3D игр для бывалых в других сферах программистов?

Время от времени интересуюсь разработкой 3D игр. Точнее пытаюсь подойти к разработке. Знаю довольно много языков программирования (ФП в тч) и опыт неплохой (веб, мобилки, микроконтроллеры, системные утилиты). Как код писать знаю. Но вот проблема - не могу найти нормального входа в гейм-индустрию (чего всегда хотел). Любые ресурсы, которые нахожу, расчитаны на школо-нубасов, которые делают игру про мамку друга. Изучаем циклы, переменные... Хочется конкретного и обстоятельного введения. Что нужно? Куда смотреть? Что необходимо и из каких частей состоит простейшая 3d игра? Есть какой-то конкретный ман? Чтобы от начала и до конкретного результата без изучения языков. Если есть что-то на примете - подскажите, плз.
  • Вопрос задан
  • 2050 просмотров
Пригласить эксперта
Ответы на вопрос 6
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Товарищ, могу сказать как человек, который чего только не попробовал разрабатывая игру. Началось всё с чистого Си, был и C# (банальная формочка с кучей кнопочек), был и С++ (чистый opengl и box2d для физики), потом XNA - мощный фреймворк для C#, правда умер к сожалению. Был pygame, правда ничего дальше пары хэлоу ворлдов не продвинулось. Вот сейчас ковыряюсь в юнити. Нередко организуюсь с другом на хакатоны - надо заметить, что с каждым разом продвигаемся всё дальше и дальше. Правда каждый раз и начинаем заново.

В общем, заметил несколько вещей. Во-первых, нужен не программист, а скриптер, по рангу он недалеко ушёл от кодера. То есть он и есть кодер, с тем лишь отличием, что скриптует сцены. Ну и да, было бы не плохо обзавестись другим скриптером, который напишет текст. Сегодня, для разработки игр программисты нужны лишь для ААА-проектов, когда требуется сварганить целый фреймворк и почти с нуля сотворить движок, ну или адаптировать старый к новому железу, что по сути одно и то же. Во-вторых, надо вообще много всякой шпаны - художники, дизайнеры, тестеры, звуковики. В общем, полный набор требуется. Конечно, можно совмещать все должности в одной, но это обычно плохо кончается.
Алсо, выбрав путь не стоит с него сворачивать. Это я говорю как опытный сворачиватель с путей - код переписывать не стоит, иначе как только он более менее разрастётся только и будете, что переписывать. Рефакторинг тоже делать надо очень осторожно. Чем модульнее тем лучше. И так далее.

По поводу манов - их дофига. Разной степени упоротости. Например, есть такой неплохой движок, как OGRE, у него на странице куча ссылок на демки, вики, книги, доки. Но это скорее для любителей хардкора. Для любителей велосипедов есть openal + opengl, ну или sdl + opengl. По opengl тоже много литературы, очень много. К тому же есть Unity3D, но программистам с ним, имхо, делать особо нечего - лишь ограничивает, да и по удобству он далеко не самый лучший, а производительность - ужс какой-то, хотя в большинстве задач хватает с головой.

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

В любом случае, удачи в начинаниях!
Ответ написан
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Книг вроде «Разработка игр для нечайников» нету, подразумевается, что продвинутые программисты будут либо читать мануалы к технологиям, которые они собираются использовать, либо исходники того проекта, к которому их подключили. Для начала, я бы посоветовал пробежаться по статьям в википедии, чтобы узнать некоторые термины и поднять эрудицию. Потом можете почитать Game Programming Patterns, в ней описаны некоторые частые проблемы и их каноничные решения. Кроме того, есть более хардкорные книжки, с узкоспециализированными темами, но их тоже может быть полезно полистать:
Graphics Gems
GPU Gems от nvidia
Game Programming Gems
А когда надоест читать, попробуйте сделать пару-тройку простых примитивных игр: платформер, стрелялку, гоночки. На практике учиться проще.
Ответ написан
@mamkaololosha
Нету. 80% работы в геимдеве сводится к битию головой о стену по причине того, что у вас тормоза, плавающий крашь и прочая магия. Только опыт. Технологии меняются очень быстро. Книги писать некогда. Только фундаментал 20тилетней давности, Кормен и опыт.
Ответ написан
AterCattus
@AterCattus
Люблю быстрый backend
Если рассматривать базовые подходы (софтварная растеризация, а не готовые фреймворки под GPU), то мне очень понравились в свое время:
Программирование трехмерных игр для Windows. А. Ламот.
Компьютерная графика. Полигональные модели. : Евге...
Компьютерная геометрия и алгоритмы машинной график...

Все книжки можно скачать, если негде купить/достать. У меня бумажные...
Ответ написан
В качестве ознакомления, можно почитать отличную статью:
habrahabr.ru/post/131931
Ответ написан
@yorick_kiev_ua
Мне в своё время вот эти книги понравились:

www.amazon.com/XNA-Game-Development-Example-Beginn...
www.amazon.com/XNA-4-0-Game-Development-Example/dp...

Очень понятное описание, что такое сцена, камера и так далее, и всё на примерах. Да, это всё на XNA, но принципы и база показаны отлично.

По Юнити ничего подобного как-то не попадалось, там в основном "мануалы" в стиле "как программировать мышкой". А жаль.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
PiRL Ventures Москва
от 180 000 руб.
PiRL Ventures Москва
от 110 000 руб.
Rightway Games Москва
от 80 000 до 200 000 руб.