zergon321
@zergon321

Что необходимо знать программисту геймплея в видеоиграх?

Всю жизнь увлекался именно видеоиграми и благодаря им начал интересоваться информационными технологиями и программированием. За время изучения ЯП сильно ушел в другие темы, типа энтерпрайза, веба и даже низкоуровневого программирования, но это все же совсем не то, чего мне действительно хочется. Каккие языки программирования главным образом востребованы в игровой индустрии для разработки на готовых движках?
  • Вопрос задан
  • 1248 просмотров
Пригласить эксперта
Ответы на вопрос 4
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Программисту геймплея нужно знать язык, которым скриптуется игра на данном движке. Часто это Lua, иногда Python, в Unity3D это C#.

Вот писателям движков надо знать C++ (и иногда GLSL или аналог).
Ответ написан
Комментировать
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
tl;dr В порядке убывания релевантности: Любой, Unity (JS/C#), Web (PHP/JS), Other (Python/Lua/C++/...)

Программист геймплея... Программист геймплея! Геймплея, Карл!

Что за? Что это за зверь вообще? Не могу знать, не могу понять.

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

Конечно, можно делать на от@$%, однако это не путь, это так... Хлеб. Возможно. Но мы вообще не об этом сейчас. Тут надо сказать, что разработка игр очень хорошо распределена по ролям. Именно что благодаря своей монструозности становится возможным элементарное делегирование задач. Но и тут возникают большие сложности.

Есть два типа людей. Одни просто берут и е#$%. Они не думают о потраченном времени, не думают о структурах данных, просто берут. И делают. Классно быть ими, я, к сожалению, не такой. Однако с обратной стороны игры выходят багованными, ужасно медленными (2D платформер официально требующий 2Гб RAM и два ядра, WUT?), но зато проработанный геймплей увлекает и затягивает. А есть люди, которые сначала десять лет думают, а потом пишут одну строчку кода, которая максимально быстрая и эффективная и на ней держится половина всей игры... Однако таких строк надо пара тысяч, а со временем возникает такая лапша зависимостей, которая убивает любое масштабирование. Конечно, надо делать как-то средне.

Но в тоже время, в таких заголовках как World of Warcraft уже чувствуется не только эпичность и масштабность, но и почти неограниченные ресурсы: всё равно существует пачка багов, которые не закрываются годами. Про них все всё знают, в Интернетах по дцать вариантов обойти оные, но... Они есть!

К чему я это? К тому, что независимо от инструмента можно сделать игру. Независимо, хоть на голом C# с managed directx (terraria), хоть на жирнющем python (eve), хоть на хардкорных плюсах (doom), в любом случае результат зависит от профессионализма.

А вам же... Скорее всего хочется в идеи. Но идеи... Они ни#$% не стоят. И уж работая на дядю последнее, что вам придётся - это придумывать геймплей. Причём в небольших компаниях придумывать-то в общем-то нечего, а экономические f2p игры и вовсе прорабатываются отдельными гейм-дизайнерами во всевозможных екселях.

И единственный выход, вроде бы, делать всё самому (или небольшой кучкой людей), однако раз уж этот вопрос был задан, значит вряд ли у вас что-то получится. Хотя, как знать. Удачи.
Ответ написан
Комментировать
Комментировать
@koronabora
Человек
C++

Необходимо понимать трехмерные координаты и матричные преобразования. Также необходимо знать базовые алгоритмы на графах и матрицах, вектора (для шейдеров). Также, не помешает ознакомление с основами работы 3d приложений: главный цикл, буферы обработки (в том числе и кадровые), шейдеры и т.д.

Пласт знаний - огромный.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы