Серия Статей Про Разработку Игр - Часть I - Кратко о Геймдеве

Доброе утро/день/вечер - [выбрать наиболее вам подходящее], пдфчане!

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

Меньше дела, больше слов. Поехали!

Арт из игры <b>While True: Learn()</b>
Арт из игры While True: Learn()

Предисловие

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

Хотите начать разрабатывать игры и изменить свою жизнь в лучшую сторону? (а может наоборот...) Узнаете как работает вся эта кухня изнутри и что вас ждёт в ближайшее время. Словите небольшую мотивацию и может сделаете свой первый Flappy Bird с нуля.

Уже разрабатываете игры и в перерывах залипаете на DTF? Что ж, может покекаете с моего «авторитетного» мнения и сможете поделиться своим в комментариях? Ну и может узнаете что-то новое для себя.

Хотите узнать чуть больше об этой чудесной сфере? Думаю, вам тоже будет интересно всё это почитать, чтобы понтоваться перед своими друзьями и случайными прохожими, дабы показать, кто здесь босс компьютерного клуба!

Я надеюсь, что хоть какую-никакую, но порцию полезной информации вы здесь для себя найдёте. Иначе я буду расстроен, что потратил и ваше, и своё время впустую. Как-то так.

Количество слов: 2441;
Примерное время прочтения: ~15 минут;

Гнум.
Гнум.

Геймдев 00. Что это за имя такое дурацкое — Sashimi?

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

Я разработчик-самоучка, учусь на 3 курсе "Программной инженерии" и варюсь во всём этом уже примерно года 2. Ну а свой путь я начал ещё раньше, лет эдак 6 назад, но не срослось, не фортануло. Проекты забрасывались даже не на этапе препродакшена, а ещё в голове…

Если бы в гей(м)деве было разделение на практическую и теоретическую сферу, я скорее относился бы ко второй.Теоретически граблю корованы, делаю по несколько проектов/месяц в стол и анализирую игры со стороны «круто они обошли это ограничение" и "умно, умно"...

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

НО! Сейчас готовятся пару игрушек в релиз, которые находятся на этапе полировки, поэтому я и решился написать эту статью, потому что моя самооценка немного подросла.

Да.
Да.

Геймдев 01. Что такое и с чем едят?

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

GameDev (от англ. games development — «разработка игр») — это процесс создания игры от задумки и до выпуска на рынок, бла бла бла... ладно, не буду я вас грузить сухой теорией!

Стираем всё, что записали и давайте начнём по новой и с картинками!

вот это геймдев!
вот это геймдев!

В первую очередь геймдев - это искусство! Такое же как киноиндустрия, написание книг, музыки, да и вообще всё это вместе взятое! А уже потом СоЗдаНие ПрОдуКта. (хотя это для кого как...)

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

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

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

Сам геймдев имеет в себе несколько основных сфер, если так можно выразиться:

  • ПК Гейминг
  • Консольный гейминг
  • Мобильный гейминг
  • Браузерные игры
  • VR-игры

Чаще всего в России играют на смартфонах — 42%, на ПК — 33%, а на консоли — 9%. Следовательно разрабатывать игру на консоли с приоритетом на русскую аудиторию будет не очень хорошей идеей.

Факт №1

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

Я такую джва года жду!!

Эх, мечта...
Эх, мечта...

Многие ассоциирует слово development (разработка) именно с программированием, что является не совсем корректным.

Лично для меня, как соло-разработчика, кодинг является только половиной, а то и 1/3 от всего процесса разработки. Если взять в пример маленькую инди студию, то там на одного программиста может быть 2-3 другие роли.

К ролям мы перейдём чуть позже, а пока давайте обсудим МИФ №1!

Создание игр - это программирование/Игры нельзя создать без знаний языка программирования.

Миф №1

Что я тут могу сказать... сейчас возможно в меня полетят тапки, но на деле, это высказывание является ложью. Однако! Только наполовину.

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

Однако, если вы только начинаете свой путь и хотите делать игры уже сейчас, то что тогда? Всё равно ложь!

Геймдев 02: Создал бог программирование... да, бл*ть опять сломалось...

Так почему же этот миф - ложь? Сейчас объясню.

Практически в каждом движке имеется своя система визуального программирования. Давайте разберёмся что это такое.

Как пример - ВП в <b>Scratch</b>
Как пример - ВП в Scratch

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

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

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

программистские мемы подъехали...
программистские мемы подъехали...

И так, записываем! Программирование - это написание алгоритмов.

Ага, а что такое алгоритмы? Алгоритм, это когда мы говорим объекту, допустим нашему человечку, что он должен сделать и при каких условиях. Если прям совсем простым языком. Чёткая последовательность действий. Так и никак иначе!

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

{ Человечек ДОЛЖЕН изменить своё местоположение вверх с определенной скоростью ЕСЛИ он стоит на земле И нажата определенная клавиша }

Ага, ну написали мы вот это, что с этим делать то?

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

Сделать это уже можно либо с помощью программирования скриптов, либо же с помощью визуального программирования, где движок сам "создаст" скрипт за нас.

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

Шпион в Team Fortress появился благодаря визуальному багу, при котором цвет ника игрока показывался как враждебный.

Факт №2

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

Вот одни из примеров No code игр:

<b>Utopia Syndrome</b>
Utopia Syndrome
<b>Mighty Goose</b>
Mighty Goose

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

Геймдев 03. Каждой твари по обязанности.

Как я уже сказал ранее, геймдев — это сфера включающая в себя ОГРОМНЕЙШЕЕ количество различных направлений, которые в свою очередь делятся ещё и на свои направления...

От 2D и 3D художников по персонажам, интерфейсу, окружению, текстурам, освещению… до программистов по архитектуре, рендеру, мультиплееру, отдельным фичам и так делее… (не забываем про звук, менеджмент, нарратив, маркетинг, тестирование, тудам-сюдам и ещё небольшой вагон профессий)

Серия Статей Про Разработку Игр - Часть I - Кратко о Геймдеве

Отдельной профессией в ГД является Геймдизайнер (Game Designer) и именно её я считаю основной. Геймдизайнеров на крупном проекте обычно больше одного и имеют они свою иерархию.

Именно этими крутыми парнями хотят быть начинающие разработчики, зачастую даже не зная "базы".

Чем занимается Геймдезигнер? Если проводить аналогию с кино, то геймдизайнер будет режиссёром от мира видеоигр. Главная его функция — это проектирование игрового опыта. Какие эмоции игрок будет испытывать во время прохождения и те ли это эмоции, которая игра должна вызывать.

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

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

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

Тачико
Тачико

Самая распространенная эмоция, связанная с видеоиграми, — это волнение.

Факт №3

Как пример можно взять две разные по геймплею игры: Doom и Animal Crossing. Навряд-ли ваши эмоции будут схожими во время их прохождения. За реализацию этого момента и отвечает геймдизайнер. А ещё, правильно объединив механики из этих игр, геймдизайнер сможет придумать для вас ту самую легендарную игру, да, да!

<b><i>Doom Crossing</i></b>
Doom Crossing

Так что же всё это значит, игры можно создавать только работая в команде?
И тут мы плавно переходим к мифу №2! Как говорил мой отец:

Нельзя создать хорошую игру в одиночку

Миф №2

Это всё является подлым враньём, мессир!

Однако! Смотря что вы подразумеваете под "хорошей" игрой. Для некоторых, хорошая игра - это проекты по типу GTA VI, Skyrim 2 и Грабитель корованов онлайн MMOJCRPG.

Для меня, уровень хорошей игры - это Ultrakill, The binding of Isaac, Stardew Valley. Все эти перечисленные игры сделаны одним человеком, и в них ОЧЕНЬ интересно играть. Является ли это ошибкой выжившего? Возможно. Но я склонен считать, что если игра увлекает, сделана с душой и хорошо презентована, то неважно какой у неё бюджет и сколько человек в команде.

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

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

Даже можете туда свой дом добавить, если так уж хотите...

Я и сам своего рода геймдезигнер.
Я и сам своего рода геймдезигнер.

Геймдев 04. У разработчика нет цели — только путь.

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

И так, что вам для этого нужно? Ничего серьёзного:
только среднебюджетный ПК, способный не виснуть при открытом игровом движке и дюжине вкладок в браузере, и ЕБ*ТЬ КАКАЯ самодисциплина.

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

Если у вас в будущем хотя бы прототип получится сделать, то уже не всё так плохо, идём дальше!

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

Все там будут
Все там будут

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

Почему? По нескольким причинам:

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

(изначально я пришёл в геймдев как кодер, потому что прогать игры мне нравилось больше, чем web, откуда я ушёл. Однако позже, я понял, что больше всего мне нравится именно создавать игровые миры и продумывать взаимодействие игровых механик, но и от программирования я конечно не отказался)

Геймдев 05. А дальше как жить?

А дальше небольшая самостоятельная работа!

Unity do bbrrr
Unity do bbrrr

Если вы сомневались в выборе своего пути (или вам нечего делать этим вечером), то можете выполнить следующее домашнее задание:

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

Пример:

Моей любимой игрой является Disco Elysium. Эмоции которые она во мне вызывает - это тоска, облегчение и любопытство. Сама по себе игра является для меня чем-то медитативным и расслабляющим. А теперь давайте представим, если бы с самого начала у нашего Гарри было бы оружие и он мог пользоваться им в любой момент! :) Да игра вообще полностью изменилась бы нафиг!! Это был бы новый игровой опыт, влеча за собой всё большее добавление новых механик. Ко всем прочим эмоциям могли бы добавиться Удовлетворенность и Веселье от перестрелок с врагами и Возбуждение перед с битвой с боссом. Хотя мы просто добавили в игру всего одну дополнительную механику. Будьте с этим осторожны.

2. Выберите один из аспектов игры и попробуйте скрестить его с остальными: стрельба, передвижение, взаимодействие с окружением. И попробуйте по разному их скомбинировать. Какие механики могут получиться?

Например, что будет, если объединить стрельбу и взаимодействие с окружением? Или передвижение и стрельбу? Попробуйте придумать уникальные взаимодействия и выделить как игровую механику.

Пример:

Как самые простые примеры, можно использовать разрушаемость окружения в Battlefield, и замедление времени в Superhot.

DMC был 4-ой частью Resident Evil, однако во время разработки игры, в неё было добавлено много элементов, несоответствующих жанру игры. Так все те доработки были перенесены в новою игру, которая позже получила название Devil May Cry.

Факт №4

Финалочка

Спасибо, что дочитали статью до конца! Она для I части получилась немного больше, чем я планировал, но всё же надеюсь, что вы не устали её читать и узнали что-то новое и интересное для себя!

Буду рад, конструктивной критике и указания на ошибки, если где-то допустил (наверняка допустил...), всё оперативно исправлю.

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

На этом у меня всё, прощаюсь, ещё услышимся!

2727
9 комментариев

В целом хорошая статья. Я бы только добавил более четкое разделение на 2 совершенно разных геймдева. Потому что:
Здесь ты можешь быть писателем, кодером, музыкантом, художником и всем-всем-всем в одном лице.

Это про соло инди, или инди где ты геймдиз который стальной волей определяет каким будет проект.

В остальных случаях будет обычная работа, но с меньшей по специализации ЗП, переработками, выгоранием и невозможностью воплотить свои идеи на практике в 90% случаев.
Тут важно разделять 2 желания:
1. Делать игры
2. РЕШАТЬ какими будут игры которые ты делаешь.

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

4
Ответить

В целом, статья хорошая и позитивная. Автор, продолжай трудиться))

2
Ответить

Спасибо!! :)
следующая часть в процессе

1
Ответить

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

Ответить

это вводная статья, надеюсь он будет дальше детализировать.

Ответить

"...плюс нек. задачи..." - вам нужно чтобы он за вас это решил? :-)

Ответить