Pull to refresh

Comments 26

Ваше мнение о нем или вы его не щупали?

Я могу только общими фразами описать. У меня лично отрицательно отношение к Epic Games. Они похоронили серию Unreal Tournament. Из-за чего я не много уделял внимания движку. А когда его пробовал, могу написать, что он очень мощный. В этом его как положительная черта, так и отрицательная. То есть делать на нём что-то уровня AAA по графическому наполнению в самый раз, а вот уже что-то простенькое уже слишком громоздко, функционал движка будет простаивать. Мне понравилась концепция Blueprint. Сильно упрощает работу

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

Перестаю читать полотна о том как "я хотел делать игры" когда вижу "начал с написания своего движка" :D

Написание своего игровой движка на самом деле очень хорошо ломает представление о том, что игры делать легко. А сам процесс учит архитектуре ПО. То есть, если не делать из этого попыток в мировое господство, то нет ничего плохого в том, чтобы написать свой игровой движок

Создание игры - это не создание движка

Зависит от того, что вы делаете. Точнее как вы делаете игру. Если вы используете готовый игровой движок, и пользуетесь его интерфесами для работы с ресурсами будущей игры. То да, вы правы. Вам не нужно создавать движок, так как он уже есть. Но, если вы используете графическую или мультимедийную библиотеку (типа SDL, SFML, raylib, ClanLib, Allegro, сотни их, или, вообще что-то типа GLFW) и с нуля формируете внутренние процессы загрузки и использования игровых ресурсов, взаимоотношения игровых объектов в коде, создание, хранение и загрузка уровней и тд., то вы фактически вместе с игрой пишете игровой движок. И если для вас это будет новостью, но некоторые разработчики игр так и делают. Они разрабатывают движки под конкретную игру сразу в процессе разработки игры

Я всю свою жизнь мечтаю создать игру, к сожалению при поиске инструментов для её создания я пришел к выводу что мне прийдётся делать движок самому, есть советы?

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

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

Ооо, я мечтаю стать программистом, но по воле судьбы отучился на преподавателя физики и информатики, прошел онлайн курсы по QA automation на Java, сейчас прохожу по Data Science, играми никогда не занимался, но у меня есть несколько книг на тему их разработки, в данный момент отрабатываю бесплатное образование в связи с тем что живу в Беларуси

Если вы хотите стать программистом, то мой совет прост. Программируйте. Это как с рисованием. Хотите научиться рисовать - рисуйте. И чтобы стать хорошим художником нужно много практики, экспериментов со стилями. При этом в программировании работают те же правила, что и в рисовании. Чтобы понять как правильно - копируйте чужие работы. Анализируйте результат. Обращайтесь к опытным коллегам за советами и помощь, если не понимаете что-то. Сейчас с наличием интернета и доступностью информации нет проблем изучить что-то, нужно лишь желание научиться. По QA и Data Science я советов увы не могу дать, но по разработке игры вполне. Начните с изучения какого-нибудь движка. Любого. Unity, Unreal Engine, Godot, Defold, LÖVE. Но есть проблема, хорошие обучающие материалы в большинстве своем на английском. Есть на русском, но хороших их них единицы, и они уже к сегодняшнему дню несколько устарели. По крайней мере по тому же Unity я хороших уроков современного Unity на русском я не знаю. Могу посоветовать этот.
По Godot могу посоветовать этот. Возможно есть хорошие платные курсы, но я увы на русском таких не проходил. Движки я изучаю в основном по документации на английском

Спасибо за развернутый ответ

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

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

  3. Для вдохновения можно посмотреть в сторону геймджемов. Люди за день-два быстро накидывают прототипы и в них уже можно играть

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

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

Здесь я вам отвечу. Легко делать игры, когда у вас уже есть всё для этого. Вся логика написана, все игровые ассеты (2D-3D объекты, звуки, музыка), есть сценарий, и если есть движок. Особенно легко, когда это делаете не вы. Когда же человек только начинает свой путь в разработке игр. У него ничего нет. Знаю, есть такая группа разработчиков игр, которые на коленке из готовых ассетов делают игры. Но опять же для начала, чтобы стать таким же нужно хотя бы изучить какой-нибудь игровой движок.

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

Легко-легко-легко. Вы как будто сами напрашивайтесь на "тяжело". Хотите "тяжело" - пишите свой движок дальше. Но студии берут в работу анрил не для того, чтобы было тяжело, а чтобы было легко, быстро и дешевле, чем с вами.

Вы как будто с неба свалились. У меня знакомый С++ изучал: ушел в ассемблер и сказал, что С++ это сложно, ну его в баню.
Причем тут Ассемблер, я так и не понял, но С++ он не выучил, программистом не стал. Пошел в операторы на звонки отвечать.

И вы вот один в один поступаете - зашли с движка и такой: "геймдев - это ад, ребятки. Так сложно, так сложно!"

Удивительно, что вы после этого вообще пробрались куда-то и стали делать игры. Хотя, судя по тому месту, что вы описали - просто нашли себе таких же.

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

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

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

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

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

Не, уважаемый господин, вы не поняли, что я вам пытаюсь донести.

Вы утверждаете, что геймдев - это тяжело. Но это не так. Геймдев - это легко. Это вы не не с того начали.

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

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

Далее.

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

При этом какая-нибудь инди-студия со своим движком - это риск рискованный из рисков созданный. Упьется СТО и уволится нафиг - этот движок никто не сможет больше поддерживать, и компания загнулась.

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

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

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

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

А. Я кажется понял. Но я оставлю выводы при себе.

вы это выставляете это, как правильный путь

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

Спасибо за статью!

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

Пожалуйста! Я сам на «старте» думал о разработке игр несколько иначе. Я понимал, что оно рутина. Это было понятно и во времена модостроения. Но то, что работать иногда приходится с «говном», к этому жизнь меня не готовила

Sign up to leave a comment.

Articles