22.09.2019

Какое образование нужно для гейм дизайнера. Профессия: Геймдизайнер, дизайнер игровой механики


Начиная серию статей о гейм-дизайне, в первую очередь стоит выяснить, что же это такое и кто такие эти гейм-дизайнеры?

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

Что же нужно, чтобы начать придумывать свою игру? Вы можете предположить, что это навыки использования движков, таких как Unreal Engine или Unity, может быть знания языков программирования и скриптинга или годы опыта?

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

А как же технические навыки, спросите вы? Многие игры могут быть созданы и подавно без них: карточные игры, настольные игры, текстовые приключения! Не обязательно начинать свой путь с создания Minecraft, главное – это начать. Но, даже создавая игру на такие платформы, как PC или iOS, вам не требуется знать каждой мельчайшей детали. Чтобы принимать верные решения, главное – представлять о каждой области в целом. Ведь гейм-дизайнер – самая многогранная профессия в игровой индустрии. Придётся узнать обо всём понемногу.

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

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

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

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

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

Итак, допустим вы играли в неисчислимое количество игр и понимаете, как всё работает? Тогда немедленно попробуйте создать что-нибудь своё! Прежде, чем искать работу, нужно ведь хотя бы попытаться. Перед вами безграничные просторы:

  • Читайте книжки про гейм-дизайн – правда, для этого могут понадобиться знания английского, ибо вся хорошая литература именно на нём
  • Пишите концепты, показывайте своим друзьям, выкладывайте на сайты, слушайте чужое мнение
  • Подумайте над тем, как можно улучшить существующие игры, пишите об этом на форумах, общайтесь с комьюнити
  • Создавайте моды для популярных игр, пишите истории и воплощайте их в жизнь. Skyrim вам поможет здесь в первую очередь
  • Попытайтесь разобраться в любом движке и сделать на нём простейшую игру, хотя это задача не из лёгких и не всем она под силу. Не отчаивайтесь, кому-то лучше удаётся теоретический дизайн – это в порядке вещей
  • Примеры сложных движков, но на них в основном работают в компаниях: Unity, Unreal Engine, Cry Engine
  • Примеры более простых движков для одиночек: RPG maker, Game Maker Studio





  • Попробуйте создать своё текстовое приключение, к примеру, на движке Quest5 или ADRIFT
  • Создавайте настольные и карточные игры, играйте в них с друзьями
  • Создавайте системы баланса несуществующих игр в Excel, может быть, баланс – это ваше призвание? В любом случае, эти навыки определённо пригодятся!
  • Да хотя бы сходите на ту же Конференцию Разработчиков Игр и послушайте различных докладчиков, для начинающих информация может оказаться полезной

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

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

Какие навыки могут понадобиться гейм-дизайнеру при создании игры?

  • Анимация – вы должны представлять, что ожидаете от персонажей, как они должны двигаться, как ваш дизайн может использовать эти возможности
  • Аудитория – вы должны представлять, кто будет играть в вашу игру и что они от неё ожидают, самое главное это оправдать эти ожидания
  • Архитектура – да, да, создавая целые города и миры, вам придётся вдохновляться мировой архитектурой, чтобы ваши локации выглядели настоящими и живыми
  • “Brainstorm” – сложно перевести это выражения (МОЗГ БУРЯ), по сути вам придётся создавать десятки и сотни идей, нужно уметь это делать, не ограничивая себя рамками

  • Бизнес – большинство игр делается ради денег и, чтобы эти деньги заработать, нужно представлять какую игру стоит сделать, особенно в наше “Free to Play” время
  • Кинематографичность – во многих присутствует особенное поведение камеры и кат-сцены, вы должны представлять, как с помощью этих элементов улучшить ощущения игрока
  • Коммуникативность – это, наверное, главное ваше орудие. Вам придётся говорить с людьми каждый день, каждый час, каждую минуту. Правильно объяснить свои мысли всей команде – это очень важно
  • Сценарий – не на всех проектах существуют сценаристы и, зачастую, гейм-дизайнер выполняет эту роль
  • Экономика – во многих современных играх очень сложная ресурсная экономика и вам придётся рассчитывать её и создавать системы баланса
  • История – зачастую игры рассказывают о тех или иных периодах в истории человечества, и знание разных эпох могут сильно вам помочь
  • Менеджмент – чтобы команда достигала хороших результатов, ей всегда требуется хорошее управление. Дизайнеры могут преуспеть и в этой области, помогая организовать работу
  • Математика – чтобы сбалансировать любую игру, потребуются те или иные знания математики. Чем лучше вы чувствуете себя в этой области, тем проще вам будет
  • Музыка, звук – хороший саундтрек и звуковое сопровождение могут сделать даже не самую лучшую игру – шедевром, создавая атмосферу и погружая игрока в происходящие вокруг события
  • Психология – вам нужно сделать людей счастливыми, а для этого нужно понимать как они мыслят и что желают
  • Публичные выступления – да, не все любят выступать перед обществом, но гейм-дизайнеру нередко приходится это делать: рассказать о новых идеях, представить концепт, объяснить инженерам как работает та или иная вещь
  • Техническая документация – умение создавать точные инструкции для программистов и художников очень помогут вам. Ведь допустив малейшее недопонимание, вы можете получить совершенно другой результат

Ну и, конечно, главное умение – это умение слушать. Вам придётся слушать многих: вашу команду, аудиторию, игру, самого себя.

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

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

ЗАДАТЬ ВОПРОС Посетить экскурсию

Длительность обучения
1 год (2 семестра)

Стоимость обучения
330 000 рублей в год (возможна оплата в рассрочку)

Формат обучения
Part time: два или три вечера на буднях (19:00 - 22:10) и один выходной (11:00 - 18:20).

Начало обучения
октябрь 2019 года

Любая игра начинается с геймдизайнера. Он самым первым знает, какой она будет, и понимает про нее абсолютно все. Все те решения, которые он принимает, от глобальных до почти незаметных на первых взгляд, и делают игру игрой. От этих решений зависит, как будет вести себя игрок: захочется ли ему прокачать своего персонажа, сделать ещё один ход, перейти на следующий уровень, атаковать врагов или потратить бонусы. Хороший геймдизайнер – это и психолог, и аналитик, и продюсер, и творец. Он – бог игровой вселенной: придумывает законы, по которым она будет жить, делает так, чтобы игроки следовали этим законам и получали удовольствие от геймплея, ведет всю документацию по проекту и управляет работой всех отделов – и ещё много, очень много всего. Хотите «рулить» всеми этапами создания игры, придумывать свои вселенные и делать так, чтобы они были интересны людям? Именно этому и учит программа Scream School «Геймдизайн».

Цель курса

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

Обучение

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

Подробнее с программой можно познакомиться в разделе « ».

Портфолио

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

На кого рассчитана программа

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

Всего 2 года назад я была 17-летней школьницей и ничего не знала о программировании. Это не помешало мне начать учиться и через несколько месяцев выпустить свою первую игру в Steam. Сегодня у меня более 10 игр для ПК, интернета и мобильных устройств и свыше 1,9 млн игроков.

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

Всему, что я знаю, я научилась сама, а теперь научу вас.

Чтобы сделать игру, нужно пройти 6 этапов:

  • Концепция
  • Графика
  • Программирование
  • Подготовка к публикации
  • Публикация
В статье для каждого этапа я выделю:
- Советы, которые я вынесла из своего и чужого опыта.
- Инструменты, которые я считаю наиболее полезными. У вас есть классная идея. Но как оформить её на бумаге?

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

  • Фишки. Что делает вашу идею крутой? Это самый главный вопрос. Как только вы сможете уловить и зафиксировать это, остальные этапы покажутся легче. Ваша игра поднимает острые темы? Станет новой классикой? Или будет отличаться от всего, что было раньше?
  • Механика. Что делает игрок и зачем? Это ваш игровой процесс. Он может быть простым, как поочерёдное нажатие клавиш Q, W, O, P в игре QWOP , или сложным, как комбинации в Dwarf Fortress.
  • Легенда. Благодаря чему игроки запомнят вашу игру? С какими эмоциями они будут её покидать? У каждой игры есть история. Если стория неочевидна, игрок сам создаст её. История бывает разная: возрастание чисел в игре 2048, восхождение империй в Civilization или безмолвные взаимодействия в Monument Valley. Подумайте, какая легенда будет стоять за вашей игрой.
  • Настроение. Какое впечатление производит игра? Какие визуальные эффекты и музыка будут этому способствовать? Важно первое впечатление, которое сможет зацепить игрока и затем заставить его снова возвращаться к игре. Возможно, вам захочется ретро-эффекта с пиксельной графикой и 8-битной музыкой или современного вида с плоской геометрией - подумайте об этом.
  • Участвуйте в хакатонах. Вам и другим участникам нужно будет сделать игру за отведённое время. Как минимум вы вдохновитесь и встретите единомышленников. Попробуйте Ludum Dare , один из самых больших геймджемов.
  • Создайте список идей. Записывайте каждую новую мысль. В моменты ступора всегда можно заглянуть в список и найти что-то интересное. Так выглядит мой личный Google Doc идей и заметок .
Когда приходит вдохновение, бросайте всё и пишите. В следующий раз, когда мысль уйдёт, не понадобится высасывать идеи из пальца.

Инструменты

Ведение заметок:
  • Заметки на Mac OS.
  • Google Документы.
  • Трелло.
Командная работа:
  • Google Диск.
  • GitHub. Требуется git и Unity .gitignore.
  • Unity Collab. Самый простой инструмент, но с ограничениями в бесплатной версии.
Я делаю игры на Unity. Дальше речь пойдёт о нём, но не бойтесь использовать другой движок.

Вдохновение:

  • Книга Джесси Шелл «Искусство геймдизайна ».
  • Сайт для разработчиков игр Gamasutra .
Если вы не умеете программировать, сначала прочтите раздел «Программирование». Вряд ли вы хотите потратить время на графику и выкинуть её потому, что под неё не написать код.

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

Thomas Was Alone - простая и прекрасная игра

Интерфейс

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


Неудачный и удачный шрифт

2D-анимация

Анимацию можно реализовать двумя способами:
  • Покадровая анимация. Когда вы отрисовываете каждый кадр. Для этого используйте таблицы спрайтов и Sprite Packer в Unity.
  • Скелетная анимация. Отрисовывается каждая подвижная конечность, затем анимируется её позиция и повороты. Это быстрее, легче и тратит меньше оперативной памяти. Для 2D-анимации на Unity используйте пивоты (точки привязки) или плагин Anima 2D .

Что ещё может пригодиться

Советы, которые применимы не только к игровой графике, но и к другим программам:
  • Объекты-тайлы используются для создания плитки и требуют меньше места на жёстком диске.

Без тайлов и с тайлом

  • 9-slice объекты с немасштабируемыми границами и масштабируемым центром позволяют увеличивать изображения без заполнения памяти.

Пятно расширяется, но углы остаются прежними

  • Делайте разрешение каждого объекта таким, чтобы оно делилось на 4 или было степенью числа 2.
  • В Photoshop вы можете сохранить каждый слой в отдельный файл через Файл > Экспорт > Быстрый экспорт в [формат изображения].

Инструменты

Создание интерфейса:
  • Photoshop.
  • Sketch.
Принципы создания интерфейса:

Создание 2D объектов:

  • Photoshop.
  • Gimp.
  • Paint Tool SAI - для графики в стиле аниме.
Создание 3D объектов:
  • Blender - мощное ПО со сложным обучением.
  • Maya - для анимации.
  • Max - для отрисовки.
Бесплатные игровые ассеты:
  • Behance - шрифты, иконки и прочее.
  • KennyNL - высококачественные объекты, готовые к использованию в играх.
  • Open Game Dev Art - огромная библиотека графики, созданной другими пользователями.
Вдохновление:
  • Dribbble - закрытое сообщество дизайнеров.
  • Behance - сообщество дизайнеров, к которому может присоединиться любой желающий.
  • itch.io - сообщество создателей инди-игр.
Выберите игровой движок, среду разработки и начинайте погружаться в код.

Представленных ниже знаний достаточно для начала. Все примеры написаны на C++, одном из языков программирования в Unity3D. (Примечание переводчика: на самом деле в Unity используется C#, который похож на C++ ).

  1. Типы данных и переменные. В основе кода лежат данные, которые хранятся в переменных. Можно объявить переменную так:

    Int i = 0;
    int - тип данных, i - имя переменной, = 0 - значение переменной.

    Часто используемые типы данных:
    int и long - для целых чисел,
    float и double - для чисел с плавающей точкой,
    string - строчные данные.

  2. Условия. С помощью оператора if можно создать условия для выполнения кода:

    If (true){ // истина всегда истинна! doThings(); // я внутри выражения, и я выполняюсь! }
    Используя оператор else , можно расширить условие и отобразить что делать, если условие не соответствует истине:

    Int i = 1; if (i == 0){ doThings(); } else if (i == 1){ doOtherThings(); // теперь запускаюсь я! }

  3. Циклы for/while. While-циклы повторяют части кода, пока условие остаётся истинным. Как только условие перестаёт быть истинным, цикл обрывается.

    While (someBool == true){ // условие doThings(); // Буду выполняться, пока условие истинно }
    For-циклы похожи на while-циклы. Для while мы пишем так:

    Int i = 0; while (i < condition){ doThings(); i++; // счётчик, по которому цикл продолжается }
    Равнозначный for-цикл будет таким:

    For (int i = 0; i < condition; i++){ doThings(); }

  4. Структуры данных. У нас есть данные, с которыми можно взаимодействовать. К тому же их можно хранить в особой структуре - массиве, списке, очереди, стеке или наборе.
    Простой примера массива:

    /* Допустим, у нас есть числа от 0 до 9. Будем хранить их в массиве! */ int arr = new int; /* Скобки нужны для объявления массива. Мы присваиваем массив из 10 элементов переменной arr. Теперь он выглядит так: arr = [ 0 0 0 0 0 0 0 0 0 0 ] */ for (int i=0; i<10; i++){ arr[i]=i; // Мы присваиваем позиции i значение i. //Заметили, что счёт начинается с нуля? } /* После цикла наш массив будет выглядеть так: arr = [ 0 1 2 3 4 5 6 7 8 9 ] */

  5. Функции и исключения. Функция - это короткая строчка кода, заменяющая огромное количество строчек кода. Например, выведем функцию EatBread() , которая содержит следующее:

    Void EatBread(){ //<---это функция breadAte=true; printf("Я ОЩУЩАЮ УГЛЕВОДЫ, ОНИ БЕГУТ ВНУТРИ МЕНЯ"); }

Тогда при выводе функции выполняются два выражения внутри неё.

Если в коде что-то идёт не так, на помощь приходят исключения. Они как бы говорят: «Так, погоди, здесь ты сделал что-то нелогичное. Перепроверь ещё раз».

О чём ещё надо знать:

  1. Язык. На каком языке вы будете программировать? Чаще всего игры пишут на C++, JavaScript или C#. Языки отличаются синтаксисом и областью применения.
  2. API (Application Programming Interface). Как только вы ознакомились с базой, приступайте к изучению программного интерфейса приложения для конкретного игрового движка. Они представляют собой набор полезных инструментов, упакованных в простые классы и функции. API сильно упрощает жизнь программиста.
  3. Посмотрите примеры проектов на выбранном игровом движке. Можно найти много бесплатных примеров игр на движках Unreal и Unity. Это позволит увидеть итог и весь процесс работы целиком, а также почерпнуть идеи для своей будущей игры.
Немного вдохновения. Знаю, программирование поначалу пугает. Всё кажется бессмысленным, вы постоянно спотыкаетесь и перед лицом постоянных ошибок хотите сдаться, но это не значит, что программирование не для вас.
Код - это вызов самому себе. И ничего не понимать поначалу - нормально.

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

Другие немаловажные основы программирования:

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

    MeleeAttack ()
    а не

    MA()
    или

    Protecbutalsoattac()

  • Декомпозиция. Сделайте из повторяющегося кода функцию и вызывайте её вместо копирования повторяющихся строк.
  • Шаблон проектирования Singleton («Одиночка»). Шаблон программирования, который позволяет данным храниться в одном месте.
  • Избегание статических переменных. Помимо использования синглтонов, я избегала статических переменных - они живут только на время игры, медленные и могут вести себя непредсказуемо.
  • Шаблон проектирования Observer («Наблюдатель»). Позволяет объекту узнавать о состоянии других объектов, не теряя компьютерного времени на проверку.
Вещи, свойственные Unity:
  • Сопрограммы. Позволяют начать выполнять действие, продолжать в течение нужного времени и затем прекратить. Я использую их для визуальных эффектов взрывов, резких движений.
  • Класс ScriptableObject. Он хранит данные с меньшими затратами, чем базовый класс MonoBehaviour.

Инструменты

Игровые движки:
  • Свой движок на C/C++. Низкий порог входа. (Примечание переводчика: на самом деле, создание своего движка требует больших усилий и глубокого знания принципов программирования ).
  • Unity. Поддерживает 2D/3D. Требует знаний JavaScript/C#. Средний порог входа. Разработка для нескольких платформ.
  • Unreal. Поддерживает 2D/3D. Требует знаний C++. Средний порог входа. Разработка для нескольких платформ.
  • pixi.js. Только 2D. Требует знаний JavaScript. Средний порог входа. Разработка для браузера.
  • GameMaker Studio. Поддерживает 2D/3D. Требует знаний специального языка движка GML (Game Maker Language). Для новичков. Разработка для нескольких платформ.
  • Corona. Только 2D. Требует знаний Lua (похож на JavaScript). Для новичков. Разработка для нескольких платформ.
Среды разработки:
  • Visual Studio Code (для MacOS) - не зависает, имеет встроенную справочную информацию и удобные «горячие» клавиши.
  • Visual Studio (для Windows).
  • MonoDevelop - устанавливается с Unity, иногда подвисает.
Бесплатные ассеты Unity:

В Unity Asset Store, bitbucket и GitHub очень много бесплатных ассетов. В своих проектах я использую минимум по два. Они упрощают жизнь, но далеко не идеальны. Заметили ошибку - исправляйте и говорите разработчику о ней.

  • Keijiro Takahashi - работает над Unity, доступные проекты визуальных эффектов с открытым исходным кодом.
Немаловажный, даже главный источник решения проблем с кодом - Гугл!
Аудио способно создавать настроение и погружать в игру, но для него нужна память.

Для начала решите: вы хотите звук? Если да, будет ли в игре музыка, звуковые эффекты, озвучка или повествование.

В любом случае потребуется запись и сведение таким образом, чтобы звук подходил под настроение игры. Например, Bastion использует органические и инструментальные звуки, хорошо вписывающиеся в мир игры. Crypt of the Necrodancer включил в себя смесь электронных ритмов и восьмибитного рока, чтобы передать темп и яркость игры.

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

Инструменты

Приложения для работы с аудио:
  • Logic Pro (только для MacOS). Цена 200 $.
  • FL Studio. Цена 99–899 $. Есть бесплатная демоверсия.
  • Reaper. Цена 60–225 $.
  • Audacity. Бесплатная программа. Имеет мало возможностей, но полезен для чистки аудио.
Создание ретро-эффектов:

Бесплатные звуки:

  • Soundcloud . Здесь можно найти бесконечно много звуков и музыки под лицензией Creative Commons. Начните с этого плейлиста . Использовать можно бесплатно, но не забудьте указать авторство.
Существует небольшая вероятность - на 99,99 процентов, что в игре есть ошибки. А это значит, что самое время заняться баг-тестом.

Как тестировать игру на баги?

  1. Дайте другим поиграть в игру. Желательно вместе с вами, на случай, если они столкнутся с ошибкой и не смогут понять или объяснить её.
  2. Проверьте игру на разных платформах. В редакторе может не быть проблем, но работает ли она там, где её будут запускать? Будьте особенно внимательны с Linux и Android.
Итак, баг найден. Что теперь?

  1. Проверьте консоль на исключения. Если нашли исключение, найдите файл и строку, где сработало исключение. Если оно звучит по-марсиански, поищите решение в сети, и подумайте, почему именно в этой строке срабатывает исключение.
  2. Напишите в консоль. Попробуйте вывести логи (системные файлы) в предполагаемых местах ошибки. Введите разные переменные и сверьте полученные значения с ожидаемыми. При несовпадении - исправляйте.
  3. Проверьте логи. Системные записи вашего проекта дадут больше информации, чем консоль. Прочтите строки, где сработало исключение. Гуглите всё, что не знаете.
  4. Поспите. Всё починится с утра. Это просто плохой сон:)

Типичные ошибки

  • NullReferenceException.

    Var.doThing(); //throws NullReferenceException: Object reference not set to an instance of an object
    В чём дело: функция выполняется с несуществующей (null) переменной.
    Быстрое решение: проверьте, является ли переменная null.

    If(var != null) { var.doThing(); // выполняем функцию безопасно! }

  • SyntaxErrorException.
    В чём дело: ошибки в синтаксисе.
    Быстрое решение: в сообщении указано, какой символ выдал ошибку. Найдите и исправьте его.
    Примечание: Проверьте, какие кавычки вы используете.
    " //правильные кавычки;
    " //ненужные кавычки, они принесут вам немало ошибок.
  • Розовый или чёрный экран.
    Возможная проблема: не обработался шейдер.
    Возможные причины: вы используете 3D-шейдеры в 2D-игре или шейдеры, которые не поддерживаются операционной системой. Убедитесь, что вы используете мобильные шейдеры для мобильных игр.
Как закончите с ошибками, приступайте к оптимизации производительности и использования памяти. Пользователи смогут запускать игру быстрее и не испытывать проблем с нагреванием устройств.
  • Установите нужную частоту кадров. Для визуальной новеллы хватит 20 кадров в секунду, а вот для шутера нужны 60. Низкая частота кадров тратит меньше времени на отрисовку.
  • Анимация / система частиц / выборочная обработка. Объекты, невидимые для камеры игрока, не обрабатываются. Персонажи анимируются, частицы обновляются, 3D-модели обрабатываются только в поле зрения игрока.
  • Сжатие текстур и звуков. Для сжатия текстур используйте Crunch . Потоковая музыка и распаковка звуковых эффектов перегружают игру. Попробуйте снизить качество аудио. Сжатие может заметно снизить качество объектов.
  • Не позволяйте Raycast касаться лишних объектов. Raycast похожи на маленькие лучи, выстреливающие из ваших пальцев или мыши, когда вы касаетесь экрана или кликаете. Найдите объекты, которые не должны реагировать на действия игрока и удалите их из вычислений Raycast.
  • Используйте объектный пул. Частое создание и удаление большого количества объектов снижает производительность. Вместо этого, объедините их в список, очередь или другую структуру. Например, пули должны объединяться в один массив.
  • Оптимизируйте шейдеры. Задайте материал для каждого визуализатора. Игре не придётся создавать новые материалы в начале игры, что сэкономит ресурсы. Пусть визуализатор включает только то, что функционально необходимо.
  • Используйте AssetBundles (дословно «комплекты активов») вместо старой системы Resources в Unity. AssetBundles экспортирует ваши файлы из Unity и помещает в один файл, экономя оперативную память.

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

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

Как стать и куда двигаться дальше

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

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

Будет полезно почитать «The Art of Game Design: A Book of Lenses» Джесси Шелла, изучить игровые движки - например, бесплатного для индивидуального использования Unity3D .

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

Из личных качеств важны:

  • креативность, хорошее воображение;
  • аналитический склад ума;
  • умение просчитывать и оценивать свои идеи;
  • коммуникабельность, умение последовательно и структурированно излагать свои мысли.

При поиске первой работы очень пригодятся собственные разработки в портфолио:

«На первом курсе университета я попросился в сценаристы на разработку очередного „Убийцы Сталкера“. Проект был на энтузиазме, и брали кого угодно. Так я научился работать в команде и выполнять глобальные серьезные задачи. Позже сделал на движке GM Studio демо-версию собственной игры, довольно простой 2D top-down action. На первую работу прислал резюме, где написал, что у меня нет выпущенных проектов, но есть опыт работы и проект, который я сделал сам.

Свои игры были самым ценным вкладом в трудоустройство. Продюсер, который принимал меня, сказал, что собственная разработка на порядок ценнее любых модификаций и карт для существующих игр, поскольку подразумевает самостоятельную наладку CCC (Camera, Control, Character) - тех аспектов, которые считаются самыми важными в любой игре. Я согласен с ним: своя разработка помогает смотреть на гейм-дизайн детальнее. Когда программируешь сам, сталкиваешься с необходимостью определять любую мелочь. Делаешь ошибки и стремительно учишься думать наперед, прогнозировать последствия своих решений».

Возможные карьерные пути гейм-дизайнера:

  • расти горизонтально, осваивая смежные навыки;
  • стать руководителем команды гейм-дизайнеров, координируя их работу;
  • стать продюсером - специалистом, которые отвечает за глобальное видение проекта.
«Мне интересно получить как можно больший уровень ответственности и контроль разработки на всех стадиях. От самого высокого уровня, на котором принимается решение, что вообще разрабатывать и для каких платформ, и до самого низкого. Я считаю, что этот путь лучше всего позволяет реализовать себя и как профессионала, и как творца».

Благодарю за помощь в написании статьи Александра Шевченко , Андрея Петкевича , Артема Запорожца , Олега Горчакова и Родиона Баскакова . Все цитаты взяты из их рассказов.

Как упоминалось ранее, гейм-дизайнер выступает связующим звеном между всеми участниками команды, которая работает над созданием игры. Для того, чтобы эффективно взаимодействовать с другими сотрудниками, нужно хотя бы в общих чертах понимать суть работы каждого из них и возможности специалистов – без этого не обойтись при постановке задач и реализации общего проекта. Давайте вкратце рассмотрим ключевые должности, с которыми тесно сотрудничает гейм-дизайнер:
  • Программист . Отвечает за создание программного кода, с помощью которого игровой баланс и физика воплощаются в самой игре.
  • Художник . Занимается рисованием персонажей, текстур, игровых элементов.
  • Аниматор . Отвечает за движения персонажей и других объектов в игре. Часто должность совмещена с художником.
  • Дизайнер уровней . Занимается проработкой каждого этапа в игре: графические элементы, расположение бонусов, позиции персонажей и многое другое.
  • Звукорежиссер . Обеспечивает качественный звук, который способствует созданию соответствующей игровой атмосферы. Сотрудничает с композитором и актерами, отвечающими за озвучку игры.
  • Сценарист . Работает над сюжетной линией игры в соответствии с исходным планом.
  • Тестировщик . Выполняет проверку на наличие ошибок, обеспечивает участников команды расширенными отчетами по результатам тестирования для исправления всевозможных багов.
Будьте готовы к тому, что порой вам придется брать на себя обязанности того или иного специалиста за неимением в команде последнего. Кроме того, случается и так, что ведущий программист или художник-аниматор видит игру совсем по-другому и даже склонен игнорировать исходную концепцию, созданную гейм-дизайнером, полагая, что так будет лучше для проекта. В этом случае очень важно вернуть сотрудника «на путь истинный» независимо от его статуса в команде. Дело в том, что, если допустить импровизацию, скажем, в программном коде, оригинальный замысел будет утрачен вместе со всеми расчетами игровой физики и баланса. Тогда в лучшем случае у вас, к искреннему удивлению всей команды, получится игра другого жанра, а в худшем – абсолютно неиграбельный проект, который нанесет значительный урон репутации компании.

© 2024
artistexpo.ru - Про дарение имущества и имущественных прав