UkraineGhost
@UkraineGhost
Я не знаю відповідей, лише запитання!

Как получить понимание разработки игры?

Я хочу разрабатывать игр и для этого начал искать информацию как их делать. Некоторые понимания по С++ у меня есть - они на уровне понимания библиотеки STL. Также я начал, недавно так, изучать игровой движок Unreal. Было желание создать хоть какуе-то игру, получше, чем 2д шлак: по типу игры, которую я создал на SFML - “Морской Бой”. У меня была и есть идея создать, не великую игру, а нормальную маленькую игру-стратегию в 3д. Но возникла проблема в том что я не знаю как её сделать. Всё что я находил в Интернете по данной проблеме, сводилось к: “Что бы разрабатывать игры - нужно знание языка програмирование С++/С# и научится пользоватся каким-то игровым движком”, ну и ещё “Чтобы создавать игры - надо создавать игры”. Более какой конкретики нету. Ну я и начал делать, то что говорили, но как-то понимание не возникло в разработке игры, то есть по книжкам даётся понимание как использовать тот или иной инструмент, но если я сяду делать с нуля задуманый проект, то я не смогу его даже начать. Возможно я отсталый, либо я ещё не начал изучать движок в том уровне понимания, в котором следует, либо я что-то делаю не так, либо я чего-то не знаю. Пытаюсь найти ответы, но никак не могу.

Что нужно понять/Какие знание нужно получить, что бы понять как разработать свою игру?

Продолжение для большего понимания
необязательно
Наткнулся я на один пост - хороший пост, Как научиться разрабатывать игры, в которой перечислены книги. По ним я изучил: Learning Unreal Engine Game Developer, и начинаю читать Bluprints Visual Scripring for Unreal Engine. Хотя там и даются базовое понимание Что это такое?, и Как его использовать?, но после этого ти не понимаешь что с ним делать.
И на протяжении всего моего пути изучения, у меня возникло много несостыковок и вопросов. Например: Я хочу писать игры, а не быть каким-то человеком, который даже не работает в среде програмирования. В SFML было всё чётко и понятно: Хочешь что бы это выводилось на экран - сделай спрайт и напиши вот такой-то код; Хочешь что бы это двигалось - просто возьми спрайт и передвинь; Хочешь сделать какуе-то функция по нажатии клавиши - вот тебе Event, и делай что хочешь. В Unreal Engine же всё иначе - вот тебе, на редактор Материалов, редактор Анимации, viewport и делай игру. А как делать, когда у тебя ничего нету - фиг его знает. В SFML уже можно самого начала брать и делать игру и в последствии изучать его, в Unreal, опять таки, всё наоборот, Походу, и тем более писать код не нужно.
Я знаю, что где-то я прокололся, но уже никакой, чёрта, мотивации нету что бы взять и делать то, от чего ты не видешь смысла, так как оно не даст тебе понимае в собственной разработке игры. Буду вам очень признателен, хотя бы если вы напишите, что я на правильном пути, но ещё только на пороге, либо укажите всё ж таки мне правильную дорогу, если я завернул не туда. ПРАВДА, это очень помогает и надыхает.
  • Вопрос задан
  • 500 просмотров
Пригласить эксперта
Ответы на вопрос 4
saboteur_kiev
@saboteur_kiev Куратор тега Разработка игр
software engineer
Тебе же прямо сказали. Нужно изучить язык программирования.
Не на уровне "почитал книжку". Не на уровне интерн/джуниор. А на уровне уверенного разработчика.

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

Поэтому правильный путь - это потратить МНОГО времени и МНОГО усилий.
Ты же сам сказал, что все что ты изучил - там давали базовое понимание что это такое.

Поэтому вместо того, чтобы делать крутую 3д игру, сперва начни делать приложения попроще.
Добейся, чтобы у тебя просто двигался персонаж. Потом сделать лабиринт, чтобы со стенками взаимодействовал. Потом может быть попробуй добавить прыжок и высоту. И так потихоньку сделаешь основу для игры. Потом будешь добавлять и добавлять. Может через года два будет демо-версия с одним рабочим уровнем.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Из сбивчивых жалоб и стенаний автора можно только то что нет опыта и есть признаки выгорания от учёбы. У меня тоже такое было. Я выгорал. И самое лучшее в этот момент - бросить самообучение и заняться другим делом за которое платят и которое вполне осязаемо. Самая большая беда новичка - это амбиции. Это желание сразу сходу делать своё где есть все фичи в мире и можно грабить корованы и прочее. Это ошибка. Ошибка которая как раз приводит к выгоранию. Лучше написать морской бой в браузере который работает чем писать 3д шутер 10 лет и потом выкинуть его на свалку просто потому что он морально устарел. Одиночки вообще никакой игры не могут написать. Игра сегодня - это как съемки сериала. Требует слишком много разных знаний из разных областей и 1 чел никогда все не охватит.

По поводу мотивации и геймдева. Лучше всего наверное влиться в команду которая уже делает игры. Влиться самым младшим подмастерьем и хотя-бы пол-годика поработать и понаблюдать как идет процесс разработки. Да. Надо будет приглушить амбиции. Но ничего не поделать. Я думаю что это единственный верный путь где не будет выгорания. Эмоциональный контакт с командой очень важен.
Ответ написан
Комментировать
lexxpavlov
@lexxpavlov
Программист, преподаватель
Рекомендую пройти несколько (минимум два-три) туториала создания простой игры, где показывают большинство хотя бы основных частей - создание сцены, персонажи, перемещение, управление персонажем. Повторите всё так же, как у них рассказано, а не придумывать своё - для этого будет время, когда основные вопросы исчезнут.
Ответ написан
Комментировать
MicroProger
@MicroProger
Работает - не трогай
Меня трудно назвать отличным разработчиком, но тут я могу попробовать помочь тебе.
Если ты делаешь с нуля, попробуй хорошо ознакомиться с движком. Пойми, что именно тебе надо. Если ты был когда-то знаком с другими языками программирование, то обдумай, как оно должно работать, например:
Я делаю машину. Мне нужно, чтобы она ездила. В реальной жизни, у автомобиля крутятся колеса, но в коде, это будет трудно реализовать, поэтому я должен сделать ее движение как одного объекта, а колесам наложить анимацию.

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

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


Надеюсь помог :D
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы