LINUX.ORG.RU

Хочу перейти в направление game development

 , , ,


1

3

День добрый. Начну с краткой исторической справки, вот уже лет 7 занимаюсь программированием для веб, это был и чистый backend и full stack, последние годы чисто frontend. Но как-то периодически засматривался в сторону игровой индустрии - сам являюсь поклонником игр разного жанра ну и играю в свободное время. Последнее время смотрю разные материалы, дабы очертить для себя потенциальный спектр для изучения, но есть пара вопросов. Скажу сразу, в индустрии смотрю в сторону инженерных специальностей, то есть не звукорежисура для игр или 3D хужожник, и заметил что очень много акцента делается на C++, ну и разве что Unity на C#. Вот первый вопрос - имею крайне базовые знания по C, и что подскажут люди с форума, может даже кто работает в этой индустрии и может поделиться опытом, начинать с C и дальше на плюсы, или все еще подхватить C# и потом знакомиться с одним из движков дабы понимать основные моменты? И второй, как с работой - я сам из СНГ и у нас, увы, нету тех студий чьи продукты мне интересны как игроку, и я в случае чего готов пробовать свои силы и релоцироваться в страну где есть офисы студии, игры которой к примеру мне интересны. В целом буду рад услышать мнения и опыт людей из индустрии, интересно как все устроено и так далее.


Идти нужно от игрового движка, а не от языка. Если UE4 - то учить его (на блюпринтах), а потом C++. Если Unity - учить движок и C#.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Тут еще нюанс в том, что многие крутые студии работают на своих версиях, а там никогда не узнать от чего они производные, я не хочу с одной стороны зацикливаться чисто на одном движке, это как в вебе, ухватиться там за тот же Angular, и не юзать ни React ни Vue, и потом только искать проекты по Angular

Berdin
() автор топика

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

l4gfcm ★★
()
Ответ на: комментарий от Berdin

В геймдеве так не получится. Тот же UE4 - это комбайн монстр который изучать надо довольно много и долго. Просто так перепрыгнуть за пару месяцев с одного движка на другой у тебя не получится. Хочешь узнать на чем сидит та или иная студия - поищи в линкедине/фейсбуке людей которые там работают и спроси. 99% это не закрытая информация.

Norgat ★★★★★
()

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

  • Учить низкий уровень графики OpenGL или Vulkan - это конечно хорошо, но это процесс очень длительный и трудоемкий, низкий уровень графики нужен больше при разработке и оптимизации именно движков игр, а не самих игр. Писать игру без использования движка (особенно на Vulkan) - это как на assembler-е. Слишком трудоемко и не факт, что будет быстрее чем на движке.
  • Конечно не все студии используют UE или Unity или другой. Некоторые пишут свой. Но все равно в такой конторе будет разделение: кто-то будет заниматься самим движком, вылавливанию багов в нем и прочим, а другие разработчики будут использовать этот движок на высоком уровне, типа как UE или Unity.
  • Поэтому, если ты хочешь быть спецом именно по графике то нужно учить OpenGL/Vulkan. А если хочешь именно делать игру то движок и сопутствующее программирование.
  • При выборе движка конечно лучше выбирать что-то распространенное и проверенное, чтобы много книг/руководств/уроков было, чтобы не получилось так, что ты потратишь время на изучение, а движок закроют и все заново нужно будет.

Про то что ты говоришь «не хочу зацикливаться на одном» - тут конечно придется это принять и выбрать что-то одно. В крайнем случае через пару лет для расширения кругозора можешь другой движок взять. Но в этом случае еще нужно понимать, что выбор движка определяет еще и выбор языка. Например вот выберешь ты сейчас UE в нем C++, а потом захочешь Unity - тогда придется еще и C# учить кроме самого движка.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 2)

я сам из СНГ и у нас, увы, нету тех студий чьи продукты мне интересны как игроку

А мобильная и инди-параша, которую клепают на Unity, тебе интересна?

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Ну или его. Мне не принципиально. Тогда и Metal тоже помянем.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)

У меня похожий опыт, только в основном server side и без веба, и такие мысли тоже возникают. Поглядываю на вакансии Wargaming. Рак, да, но в игроиндустрии сейчас везде рак, а с чего-то начинать нужно.

WitcherGeralt ★★
()

Считаю плохой практикой, искать работу по интересным тебе играм. Нужно рассматривать их как программы, потому что активно развивать игру доступно лишь единицам, тим лидам, менеджерам и архитекторам. Ты же как программист, будешь кодить и отлаживать всякую скучную хрень. В СНГ нифига нет кроме мелких игр и android. Но там можно работать, маленькая игра, тоже неплохой опыт. Ну и последнее, начнешь все с начала, тебе охото? Опять с джуна?

ettaluni
()

Начни с изучения английского языка и основ бизнеса, а так же с трактора, потому как фирм, выпускающих игры или движки для игр в РФ нету. То что есть в лучшем случае неплохая индюшатина. Что говорить, даже игры уровня POE в РФ не делают. Про всякие крайзисы я даже не заикаюсь.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от fsb4000

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

https://unigine.com/products/community/made-with-unigine/

Syndicates of Arkon (MMORPG, 2010)
Petshop (Quest, 2011)
Oil Rush (RTS, 2012)
Demolicious (Action, 2012)
Cradle (Adventure, 2015)
Tryst (RTS, 2015)
RF-X (Flight Simulator, 2016)
Sumoman (Action/Puzzle, 2017)
Dual Universe (MMORPG, 2021)

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

fsb4000 ★★★★★
()
Ответ на: комментарий от Norgat

А теперь давай сходим в русскоязычный раздел твича и попробуем найти что-то из этого на стриме. Можно неделю ходить для уверенности что рынок крайне мал и ничтожен в сравнении с одним единственным Ubisoft-ом. Уверен что стримов одной poe или wot/wow больше за день, чем всех российских игр за месяц.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Не согласен. Есть Owlcat Games, которые выпустили Pathfinder Kingmaker и сейчас делают продолжение. Есть Pathologic от студии Ice-Pick Lodge. И все это хорошие игры

RyanGosling
()

Есть игры с on-line составляющей, уверен что им нужны опытные бекэндеры. Возможно, подвернётся шанс перескочить на клиентскую сторону. (А если перед собесом сделать хелло-ворлд на юнити и уе4, может и поближе к желаемой должности устроишься сразу.) А когда опыта наберёшься потом можно уже в другую компанию на чисто клиент устраиваться.

rollsafe.jpg

dsxl
()
Ответ на: комментарий от RyanGosling

Плюсую, не редко Инди поделки оказываются черезвычайно хороши

sparks ★★★★
()

А почему бы не взять какой-то Godot? Или это не для себя, а лишь бы перескочить ради профита?

OpenMind ★★★★
()
Ответ на: комментарий от peregrine

А теперь давай погрузимся немного больше в отрасаль и я тебе расскажу интересный факт. Кусок Ассассинс Крид делается на аутсорсе в СПб - https://sperasoft.ru/

Посмотри список проектов у компании. Да, рынок в РФ не такой большой, но он и не маленький. И это мы еще товарищей с мобилок не брали.

Norgat ★★★★★
()

Хочешь стать седым из-за кранчей? 😵 Видел описание одной вакансии из геймдева. Там пишут, что график работы свободный. Главное результат. Лохи думают, что можно будет работать меньше. А на самом деле это работодатель намекает, что ты будешь сидеть на работе пока не доделаешь. Бгг 😂😂😂

ox55ff ★★★★★
()

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

интересно как все устроено

Общие подходы, костыли и впихивание пиха в невпихуемое. Игра отрытый мир, тяжёлые модели, мнооого моделей. Все вместе постявят колом любой топовый компьютер, а вот надо сделать так что бы всё летало и тут фантазия и 100500 вариков как это сделать. Или в игре дом в доме лифт заводит туда героя, но физика с анимироваными объектами просто делает кря при движении лифта. И что делать? А мы не будем двигать лифт вверх мы опустим весь дом вниз или телепортируем лифт в другое место если у него нет решёток. И вот так во всём наверное. Сразу скажу я не работал в геймдеве просто тыкаю палочкой.

Ну или например под конец в игре нужна распрыжка такая что бы её было сложно, но можно сделать и за старания игрока она давала преимущество в скорости. Тут всё ой как на тоненьком и вот всё это надо запрограммировать.

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

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

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

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

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от peregrine

Ты ещё скажи, что Леста со своими варшипсами не лидер рынка корабельных аркад.

anonymous
()
Ответ на: комментарий от evgeny_aa

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Поглядываю на вакансии Wargaming

А ты из РБ?

Знакомый ходил на собес к ним на C++ но два часа спрашивали по Python :-) Но это, как я понял, их серверная часть на python-e, а c++ для клиента.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

Нет, но я в сторону Минска с начала короноклоунады, которой у них (у вас?) не было, поглядываю. К тому же курс ржубля пробил очередное дно и стремится к следующему, а они (вы) того гляди своего диктатора погонят да заживут, наверняка.

Вот вакансия, например: https://hh.ru/vacancy/39334632

Бекенд игры, мой стек, сойдёт для начала. Но есть вакансии и в Москве.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 2)
Ответ на: комментарий от Norgat

Тот же UE4 - это комбайн монстр который изучать надо довольно много и долго.

И иметь хороший компутер. Но это зависит от того, что будешь на нем халтурить. Я этот ваш UE4 дропнул по причине отсутствия 16 ГБ минимум и вместительного SSD. Вот кстати насчет монстроуозности он мне не понравился. Уполз в один из опенсорсных движков. Как хобби самое оно.

RedEyedMan666
()
Ответ на: комментарий от LINUX-ORG-RU

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

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 1)
Ответ на: комментарий от RedEyedMan666

А то щас начнет клепать тормознутое инди на юнити, в которое никто играть не захочет.

Что не так?

anonymous
()
Ответ на: комментарий от rumgot

Знакомый ходил на собес к ним на C++ но два часа спрашивали по Python :-) Но это, как я понял, их серверная часть на python-e, а c++ для клиента

Они же flash вроде используют …

anonymous
()
Ответ на: комментарий от anonymous

Хз. Может раньше использовали, сейчас не слышал такого.

rumgot ★★★★★
()
Ответ на: комментарий от Berdin

а там никогда не узнать от чего они производные

В смысле не узнать? Либо сами скажут, либо известно, либо нетрудно догадаться, посмотрев кто владелец.

slackwarrior ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Дешевле сменить движок. Тем более что, клепаю для себя, там такая халтура, что никто такое не купит. А играть в разработчика игры увлекательнее, чем просто играть. Сам себе усложняешь логику, сам ее реализуешь, сам исправляешь. Сам рефакторишь. Сам же через месяц делаешь ревью своего кода.

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 2)
Ответ на: комментарий от peregrine

А игры у них есть?

А это потому что ты не пишешь :)

А то это может только на кластере компов работает, зато на эльбрусах, если их все в один кластер запихнуть.

У них там начиная с инсталятора «оглядка» на UE4, но не тупо передирание, а «учет фатальных недостатков» — вместо С# для сборки используется cmake, вместо самопальных велосипедов - Qt, вместо винтажной каши из макросов чистенькие и понятные шаблоны проектов «тут инит, тут рендер, тут логика». Железа хватит самого обычного. Не как в UE4 «чо оно так долго собирается? — слыш, купи топовую сборку!» Ну и собирать самому для линукса не надо — собрано уже :))

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от anonymous

То, что таких поделок уже много. Нет причин создавать еще одну. Если уж начал что-то клепать, то сперва наберись знаний по теме. И осиль оптимизацию.

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 1)
Ответ на: комментарий от peregrine

в русскоязычный раздел твича и попробуем найти что-то из этого на стриме.

Ну найдешь ты там тарков. И чо? Повод юнити задрачивать? :)

slackwarrior ★★★★★
()
Ответ на: комментарий от RedEyedMan666

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

anonymous
()
Ответ на: комментарий от anonymous

вообще то для того чтобы собрать этого говно под онтопик,

Да всё прекрасно собирается. Только собрал я это говно на HDD, ибо SSD у меня 120 ГБ под / и /home. Занимал этот монстр ~80 ГБ, но я снес лишнее 3rd party говно для других платформ и уменьшил вес до ~50 ГБ. Здесь инструкцию наклепал. Удалял, всё что исключил. Работало в принципе нормально, креши пропали после обновления видеодрайвера (в котором пукан Vulkan починили). Но грузил проект минуту и лагал ощутимо, особенно при компиляции 1к шейдеров.

https://imgur.com/a/Ebjz9KB

https://imgur.com/a/V8ZmrFQ

В целом, я не осилил блюпринты и вообще, глядя на весь этот «оверинжиниринг», решил снести это эпичное говно и вернуться к любимой Panda3D/Renderpipeline + Python

https://imgur.com/a/biCqPmx

https://i.imgur.com/yajAZFT.jpg

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 5)
Ответ на: комментарий от RedEyedMan666

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

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 1)
Ответ на: комментарий от RedEyedMan666

И еще: было много тупняка и страданий с наложением светокарт (lightmapping) эпичного блоата. Нереально эпичный блоат (на тот момент 4.25) требовал идеальной развертки для светокарт (на втором UV-канале), чего достичь на сложных модельках было почти невозможно (границы развертки соприкасались с друг-другом). Почти всегда оставались черные или темные «артефакты» на поверхностях со светом. Да и требовало наложение светокарт дохрена оперативки в зависимости от масштабов и деталей сцены. Об этом были даже стоны UE-рабов на весь Гугл. Наложение требовало хитростей: импортируем модельку без автоматической генерации развертки для светокарт, а дальше указываем с какого канала брать нашу «идеальную» развертку (не путать с разверткой для координат текстур, они отдельные), которая берется из свойств модельки. И это лишь одна из множеств проблем с этим движком.

В общем, юзайте, дети, Unreal Engine 4. Он поможет вам определиться, стоит ли игра свеч :)

RedEyedMan666
()
Последнее исправление: RedEyedMan666 (всего исправлений: 5)

начинать с C и дальше на плюсы

Весь 3D геймдев на плюсах. Это не вопрос выбора. Т.к. всякие либы, движки там всякие. Физика и прочее на плюсах. И многие из них даже и не дмают иметь C API. А самому запиливать всё это – надоест раньше чем закончишь. В обещм осваивай ++ потихоньку, если серьёзен в своих намерениях. Тут и думать нечего.

kostyarin_ ★★
()
Ответ на: комментарий от RedEyedMan666

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.