Программирование игр: программы, особенности создания и рекомендации. Работаем над графикой и звуком

Что должны учитывать будущие разработчики игр? С какого языка начать обучение? К чему стремиться? На кого равняться? И что необходимо сделать в первую очередь?

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в GTA, провел десятки часов в компьютерных клубах за Counter-Strike или достиг немалых успехов в MMORPG, наверняка задумываются о карьере разработчика игр.

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

К чему стремиться?

Перед походом в магазин вы составляете список покупок (хотя бы в голове). Перед поездкой в другой конец города – прокладываете маршрут. Ну а перед тем, как обучаться разработке игр, целесообразно задаться вопросом: чем именно вы хотите заниматься? Создавать мобильные приложения или браузерные игры? Трудиться в крупной компании или маленькой? Профессионально заниматься разработкой игр или посвящать этому свободное от работы время? И если первое, то что интересует вас больше: создание интерфейса, отшлифовка геймплея или написание скриптов?

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

Какой язык учить?

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

Так, будущим разработчикам игр вроде Minecraft и мобильных приложений под Android стоит обратить пристальное внимание на Java. Для начала советуем пройти интенсив , тем более, что это бесплатно. Тем, кто заглядывается в сторону iOS – на Objective-C. Для браузерных игр порой хватает знания Ruby-On-Rails. Для совсем маленьких и простых временами достаточно HTML. В производстве Flash-игр используется ActionScript, а для написания скриптов любой сложности вам понадобится JavaScript или, возможно, не столь распространенная Lua. Для создания же небольших консольных игр требуется знание C#.

Что до наиболее крупнобюджетных игр (так называемого класса AAA), то большинство из них оснащены своим или заимствованным у коллег "движком". Нередко, впрочем, весь "движок" или его большая часть написана на C++. Именно этот язык использовался при создании множества известных "игрушек" – от Doom 3 и Call Of Duty до FIFA и The Sims. В то время как классика вроде Quake была написана на C.

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

Достаточно ли одного языка?

Одна из прелестей программирования – возможность постоянного саморазвития. В разработке же игр (особенно крупных) самосовершенствование, в том числе изучение как можно большего количества языков, – не прихоть, а жизненная необходимость. Так, опытные разработчики, трудящиеся на благо гигантов игровой индустрии, нередко сталкиваются с необходимостью поочередно писать на 7-8 языках. При этом, помимо вышеуказанных языков, им приходится изучать, к примеру, Python либо и вовсе SQL (как вы понимаете, для создания баз данных).

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

С ЧЕГО НАЧАТЬ?

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

Практически все опытные разработчики вне зависимости от регалий и таланта начинали с небольших приложений: настольных игр, вариаций известных "игрушек", простеньких "флэшек". Тогда они не думали о крупных выставках вроде E3, а накапливали бесценный опыт. Почему бы не последовать их примеру? При этом не обязательно писать архисложный код. Для дебюта достаточно использования специальных программ для создания игр (к примеру, Game Maker). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

Что брать за ориентир?

Тот, кто мечтает стать писателем, прочитает сотни книг перед тем, как напишет хотя бы одно слово. Мастера игры на фортепиано на зубок знают лучшие произведения Штрауса, Шопена и Бетховена. Известные же художники перед крупными выставками наизусть заучивали историю искусств.

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

Кто не любит играть на компьютере или смартфоне? Таких людей, наверное, единицы.

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

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

Blender



Бесплатный пакет профессиональных программ для создания интерактивных игр и трехмерной компьютерной графики.

Инструментов для работы хватит как новичкам, так и профессионалам. Blender содержит в себе средства для моделирования, анимации, обработки видео и звука.

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

А вот уроки по работе в этой программе вы найдете .

Вперед, творить новые вселенные!

Unity 3D


Это мощная среда для разработки приложений и игр, в том числе для мобильных устройств. Созданные на Unity 3D игры работают на Windows, iOS, Android, Playstation 3, Xbox 360 и Wii. Можно создавать игры любых жанров; текстуры и модели легко импортируются, поддерживаются изображения всех популярных форматов.

Скрипты в основном создаются на JavaScript, но код можно писать и на С#.

Обучающие материалы по работе в среде (на английском языке) вы найдете на официальном сайте по ссылке .

Construct Classic

Конструктор двумерных и трехмерных игр с открытым исходным кодом. Для работы не нужны знания программирования. Достаточно добавить объект и включить анимацию.

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

Конструктор не только бесплатный – у него открытый исходный код, и при желании вы можете настроить его и отредактировать по своему желанию.

Уроки по Construct Classic вы можете посмотреть .

Game Maker Lite



Бесплатная программа для разработки простых игр, любого жанра: платформные, головоломки, экшн и 3D игры. Подойдет для новичков. Можно использовать собственные изображения и эффекты, или встроенные программу. Чтобы получить доступ к большему выбору изображений и эффектов, нужно зарегистрироваться.

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

Уроки по работе в программе для новичков есть на этом сайте .

Unreal Development Kit

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

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

Видеоуроки и руководства по работе в программе можно посмотреть .

Game Editor

Редактор для создания простых двухмерных игр, под операционные системы Windows, iOS, Android, Linux.

Есть встроенные наборы анимаций, который отвечают за внешний вид персонажей. Можно использовать свои графические элементы. Также программа предоставляет стандартный набор реакций, которые определяют поведение персонажа в игре. Но можно создавать и свои, на специальном скриптовом языке Game Editor.

3D Rad



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

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

Game Maker: Studio

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

В рабочем окне программы нет ничего лишнего. Игры, разработанные на Game Maker: Studio кроссплатформенны, и готовые приложения можно интегрировать со Steam.

NeoAxis 3D Engine

Универсальная среда для разработки 3D проектов.
Это готовый движок со своими моделями, текстурами, физикой, шаблонами и графикой. Тут даже есть 24 готовые, полноценные карты!
На нем можно создавать не только игры, но и одиночные модели, сложную визуализацию программного обеспечения.

Остается только включать фантазию и творить.

Зачесались руки создать свою игру? Нет проблем. Выбирайте программу и вперед, к мечте!

Путь к программным разработкам непрост, но если интересует, как и android, то с чего-то начинать нужно. Но, допустим, нет желания изучать языки программирования, а хочется сразу перейти к созданию готового продукта. Возможно ли такое? Да, ещё как! Вот мы и рассмотрим, как полному новичку (или на Android).

Поиск материала

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

Выбираем направление

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

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

Обработка событий: главное

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

Рассматривая, как создавать приложения для iOS с нуля, нельзя не упомянуть о таком совете: начинайте с костяка программы. Отдельные детали несложно будет доработать на окончательном этапе.

Различные действия

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

Выходим на более сложный уровень

Перед этим этапом человек уже должен понимать и знать, как создать приложение для iOS или "Андроид". Оно предусматривает наличие тщательно проработанной архитектуры, что обуславливает необходимость использования планирования. Так, часто необходимо иметь продвинутую физику (например, распознавать столкновения разных объектов и различных типов поверхностей). Это необходимо для того, чтобы приложения (в данном случае игры) были более реалистичными.

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

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

Работа над искусственным интеллектом

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

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

Используем сеть

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

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

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

Разработка без изучения программирования

Особенно это является актуальным в случаях, когда нужно быстро сделать небольшую программу для сайта с простым функционалом. Хотя к подобному могут прибегнуть и опытные веб-разработчики. В этом на помощь приходят специальные сервисы. Их всех можно объединить под лозунгом "Просто, дешево и быстро!"

В качестве примеров приведем следующие сервисы: AppsGeyser, TheAppBuilder, Appsmakerstore, Biznessapps, My-apps.com, iBuildApp, Viziapps, AppMakr, Mobile Roadie и AppsBuilder. Каждый из них обладает своими уникальными особенностями и функциями.

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

