Введение в гейм девелопмент или что бы я сказал самому себе 5 лет назад
реклама
Знакомство
Приветствую тебя %username%! Мне уже 20 годиков, это довольно мало, но некоторый опыт уже имеется и поэтому я хочу поделиться им с тобой!
Я постараюсь не писать бесполезной инфы, хотя последние 200 символов и так бесполезны для тебя.
Поэтому сходу к делу!
Определение профессии/хобби
Многие будучи школьниками играют в игры, часть из них задумываются стать разработчиками игр, что вот они бы если бы могли, сделали бы лучшую игру. И с оптимизацией и с крутым миром и фишками...
реклама
Но к сожалению часто многие скачивают Unity, UE4, GoDoT и на этом их карьера gamedeveloper`а заканчивается.
реклама
Как понять, что действительно нужно начинать делать свою игру?
Во-первых, нужно определить, что это не делается за неделю. Действительно хорошая игра, на которой можно маломальски зарабатывать, в лучшем случае (Совмещая с учебой и работой) будет сделана за месяц, а то и больше.
Во-вторых, нужно абстрагироваться от ничего не знающих ютуберов вроде ХауДиХо, ничего против него не имею, но принять 3 факта придется.
- Английский - важная вещь
- Математика - важная вещь
- Информатика любого уровня - тоже важная вещь
реклама
Пока что на этом список закончится, потому что остальные вещи мы сможем догнать по пути.
Начнем с начала. И снова пунктики!
С места в GameDev
Игра не строится только на программировании. Его будет много, но не больше чем всего остального.
- Что это будет за игра?
- Подробное описание геймплея, механик, реиграбельности, монетизации, базовых алгоритмов
- Определение платформы, поскольку не любую игру вытянут мобилки и тд
- Определение языка, движка и тд.
- Базовый кодинг
- Базовый дизайн
- Альфа версия
- Продвинутый кодинг
- Продвинутый дизайн
- Бета версия
- Тестирование, багфикс
- Выбор дистрибьютора
- Релиз
- Обновления
Для начала нужна идея. В идеале записать ее в телефон\на листок и оставить на неделю.
Через неделю, перечитать и понять - интересно это или нет. Далее определить масштабы, если это openworld проект, шансы что вы его потянете в одиночку стремятся к 0 и не наберетесь опыта, об этом чуть дальше.
Далее подробно расписать то, как и что будет происходить в игре. Расписать каждую механику отдельно.
Описать внешний стиль. Расписать будет ли игра реиграбельной? Как, а главное почему?
Определив функционал и визуал, можно уже определять для чего мы будем делать игру? Телефоны подходят для простых игр с минимальным управлением, геймпады подходят под аркады, файтинги, гонки и тп. Мышь и клавиатура почти под все.
Определившись с платформой мы уже будем знать, какие движки желательнее всего использовать.
Не каждый движок поддерживает все платформы. При нулевых знаниях программирования рекомендую посмотреть небольшие гайды по C++, C#, Java для понимания главных концептов программирования.
Важно отличать функции, от полей, понимать для чего нужно ООП, посмотреть минимальный набор библиотек.
Но больше всего опыта вы получите начав делать свой проект. Мои первые 9 проектов умирали еще до того как я получу какой-то опыт. Сначала я пробовал разрабатывать игры на Unity, думал, ничего мне не надо, сейчас сделаю крутую игру и все дела. Первая проблема - английская документация, ничего не понял, забил. Дальше все упиралось в то что я не знал и не понимал математику. Но в этом году я поступил в ВУЗ самостоятельно и посидев на высшмате понял, что где-то я это уже все видел, а ну да, в гайдах по разработке игр. Минимальный набор для разработки выглядит примерно так:
- Вектора и векторная алгебра
- Линейная алгебра
- Простые алгоритмы
- Английский на уровне выше среднего с пониманием IT терминов.
реклама
Я уже не говорю про производные, интегралы и тд...
Вы научились выводить Hello world? Поздравляю, самое время попытаться сделать что ни-будь в движке.
Мой выбор остановился на UE4, с переходом на UE5.
Вот теперь, создав проект в одном из движков, вы стоите на входе в огромный мир разработки, где вы потратите не одну сотню часов, но если вы дойдете до конца, будете наслаждаться тем что вы сделали.
Для начала можете использовать примитивы, в 3D это называется BlockOut
BlockOut - расстановка примитивов на сцене, для понимания габаритов и внешнего вида. Подбора цветовой стилистики
В нашем случае BlockOut будет в роли базовой геометрии, которая будет повторять размеры объектов и выполнять их логику.
Сделав играбельную логику и минимальный дизайн, скиньте свою игру друзьям\знакомым на пробу. Пусть скажут чего не хватает или что лишнее.
Это будет Альфа. Оттачивайте логику до идеала, оптимизируйте.
И выпускайте Бету, корректируйте замечания и можно идти в релиз.
Старайтесь начать с простых проектов и постепенно усложняйте себе задачу.
Если что-то не работает - гуглим ошибку - если не получилось просим друга выслушать, что делает твой код. "Эффект резиновой уточки"
Читайте как можно больше документацию в идеале на английском языке.
По мере создания игры, учите хоткеи, чем больше вы знаете про движок и его возможности редактирования тем быстрее вы делаете игру.
Важно понимать, делаю игру в одиночку уйдут тысячи часов, чтобы сделать и код и 3D модели и материалы для них. Поэтому здраво оценивайте свои возможности.
Статья не является гайдом, универсальным пособием. Но если вы захотите, заходите в дискорд и задавайте вопросы. Я отвечу на то, на что я смогу ответить. Позже будут еще статьи!
Надеюсь, статья была интересна или познавательна!
Мой Discord Сервер
@Lentilles
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила