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

  • Разработка под Android ,
  • Unity
  • Пост о воплощении мечты и о создании игры с нуля. И о граблях разной величины.


    0. Дано

    Когда-то, во времена не столь от нас отдаленные, когда интернет в Уфе был ещё с помегабайтной оплатой, я занимался созданием и разработкой локальных «фришных» серверов Lineage и WoW. Но вот появились безлимитные тарифы, а локальные сервисы начали терять свою актуальность и я ушёл в вебразработку.
    В некотором роде, как хобби я даже сохранил своё отношение в Геймдеву, правда, с другой стороны – разработка ботов и всего такого.
    Шли года, а мысль написать что-нибудь свое, с преферансом и поэтессами не переставала меня терзать. В какой-то момент я понял, что либо сейчас, либо уже никогда.

    1. Идея и Прототип

    С чего начинается разработка? C прототипа. А прототип - с идеи. Для первого проекта стоит создать что-то небольшое и простое. Питая любовь к головоломкам и пошаговым стратегиям, я увлекся мыслью, что нужно сделать какую-нибудь пошаговую головоломку. Поразмыслив, вспомнил одну интересную игру времён Спектрума (стоит отметить, что автор не так стар, как может показаться) идея которой была прекрасна в своей простоте. Игрок ходит на 1 клетку, обходя препятствия, а враги его преследуют и ходят на 2 клетки, но препятствия не обходят.

    Если взять ситуацию “A,” то мы можем спокойно ходить вверх и вниз, а монстр просто будет упираться в стену. В ситуации “B” монстр находится в загончике, а мы можем спокойно ходить справа, сверху и снизу от него. Поскольку игра у нас детерминированная, то существуют два типа монстров, которые отличаются по цветам и алгоритму поиска пути. Это для того чтобы не было неопределённости куда пойдёт монстр, когда он стоит наискосок. Красный всегда сначала сокращает расстояние до нуля по оси X ситуация “C”, в ней монстр зайдёт в загончик и упрётся в стенку. Фиолетовый же по оси Y ситуация “D”, в ней монстр пойдёт вниз, а потом уже направо и съедает главного героя.

    Тут ещё мог бы быть большой абзац про выбор «движка» для написания игры. Но, пожалуй, можно обойтись и парой слов; перед тем как попробовать Unity3D, я поковырялся в нативном Obj-C, Corona SDK, UE, Cocos2d и ещё пару 2D Фреймворках, название которых, так глубоко в стеке памяти, что уже и не откопать.
    В итоге, выбор пал на Unity3D, он мне показался оптимальным и я неспешно начал писать. Через месяц появилось вот такое приложение для iPad.

    В нём мы играли за мужичка в красном и убегали от мужичков в синем, параллельно собирали сердца – читай звезды. В тот момент мы ещё использовали кубы как стены, но затем для экономии пространства на экране заменили их.
    Хотелось бы отметить, что до этого момента, я никогда не писал на C#, но писал на JS, поэтому прототип был написан UnityScript (это такой диалект JS в рамках Unity3D). И это были первые большие грабли, послужившие нам уроком. Пришлось переписывать всё на C# и это заняло пару месяцев.

    2. Команда

    Как верно то, что я писал на десятке языков, так верно и то, что я не в состоянии нарисовать даже прямую линию. Поэтому после создания прототипа я начал искать художника\3Dшника, для этого я зашёл на сайт по фрилансу и посмотрел первых три сотни человек, с десятком - списался. Найти человека, за долю в довольно рискованном проекте, задача не из легких. Но она разрешилась, и в проекте появился талантливый художник Рамиль; итак – нас стало двое.
    Параллельно я искал инвестора. Дело не в отсутствии денег, чтобы купить плагины или устройства для теста, а в том, чтобы создать обязательства, которые помогут не забить (не сложить с себя полномочия) при определенных обстоятельствах. И такой инвестор нашелся, в виде друга, решившего вложить свои кровные, в эту сомнительную, как ему казалось, затею. Итак, нас стало трое. Отмечу, что к моменту запуска, бюджет игры составил всего около 100.000р., при этом, в эту сумму входит покупка нескольких Android устройств для тестирования, плагинов и озвучки.

    3. Расширение базовой концепции игры

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

    Концепт Арт

    Основной фишкой игры мы планировали сделать то, что персонаж может вернуться во времени, на несколько ходов назад. Т.е. не отмену хода, а возможность переместиться 1 раз за уровень на клетку, где персонаж был 3 хода назад. Это давало огромное количество вариантов хода, но на первых же тестах выяснилось, что обычные игроки не в состоянии пройти такие уровни. Слишком сложно. Может стоить таки сделать Brainiac Edition?

    Также мы много экспериментировали с размером уровней, в итоге остановились на том что весь уровень должен вмещаться на экран, даже на устройствах с небольшим экраном. Так у нас получились уровни 5х8 клеток. Но при этом у нас есть pinch zoom, для большепальцых или уровней 6х10. Кроме сокращения размера уровней, отключения возврата во времени, для упрощения была ещё добавлена отмена хода, до 5 раз за попытку.

    4. 2D vs 3D

    В какой-то момент наши тестовые билды выглядели так:

    Ужас ужас


    Приходило осознание того, что мы не в состоянии сделать картинку, которую мы хотели бы видеть в 3D с нормальным fps. Тестовая сцена для сравнения производительность 2D и 3D показывала не утешительные результаты.

    Скриншоты из сцены


    В итоге на iphone4, слева(3D) было всего 20 кадров в секунду, а справа(2D), стабильные 60. При этом, справа, качество картинки, как вы видите, на порядок лучше. Сейчас конечно если ориентироваться на минимальную производительность уровня iphone5+ и делать специально несколько квадратную графику, кошерные шейдеры + lightmapping + lightp robes, можно и для 3D сделать отличную графику

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

    Наглядное сравнение

    Поскольку у нас были 3D модели, мы выбрали первый вариант. В итоге это выльется в большой вес приложения, даже с учётом огромного кол-ва оптимизаций мы не сможем уложиться в 50 мегабайт.

    5. Форс-мажоры - это возможность

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

    Для тех кто не понял о чём речь


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

    6. Техническая часть

    Думаю, настало время поднять градус гиковости. Значимую часть времени разработки заняло создание генератора уровней. Генератор писался на питоне, потому как он был мне духовно близок и numpy позволял быстро оперировать матрицами.
    Сам генератор на выходе создавал txt файл(который парсился Юнити для создания сцены) и серию картинок, показывающих пошаговое прохождение уровня.

    Сейчас я могу сказать, что писание внешнего генератора на другом языке, это - плохая идея. Главным образом, тем, что игровая логика начинает прописываться в двух разных местах. А это - риск рассинхрона. Особенно, если учесть, что внутри игры, есть такие понятия, как анимация и время её исполнения. И в генераторе, и в игре каждая клетка сама следила за тем, что в ней происходит: кто вошёл, кто вышел, кто умер и т.д. Но клетки, вида телепорт или мухобойка (атакует близлежащие клетки), связывали несколько клеток между собой. И если в генераторе это не вызывало проблем, то в игре повторить то же было сложнее т.к. анимации персонажей из разных клеток должны были засинхронизироваться между собой.

    Огромный кусок времени заняла интеграция нативных библиотек. Cкажу прямо: если можно купить готовую реализацию того, что вам нужно, смело покупайте. При этом желательно всё брать у одного продавца, потому как в Unity3D в манифесте (Андроид), есть такая штука как mainactivity и это место где разные плагины могут конфликтовать. Потом для iOS, скорее всего, у вас будут плагины, которые занимаются различным постпроцессингом, это тоже место для конфликтов. В целом нативные либы, это место где вы легко можете получить очень трудно выявляемые ошибки. Поэтому, почти всё, что связанно с нативным кодом, мы покупали у Prime31.

    Полный список плагинов и несколько слов о каждом

    7. Статистика

    В релизе около 400кб, написанного мной кода. Ещё 150кб - это генератор и некоторые смежные скрипты.
    В самой игре, на данный момент, 3 главы по 16 отобранных уровней. Также есть режим Испытаний, где ещё около 700 уровней, динамически распределённых по сложности.
    В среднем уровень без звёзд можно пройти за 25 ходов. Самые сложные уровни со звёздами около 55.

    8. Монетизация и продвижение

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

  • геймдев
  • Добавить метки

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

    Разработка игр

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

    Конечно, имеются и исключения из правила. К примеру, небезызвестный программист Маркус "Нотч" Перссон в одиночку создал "Майнкрафт" — игру, которая является одним из самых прибыльных проектов за последние 10 лет. Но для того, чтобы разработать что-то подобное, нужно быть настоящим асом своего дела и иметь за плечами огромный опыт.

    Создание игр. Программирование

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

    В первую очередь нужно освоить хотя бы несколько самых популярных языков программирования. Без этого создать качественную игру вряд ли получится. Почему же несколько языков? Неужели одного недостаточно? Дело в том, что каждый programming language имеет свою четкую область применения. Ниже мы рассмотрим самые востребованные языки и их применение при программировании игр.

    Языки

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

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

    Python — это, пожалуй, лучший выбор для начинающего геймдева. Во-первых, синтаксис языка довольно прост. Для того чтобы начать программировать на Пайтоне, достаточно прочитать туториал и обладать нативным уровнем английского. Во-вторых, возможности данного языка программирования достаточно широки. Конечно, Пайтону не угнаться за C++ в плане функциональности. Тем не менее посредством Python можно создать вполне достойный софт (в том числе и игру). К примеру, на Пайтоне написаны такие игры, как "Батлфилд" (2005), "Цивилизация 4", "Симс 4" и много других проектов, которые стали настоящими хитами.

    Java — еще один претендент, который определенно достоин внимания. Пожалуй, главное достоинство данного языка — полная кроссплатформенность. Это означает, что софт, написаный посредством "Ява", поддерживается всеми операционными системами ("Виндовс", "Линукс", "Андроид" и т.д.). Это позволяет быстро переделать игру под любую платформу. Помимо этого, Java дает программисту массу возможностей. За примерами далеко ходить не нужно. Вышеупомянутый "Майнкрафт" был написан именно на "Яве".

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

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

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

    Программы для создания игр

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

    Пожалуй, сама известная программа для разработки игр — Game Maker. Она предназначена для создания двухмерных проектов. Делать игры можно без навыков программирования. Вместо строчек кода пользователю предоставляют набор готовых действий. Все, что нужно сделать — создать объекты и определить правила взаимодействия между ними. Также стоит подметить, что рисовать спрайты можно прямо в Game Maker без использования посторонних программ. Поэтому софт является вполне самодостаточным. Мало того, Гейм Мейкер не обидит и продвинутых юзеров, которые обладают навыками программирования. Ведь в программе есть возможность добавлять свой исходный код. Посредством Game Maker можно создавать игры с видом сверху (РПГ, тактический шутер и т.д.) и сбоку (платформер).

    Construct 2 — это еще один конструктор для разработки 2D-игр. Пожалуй, главная особенность данной программы — мультиплатформенность. Посредством "Конструкта" можно создавать игры для iOS, Android, Windows, Web и т.д. В плане функциональности Construct 2 ничем не уступает тому же "Гейм Мейкеру".

    Вывод

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

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

    В этой статье весь мой личный опыт

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

    Куда больше материалов вы можете найти на специальной странице в этом блоге:

    Я выделил 7 основных этапов создания игры.

    Как создать игру самому?

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

    Не совсем.

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

    Существуют специальные программы для создания игр, одной из которых является Game Maker. Они были созданы специально для создания игр (программа так и называется - создатель игр). Лично я работаю в Game Maker и он позволяет делать вполне качественные игры под любые платформы, от андроида, до ios.

    Так-же можно посоветовать Unity или Construct 2 , в качестве хороших альтернатив.

    Лично моё мнение, Game Maker - одна из самых удобных программ для создания игр именно для новичков, тогда как освоение Unity с нуля может занять куда больше времени.

    Если вы выбираете Game Maker - то мой блог и канал вам существенно помогут в его освоении, ну а если вам выбор остановится на Unity или чем-то еще, тотам тоже существует огромное количество бесплатных обучающих материалов высокого качества на Русском.

    В любом случае, первый (нулевой:) этап - это выбор программы для создания игр.

    Первый этап - дизайн документ

    Далее вам нужно создать дизайн документ для новой игры. Другими словами - вам нужна идея игры. О чём будет игра? Что там будет происходить? Какой это будет жанр? Сколько времени и денег займёт разработка? Таких вопросов очень много и перед началом создания игры очень полезно составить какой-то примерный план.

    Базовые вещи о том, как написать дизайн документ для игры, вы можете найти тут:

    Ну не прям вот ужас, да? Плохо конечно, но не прям вот?

    Ну вот, это я рисовал компьютерной мышкой в очень простом графическом редакторе, а учился рисовать я 1-2 месяца, рисуя по 1 картинке в неделю, максимум.

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

    У меня есть видео (16 минут) :


    Там я рассказываю свои мысли о том как учиться рисовать и зачем это нужно.

    Четвертый этап - звук

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

    Сколько органов чувств задействовано у игрока?

    Обоняние? Нет. Осязание? Иногда, что связанно с некоторыми системами управления в играх. Зрение? Вот на зрении всё и строиться, это основа.

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

    Если вы раньше играли в компьютерные игры, то у вас наверняка есть любимые, а так-же есть какой-то любимый OST (Музыка из игр). И игра вам могла запомниться именно за счёт музыки. Про мой любимый OST я писал вот тут:

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

    Вы же знаете про всякие специальные звуки и фразы в таких играх как Unreal Tournament и насколько сильно они увеличивают фан от игры.

    Другими словами - верные звуки и музыка делают игру атмосферной, эмоциональной, человечной и куда более интересной.

    У меня был небольшой опыт когда я делал игру Lonely Dude.

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

    Что я хочу сказать? Для простой игры совершенно необязательно сильно заморачиваться со звуком, достаточно просто поместить в игру звуки для основных действий (выстрел, взятие бонуса, завершение уровня, прыжок и т.п.) и это уже существенно усилит общее впечатление от игры. Музыку написать конечно существенно сложнее, но иногда можно купить трек за каких-то $1-5, ну или посидеть с такими программами как FL Studio, дабы написать пару простых треков для своей игры.


    Чем больше вы тестируйте (вы сами и ваши друзья, если вы инди разработчик), тем лучше игра получиться в момент релиза. Всего один баг где-то вначале игрового процесса способен испортить всё впечатление от игры, заставив игроков писать негативные отзывы.

    Поэтому игру нужно допиливать напильником как можно более тщательно и делать это нужно до релиза. Как нужно тестировать игру?

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

    Седьмой этап - продажа игры и распространение

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

    Как это можно делать я уже писал в своей старой статье:

    Общие принципы сохраняются практически для любой игры.

    Паблики ВК, свой ютуб канал, трейлер, базовое понимание продвижения и поисковой оптимизации и всё такое прочее.

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

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

    Удачи вам в этом нелёгкое деле!

    Эта статья является первой в целом цикле материалов для тех, кто хочет стать создателем игр. Если вы молоды, амбициозны и полны идей, а руки чешутся сделать "убийцу GTA" или "MMORPG типа WoW, но круче", то вы нашли то, что искали - руководство новичка по созданию игр . Моя цель - дать читателю общее представление о том, как же всё-таки выглядит процесс создания игр и развеять те иллюзии, которые могли сложиться на этот счёт, чтобы в последствии вы смогли избежать ошибок, совершаемых многими. Как и в любом деле, половина успеха - это правильная подготовка, поэтому чем полнее вы с самого начала будете представлять себе всю картину - тем большего успеха сможете добиться.

    На данный момент цикл статей включает в себя следующие материалы, который со временем будет дополняться:

    1. Создание игр для начинающих






    Начинающий Разработчик Игр - В Простонародии "Чайник"

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

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

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

    Создание Игр - Развлечение?

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

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

    Типовой Портрет Начинающего Разработчика

    Да простят меня те, кто узнает себя в этом описании - призываю не обижаться, а продолжить чтение. Сейчас мы попробуем нарисовать типовой портрет начинающего разработчика игр, чтобы лучше понять, с чем нам предстоит иметь дело. Итак, начинающий "игродел" - это чаще всего учащийся школы в возрасте 12-18 лет, внезапно загоревшийся идеей создания игр. Идея приходит спонтанно либо после какого-то толчка к вдохновению, вроде нового фильма или популярной игры. Как правило, сам он ничего не умеет в силу возраста, недостатка опыта и иных причин, поэтому хочет выступать в качестве "руководителя " и/или "сценариста ", "автора идей ". Соответственно, так как самостоятельно с такими навыками сделать ничего хотя бы отдалённое напоминающего игру, нельзя, то нужна "команда", которую данный генератор гениальных идей пытается собрать на одном из тематических форумов.

    При ближайшем рассмотрении идея оказывается клоном чего-то популярного и известного, "но лучше". Так как представления о том, чего же, собственно, хочется, и как организовать продуктивную работу, нет, то в команду приглашаются все либо почти все. В итоге такая "команда" складывается из случайных людей, которые в течение недели-двух создают видимость бурного обсуждения "проЭкта", иногда даже что-то пытаются сделать (вроде 3D-модели из набора примитивов), но примерно через это же время былой энтузиазм сходит на "нет", у членов команды появляются неотложные дела/сессия/уроки/бабушка заболела и вся затея благополучно рассыпается как карточный домик. Знакомая картина?..

    Разработка Игр - Профессия или Хобби?

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

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

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

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

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

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

    Цена Идеи для Игры


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

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

    Задумайтесь: когда в последний раз вы видели действительно оригинальную идею? "Аватар"? Нет - если разложить идею до уровня концепции, то всё просто: земляне из будущего добывают ресурсы на чужой планете, игнорируя интересы местного населения. Один из землян проникается сочувствием к аборигенам, становится частью их народа и возглавляет борьбу против захватчиков. Просто, не правда ли? Crysis? Классический шутер про элитного спецназовца с супер-способностями, которые ему даёт костюм, и пришельцами из космоса. World of Warcraft? Игра, действие которой происходит в богатой на события и предысторию вселенной, с высокой ролью сюжетной составляющей, разносторонними сложными взаимодействиями игроков и мощной экономической системой.

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

    Таким образом мы приходим к выводу, что для начинающего разработчика вопрос "как" гораздо важнее вопроса "что". Очевидно, что идея создания MMORPG нового поколения (так называемый next-gen) абсолютно бесполезна для большинства разработчиков, так как в силу объективных причин они просто не могут реализовать её в каком бы то ни было виде.

    Английский Язык для Разработчика Игр

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

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

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

    Спрашивается - зачем довольствоваться каплей, если можно выпить море? Знание и понимание английского - это ваш ключ к огромному массиву полезной и актуальной информации, сам факт доступа к которой даст вам десять очков форы. Компании Digital Tutors и Gnomon Workshop имеют в своём активе тысячи часов обучающего видео по всем областям применения популярных 3D-пакетов, таких как Maya или 3DS Max. Англоязычные сайты кишат статьями о геймдеве, а на форумах могут подсказать решение сложных проблем - просто потому, что количество людей ТАМ несоизмеримо выше с количеством людей ЗДЕСЬ. Берите лучшее из двух миров!

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

    С чего начать разработку своей игры? Как ни странно, но самым первым и очевидным пунктом здесь будет: оставьте эту затею.

    Серьезно. Если вы только-только планируете свой путь в игровой индустрии, у вас горят глаза, и вы точно уверены, что знаете как сделать своего « », или - не начинайте.

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


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

    На данный момент имеется огромное количество всевозможных «конструкторов», посредством которых можно собрать простенький прототип даже без базовых знаний программирования. Тот же Game Maker позволяет собрать за несколько вечеров вполне играбельный прототип.


    Еще один важный момент: не бойтесь избавляться от своих неудачных творений. Будьте готовы к тому, что ваш первый прототип скорее всего отправится в мусорную корзину. Второй, вероятно, тоже. Очень важно уметь как можно раньше отфильтровать провальные идеи и не тратить на них время команды. К оставленным ранее идеям и наработкам можно попробовать вернуться позже, если на вас вдруг снизойдет озарение. Но не пытайтесь вытянуть откровенно слабую идею, только лишь потому что вы уже вложили в нее какие-то ресурсы (будь то ваше время, время команды или контент, заказанный на стороне).

    Допустим, что вы адекватно оценили силы своей команды, написали концепт, провели исследование рынка и сделали простой, но играбельный прототип. Что дальше?


    Выставки, тусовки и шоукейсы. Показывайте. Смотрите. Получайте обратную связь. Даже если отбросить относительно большие ивенты вроде Devgamm и White Nights, где сейчас очень любят инди и охотно дают им места под демонстрации, есть огромное количество мелких инди-ивентов.

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

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

    Если хотите лично посетить новые открытые лекции по игровой индустрии и узнать об этом чуть больше, то в марте можно сходить сразу на несколько бесплатных открытых мероприятий в ВШБИ, вход на которые осуществляется просто по регистрации:

    • 01 марта: Особенности локализации игр отечественных разработчиков на другие страны
    • 02 марта: День открытых дверей программы «Менеджмент игровых проектов»
    • 15 марта: Управление командой в игровой индустрии
    • 22 марта: Игровая графика: базовые принципы и инструменты