Функционал сервисов

Вот мы и рассмотрели, как создавать приложения для iOS и "Андроид". Теперь давайте уделим внимание имеющемуся у них функционалу. Если его разделить по категориям, то у нас будет следующее:

  1. Нацеленные на работу с контентом. Такие сервисы помогают собрать информацию с сайта и объединить её в одно приложение. В качестве примера можно привести AppsGeyser. Причем в данном случае можно не только собрать информацию, но и размещать рекламу в приложениях.
  2. Условно-бесплатные сервисы , которые с использованием шаблонов и конструкторов позволяют создавать приложения для спорта, образования, музыки и так далее. Правда, в них будет присутствовать реклама, которую можно отключить за определённую сумму. В случае с TheAppBuilder это обойдётся в 5 долларов США.
  3. Платные сервисы-конструкторы , которые позволяют создавать приложения бизнес-направления. В качестве их функционала предоставляется корзина для товаров, геолокация, размещение информации об имеющихся товарах и услугах, ближайших событиях и акциях и так далее. В качестве примера можно привести упомянутый ранее сервис Biznessapps, но цены на нём кусаются, ведь они начинаются от 29 долларов США.
  4. Создание приложений бесплатное, деньги требуются тогда, когда оно публикуется в магазине (например, в "Гугл Плей Маркете"). В качестве примера можно привести BuildFire. Правда, его особенность в том, что платить здесь нужно только раз в месяц. Сумма в этом случае составляет 49 долларов США.

Как видите, есть два варианта создания приложений для iOS и для "Андроид". Какой из них в конечном счете выбрать, решает пользователь.

Опыт создателя игры «Обмани меня».

В закладки

Разработчик мобильной викторины «Обмани меня» Артём Собянин почти не знал языков программирования и не имел опыта в создании игр. Вместе с тем, его первый же проект стал достаточно популярным. В колонке для DTF он рассказал о своём опыте создания игры и поделился советами с теми, кто ещё планирует заняться разработкой, но не знает, за что взяться в первую очередь.

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

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

Это история создания моей первой игры, «Обмани меня» .

Предыстория

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

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

Что же нас отличает

Механика. На каждый вопрос предлагается несколько вариантов ответа, но правильный только один. В начале раунда игроку предлагается ввести свой «обман». Именно из этих обманов, которые придумал ты и твои соперники, и состоит список предложенных вариантов ответов. Если соперник ошибается и выбирает один из обманов, то игрок, который его придумал, получает дополнительные очки.

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

Юмор. Для себя мы выделяем два типа тем: смешные и на проверку знаний. Смешные - это вопросы, которые сделаны нарочито смешными, обычно о каких-либо малоизвестных забавных фактах («Знали ли вы о таком великолепном виде спорта как экстремальная глажка?»), либо цитаты с пропущенным словом («_____ фотошопом не подправишь - Джоан Роулинг. Гадкую натуру? Отсутствие таланта?»).

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

Предельно конкретные темы. В существующих играх-викторинах разделение на темы происходит слишком обобщённо, например, «Кино» обычно включает в себя общие вопросы о кинематографе, о биографии актеров, о фильмах всех годов и жанров и так далее. Мы же фокусируемся на конкретных темах: «Супергеройское кино», «Звёздные войны», «Мультфильмы», «Кино в цитатах» и других.

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

Первые шаги

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

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

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

Составление ТЗ и выбор подрядчика

В разработке существует понятие MVP - Minimum Viable Product (Минимально жизнеспособный продукт). Жаль, что на этапе создания технического задания мы о нём не знали. Изначально мы планировали затратить минимум ресурсов и проверить, будет ли наш проект интересен пользователям, стоит ли его развивать.

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

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

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

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

Несмотря на то, что разработка фрилансерами дешевле, с самого начала мы решили, что будем работать со студией по нескольким причинам:

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

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

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

Обратился бы я сейчас в студию? Маловероятно, потому что сейчас я чувствую себя увереннее, ведь я получил опыт: научился разговаривать и точно формулировать задачи; узнал, как работают те или иные сервисы; посмотрел, как происходит контроль за работой и как устроена коммуникация в команде. Более того, сразу после первого релиза я перешёл на работу с фрилансером.

Разработка

Всю мою работу можно разделить на две части: разработку и создание контента.

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

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

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

Второй половиной работы стало создание контента, а именно написание вопросов и тем. Это занимает намного больше времени, чем может показаться, ведь в нашем случае нужно продумать не только вопрос и четыре варианта ответа, но и все возможные варианты написания правильного (чтобы игрок, даже если захотел, не смог ввести в поле «лжи» правильный ответ), а также написать запасные неверные варианты ответов (для тех, кто не хочет самостоятельно придумывать «ложь»). Ещё какое-то время у меня отняла подготовка звуков, которые я брал из бесплатных библиотек freesound.org и diforb.com.

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

Несмотря на то, что наша игра не требует физики или 3D-моделей, выбор пал на Unity. Да, мы понимали, что нативная разработка лучше и проще (особенно что касается iOS). Но главным аргументом в пользу выбора универсального движка стала цена.

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

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

Серверной частью мы выбрали не очень популярный в России, но достаточно известный облачный сервис Gamesparks. По словам нашего разработчика, платформа очень удобная, а мы отметили хорошее соотношение цена/качество. Для инди-разработчиков они предлагают бесплатное обслуживание до тех пор, пока ваш MAU меньше 100 тысяч пользователей.

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

Первый релиз

Примерно через три месяца мы получили финальную по договору со студией версию, которую хотели испытать на своём ближайшем окружении, чтобы найти баги, помимо уже найденных, и понять, что нужно доработать. Зная, что никто не будет заморачиваться с авторизацией через TestFlight (программа для тестирования от Apple), мы решили выложить игру в AppStore.

Мы не проводили даже первичное ASO (оптимизация для магазина): описание из одного предложения, отсутствие ключевых слов, неотредактированные скриншоты. «Там тысячи приложений каждый день появляются, так что нас никто и не заметит», - подумали мы и разослали ссылку 10-15 людям.

В магазине первая версия появилась 16 августа. К вечеру 17 августа количество показов достигло почти 5 тысяч, а скачали нас 66 раз. 18 августа еще 38 раз. Откуда пошли все эти показы и скачивания, нам до сих пор неизвестно (учитывая, что ссылкой мы больше не делились). К вечеру следующего дня количество показов нашего приложения составило 38 тысяч.

Обычно в такие моменты разработчики ликуют и ждут высоких показателей конверсии. Я же в панике начал скрывать приложение в магазине, чтобы его больше не видели. Всего мы получили около 200 скачиваний и можно сказать, что мы легко отделались - всего лишь тремя негативными отзывами. Спасибо отсутствию ASO, которое оттолкнуло пользователей от скачивания. Лишь спустя несколько дней я узнал, что наше приложение заняло 70-е место в категории «Викторины». Вероятно, это и стало причиной такого количества показов.

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

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

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

Бета-тест

Сразу после доработок мы решили провести открытое тестирование. Как показала практика, Apple уменьшила сроки проверки приложений: если раньше на это требовалось от трёх дней до недели, то теперь, даже в праздники (в США), у меня на проверку ушло два дня. В этом релизе я также предпринял попытки сделать ASO (азы которого я, опять же, черпал в статьях различных изданий).

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

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

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

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

На сегодняшний день на «Обмани меня» ушло восемь месяцев. Из них: два - на написание ТЗ, четыре - на первую версию и ещё два - на доработки. Последние полгода почти без выходных шла работа над увеличением числа вопросов. Сейчас их более 2,5 тысячи, и мы стараемся добавлять новые вопросы и темы каждую неделю. Уточню, что добавление вопросов не требует обновления через AppStore, поэтому следите за понравившимися вам темами.

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

Если у Вас появились вопросы - пожалуйста, не стесняйтесь пишите их в комментариях или задавайте мне лично на

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

Шаги

Основы

    Выберите жанр. Да, все успешные игры - уникальны. Тем не менее, их можно причислить к тому или иному жанру. Определитесь с жанром первым же делом! А жанры бывают следующие:

    • Аркады
    • Шутер
    • Платформер
    • Гонки
    • Квест
    • Бесконечный забег
    • Шутер от первого лица
    • Манга
    • Башенная защита
    • Ужастик
    • Файтинг
    • Комедии
    • Выживание
  1. Выберите платформу. Выбранная платформа существенным образом повлияет на дальнейший процесс разработки, не говоря уже о том, как будет управляться игра - с клавиатуры, джойстика или экрана планшета.

    • Общее правило таково - проще разрабатывать игру, сразу представляя, как и на чем в нее будут играть. Есть исключения, само собой, но исключения есть из всех правил.
    • Хотите сделать игру для iPhone? Ее надо будет отправлять в AppStore с компьютера под управлением Mac.
  2. Напишите черновик концепта игры. На паре страниц в общих чертах напишите, как играть в вашу игру. Одно только это уже сможет дать вам представление о том, удачной ли окажется такая игра.

    Создайте основную философию игры. Это как бы мотивация, которая заставит игрока играть и играть, это самая суть игры. Не стесняйтесь проверять, не отступили ли вы от философии в процессе разработки. Примерами философии игры можно назвать:

    • возможность вести машину;
    • возможность проверить рефлексы игрока;
    • возможность симуляции экономики космической державы.
  3. Запишите все особенности своей игры. Особенности - это то, что будет отличать вашу игру от тысяч прочих. Начните с перечисления идей и концептов, затем перепишите все это в осмысленные предложения. Подготовьте 5–15 особенностей. Например:

    • Концепт: постройка космической станции.
    • Особенность: можно построить собственную космическую станцию и управлять ею.
    • Концепт: урон от метеоритов.
    • Особенность: игрок старается выжить в условиях метеоритных дождей, вспышек на солнце и так далее.
    • Перечислите особенности сейчас, и потом вам будет проще вставить их в план разработки по игре. Все особенности лучше заложить в самом начале, чем «лепить» все потом одно на другое.
    • Переписывайте список особенностей до тех пор, пока ней поймете: «Это именно та игра, которую я хочу создать».
  4. Устройте перерыв. Спрячьте в стол черновики на недельку-другую. Потом достаньте и взгляните на них свежим взором. Это не повредит.

    Составляем план разработки

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

      • Особенно важными планы разработки становятся тогда, когда под вашим началом команда. План разработки игры в данном случае - это настольный… файл команды. Будьте точны, конкретны и понятны в формулировках, описывающих те или иные аспекты игры.
      • Не у каждой игры есть план разработки, а двух одинаковых планов не найти. Эта статья - лишь общее руководство, но вы вправе вносить и свои изменения.
    2. Составьте оглавление. В оглавлении должен быть перечислен каждый аспект игры. Единственное, о чем не надо там упоминать - о сюжете, если только сюжет не связан теснейшим образом с механикой игры.

      • Оглавление - это почти как руководство к игре. Начните с общих разделов, затем делите их на подразделы.
      • Оглавление - это как черновая модель игры. Но в каждом из пунктов должны быть подробности, много подробностей!
    3. Заполните каждый пункт оглавления. Опишите все так подробно и понятно, чтобы, начав работу по кодированию и прорисовке, все и все поняли, причем сразу. Каждая механика, каждая особенность - все должно быть объяснено на 5+!

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

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

    Начинаем программировать

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

      • С помощью движков упрощается работа с графикой, звуками и искусственным интеллектом.
      • Разные движки - разные плюсы и минусы. Что-то лучше подходит для двумерных игр, что-то - для трехмерных. Где-то нужно лучше разбираться в программировании, где-то можно начать работать, не отличая функцию от процедуры. Популярны следующие движки:
        • GameMaker: Studio - один из самых популярных движков для двумерных игр.
        • Unity - простой в использовании движок для создания трехмерных игр.
        • RPG Maker XV - скриптовый движок для создания двумерных ролевых игр в стиле JRPG.
        • Unreal Development Kit - трехмерный движок многоцелевого использования.
        • Source - очень популярный и часто обновляемый движок для создания трехмерных игр.
        • Project Shark - 3D движок для начинающих и продвинутых пользователей.
    2. Изучите особенности движка или наймите специалиста по нему. В зависимости от выбора может появиться необходимость много программировать. Впрочем, даже с простейшими движками разобраться не так-то просто. Поэтому, если задача кажется вам не по силе, найдите профессионала.

      • Это может стать началом командной работы над игрой. Сначала - программист, потом специалист по звуку и дизайнер, затем тестер…
      • Существует огромное сообщество независимых разработчиков, с которыми стоит сотрудничать. Если людям понравится ваша идея - они, вдохновившись, помогут вам воплотить ее в жизнь!
    3. Сделайте прототип игры. Изучив движок, сделайте прототип игры. Это, по сути, тест базовой функциональности игры. Графика или звук пока не нужны, нужны лишь заполнители и тестовая область.

      • Проверять и переделывать прототип надо до тех пор, пока играть не станет весело. Во время проверок надо выявлять все, что работает неправильно, и вносить соответствующие изменения. Если прототип не вызывает у людей восторга, то и сама игра вряд ли их поразит.
      • Прототип будет меняться не раз и не два. Это нормально, ведь вы никогда не знаете заранее, как поведет себя та или иная механика.
    4. Поработайте над управлением. Управление, осуществляемое игроком - это базовый уровень функционала игры. На этапе прототипа важно сделать управление максимально удобным.

      • Плохое, сложное, непонятное управление - разочарованный игрок. Хорошее, качественное, точное управление - счастливый игрок.

    Работаем над графикой и звуком

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

      • Большинство индивидуальных игр создаются силами небольшой команды или даже одного человека. Учтите, что в одиночку создание игры займет куда больше времени.
      • Есть много бесплатных ресурсов, доступных для всех желающих. Главное в этом деле - не нарушать авторские права.
    2. Нарисуйте черновые арты. Начните работать над визуальной составляющей игры, чтобы игра обрела ту атмосферу, которую вы видели в своих мечтах.

      Разработайте мир игры. Есть арты по игре? Можно начинать переходить к созданию игры и, с учетом стилистики, начать рисовать уровни или игровые области. Если же ваша игра в стиле «пазл», то, соответственно, придумывать головоломки.

    3. Улучшите графику. В зависимости от выбранного стиля графики, вам на помощь могут прийти разные программы, например:

      • Blender - один из самых популярных 3d-редакторов (причем бесплатный). В сети полным-полно руководств по нему, так что разобраться и быстро начать работать проблемы не составит.
      • Photoshop - очень полезен на этапе создания текстур, а также для отрисовки двумерного арта в целом. Да, он платный. Если хочется бесплатного аналога - возьмите Gimp , у него почти такой же функционал.
      • Paint.net - бесплатная альтернатива такой программе, как Paint Shop Pro, позволяет легко и просто создавать двумерный арт. Особенно полезна эта программа при работе над двумерным пиксель-артом.
      • Используйте Adobe Illustrator . Эта программа отлично подходит для векторной графики. Стоит она недешево, так что, если денег у вас в обрез, используйте Inkscape - бесплатная альтернатива Adobe Illustrator с открытым исходным кодом.
    4. Запишите звук. Звук - очень важная слагающая атмосферы любой игры. Есть ли у вас музыка, нет ли ее, какие звуковые эффекты воспроизводятся и когда, озвучиваются ли диалоги - все это окажет существенное влияние на впечатление игрока от игры.

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