Программировать игры с нуля. Английский Язык для Разработчика Игр. Программы для создания компьютерных игр

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

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

0. Разработка игр для детей

Многие книги ориентированы на работу с легендарной и интуитивно понятной средой разработки для детей Scratch, в том числе ScratchJr. После базиса следует информация о Python Pygame. Есть книга для пятилетних, но большая часть материалов подойдет для детей в возрасте от 8 лет.

1. Информатика

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

2. Языки программирования

Разговаривать на языке компьютера непросто, но возможно. И таких способов уйма. Например, язык C существенно повлиял на индустрию ПО, поделившись своим синтаксисом с популярными C#, C++ и Java. C++, в свою очередь, является мощным языком для создания эффективных программ и программных комплексов. Многие также пишут игры на C#: язык шустрый, удобный и позволяет быстрее стартовать разработку.

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

3. Создание приложений

И если информатика – это базис теоретический, то здесь больше практики. Разработка игр – ухабистая стезя, и начать лучше с приложений. Книги с практическими заданиями, а также информацией о паттернах и UML помогут разобраться, что к чему.

4. Математика для разработки игр

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

5. Игровое программирование

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

6. Разработка игрового движка

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

7. Компьютерная графика

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

Недаром этот раздел самый большой. Сюда включены основы программирования с Real-Time 3D, DirectX и OpenGL. Все дополнено информацией о рендеринге и технологиях. Отдельного внимания в подборке удостоились Direct3D и OpenGL.



8. Игровое аудио

Разработка игр касается и аудио: это звуки, издаваемые NPC, главным героем, явлениями или предметами, а также музыка. Аудио программирование обошлось всего двумя книгами, но в них доступно изложена необходимая информация.

9. Игровая физика и анимация

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

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

У каждого есть возможность воспользоваться специально созданной для обучения школьников средой программирования Scratch, которую разрабатывают специалисты одного из самых престижных технических учебных заведений США и мира - Массачусетского технологического института. Или игрой Minecraft, за которую Microsoft год назад заплатила $2,5 млрд и с помощью которой, в том числе, планирует обучать детей программированию. Или обучающими играми, которые создают энтузиасты и добровольцы во всём мире.

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

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

Учитесь программировать. Учитесь думать

Code.org


Ресурс создан для детей от 4-х до 10-и лет, но, как утверждают его создатели, подойдет пользователям всех возрастов. Обучение начинается с самых азов - с обучения использованию мышки. Используется scratch-подобный язык состоящий из блоков. Играя ребёнок разберётся с азами программирования, узнает как алгоритм превращается в JavaScript-код и создаст свою собственную компьютерную игру.

Minecraft - совместный проект Microsoft и Code.org. Игра рассчитана на детей от 6 лет и предполагает решение различных задач при помощи построения алгоритмов. Это позволяет детям освоить основы программирования, понять как работают его базовые механизмы.

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

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

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

ПиктоМир, разработанный НИИСИ РАН по заказу Российской академии наук, - наш ответ зарубежным аналогам. В НИИСИ РАН уже разработали систему «КуМир», в которой с программированием знакомятся старшие школьники, но игрового элемента в ней нет.

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

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

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

Колобот - 3d стратегия, разработаная компанией Epsitec в 2001. Игра призвана обучить детей (от 10 лет и старше) навыкам программирования в игровой форме. Геймплей заключается в создании программ для роботов. Цель - подготовить планеты для заселения и добычи полезных ископаемых.

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

Существует русская локализация игры.

Microsoft Imagine предлагает средства для обучения и разработки, начиная с самой первой игры или приложения до облачных исследовательских проектов с использованием больших данных. Приложения распределены по уровням сложности. Самые простые из них доступны детям 9-10 лет, более сложные предназначены для старшеклассников и студентов. Использование только некоторых приложений доступно в браузере, для запуска остальных требуется установка бесплатного ПО и операционная система Windows. Ежегодно проводится конкурс Imagine Cup, в котором могут принять участие школьники, студенты и аспиранты из разных стран мира. Главным заданием участников является разработка идеи проекта или игры и создание её прототипа с помощью современных информационных технологий.

JavaRush - изучение программирования на Java в виде онлайн-игры. Каждому уровню соответствует отдельная солнечная система на звездной карте. Лекциям внутри уровня - планеты солнечной системы. Каждая открытая лекция – это перелёт на очередную планету. Когда все лекции открыты, корабль перелетает к следующей звездной системе.
Весь курс Java Core на JavaRush состоит из сорока уровней. Первые 10 уровней доступны всем, уровни 11 и выше доступны при наличии платной подписки.

На каждом уровне JavaRush 10-15 мини-лекций, так что 10 бесплатных уровней - это около 140 лекций и где-то 230 задач. Достаточно, чтобы вы определились, подходит вам JavaRush или нет.

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

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

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

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

Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и хорошо провести время, занимаясь этим. Это сущность программирования. Это должно быть весело. Не в том смысле, когда «уау, бейдж», а в том, когда «нет, мама, я должен закончить уровень». Вот почему Code Combat - это многопользовательская игра, а не курсы. Мы не остановимся, пока вы не сможете остановиться - но на этот раз это действительно хорошо. (из описания на сайте проекта)

UPD После 18 уровней в игре появляются две ветки - одна платная, вторая бесплатная. В игре 80 бесплатных уровней. По платной подписке доступны 60 дополнительных уровней.

Первое, что нам понадобится - это определиться с нашей целью. Что в итоге мы хотим получить? Если хотите, чтобы ваша игра «выстрелила», нужно для начала точнее прицелиться, а не бить наугад.

Этапом концепции и определения цели занимается руководитель проекта .


Жанр

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

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

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


Сеттинг


Разделение компьютерных игр на жанры весьма специфично и не похоже на систему жанров фильмов и книг. Игровые жанры определяют лишь основные действия, которые будут совершать игроки в процессе игры, тем самым они отвечают только на вопрос "ЧТО?". На вопросы "ГДЕ?" и "КОГДА?" отвечает другая основная характеристика игры – сеттинг.

Сеттинг – это принадлежность игры к какой-то сюжетной теме или к определённому виртуальному миру. В среде компьютерных игр сформировалось несколько наиболее популярных сеттингов: фэнтези, научная фантастика (sci-fi), вторая мировая война, средневековье, стимпанк, постядерный мир, аниме, комиксы.

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

2. Средство

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


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

Этим этапом занимаются программисты .

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


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

3. Игровая механика


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

Молодые подростки (основная часть игровой аудитории) в большинстве своём оценивают игры по качеству графики, и не замечают, что красивые игры хоть и популярны, но их популярность длится всего несколько месяцев после релиза. А в сердцах игроков и в золотых списках вечной игровой классики навечно остаются совсем другие игры, может быть немного неказистые на вид, но имеющие потрясающе захватывающий геймплей. Чем разнообразнее и интереснее игровые возможности, тем дольше игрок остаётся в игре. Например, за что получила всеобщую любовь «MineCraft»? Уж точно не за примитивную кубическую графику, а за то, что эта игра дарит поистине безграничные игровые возможности.

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

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


Объекты

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


Управление

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


Физический движок


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

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


Искусственный интеллект (ИИ)

ИИ отвечает за поведение компьютерных врагов или союзников.

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

4. Уровни


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

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

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

Построением уровней занимаются левелдизайнеры .

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



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

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

5. Оформление


Созданием графики занимаются художники , геймдизайнеры .

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


Арты

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


2D, 3D модели

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



Анимации

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

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


Фоны

С задними фонами всё гораздо проще – нарисовал один раз, поставил в нужное место на уровне без всяких изменений, и забыл.


Спецэффекты

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



Оформление экрана и меню

Оформить нужно не только игровые уровни, но и систему, объединяющую их в единое целое – игровое меню (строчки, кнопки, страницы настроек). Начальное меню – это вообще визитная карточка игры, и выглядеть она должна идеально. На игровом экране так же есть множество элементов, к которым можно применить оформление – количество жизней, лайфбар, миникарта, меню быстрого выбора действий, инвентарь героя, списки заданий, экраны диалогов. На английском языке всё это называют одним сокращением – GUI (Graphical User Interface - графический пользовательский интерфейс).

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

6. Сюжет


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

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

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


Скрипты, события

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

Скрипт представляет собой следующее: игрок заходит в определённое место, или совершает нужное действие, или выполняются ещё какие-то необходимые условия, и после этого начинают выполняться действия, запрограммированные вами на этот случай. Например, в военном 3D шутере поднимаемся на возвышенность, подходим к установленному пулемёту (условие выполнено), через 10-15 секунд после этого внизу вдруг начинается вражеская массированная атака, и нам есть на кого использовать пулемёт (произошли события).

С помощью скриптовых событий можно вносить разнообразие в игровой процесс или даже превратить игру в аттракцион нескончаемых скриптов (именно на этом построена серия игр Call of Duty). Единственный минус такого способа – у игрока уменьшается свобода действий. Всё происходит по воле скриптов, и мало зависит от действия игрока.

Продумыванием скриптов занимаются сценаристы , а их реализацией – программисты .


Диалоги, повествования


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

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

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

Написанием текстов и диалогов занимаются сценаристы и писатели .



Видеовставки

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

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

Созданием видеовставок занимаются художники , аниматоры , 3D-модельеры , сценаристы , режиссеры .

7. Звук

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


Звуковые эффекты


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

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

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


Музыка


Кроме звуков для полноценной игры нужна и музыка (саундтрек). Она будет звуковым фоном для происходящего на экране. Музыка так же является одним из стилистических элементов игры, и сильнее всего влияет на настроение игрока. Готовую музыку нужно долго выбирать по подходящему темпу и настроению. Существуют множество как платных, так и бесплатных коллекции игровых фоновых композиций, которые можно использовать в своей игре (статья «Музыка для создания игр »). Или можно заказать композиторам написать новую музыку специально под игру.


Озвучка

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


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

8. Отшлифовка


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


Сведение материала (a-версия)

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

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


Устранение ошибок (b-версия)

Когда игра полностью собрана, остаётся лишь устранить получившиеся ошибки (bugs). Они появляются в любом случае, так как игра – это система со сложной структурой. Сами элементы игры наглядны и просты, но связи между ними настолько сложны и витиеваты, что процесс отладки и устранения ошибок может занимать до 40% всего времени разработки проекта. Полностью собранная, но ещё не проверенная на ошибки игра называется бета версией.

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

9. Продажа


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

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


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

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


Локализация

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

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

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


Система продажи


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

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

Для небольших групп разработчиков идеально подходит распространение игры через системы цифровой дистрибьюции (крупные онлайн-магазины). Такой вариант обеспечивает новоиспеченную малоизвестную игру уже готовой аудиторией покупателей, которая сформировалась вокруг сервиса. Самый известный пример – сервис Steam. Благодаря огромной аудитории игроков, пользующихся Steam, почти каждая игра, вышедшая в этом онлайн магазине, сразу же приобретает мировую известность.

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

10. Поддержка

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


Выпуск патчей

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

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

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


Выпуск дополнений

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

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


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

    У каждого есть возможность воспользоваться специально созданной для обучения школьников средой программирования Scratch, которую разрабатывают специалисты одного из самых престижных технических учебных заведений США и мира - Массачусетского технологического института. Или игрой Minecraft, за которую Microsoft год назад заплатила $2,5 млрд и с помощью которой, в том числе, планирует обучать детей программированию. Или обучающими играми, которые создают энтузиасты и добровольцы во всём мире.

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

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

    Учитесь программировать. Учитесь думать

    Code.org


    Ресурс создан для детей от 4-х до 10-и лет, но, как утверждают его создатели, подойдет пользователям всех возрастов. Обучение начинается с самых азов - с обучения использованию мышки. Используется scratch-подобный язык состоящий из блоков. Играя ребёнок разберётся с азами программирования, узнает как алгоритм превращается в JavaScript-код и создаст свою собственную компьютерную игру.

    Minecraft - совместный проект Microsoft и Code.org. Игра рассчитана на детей от 6 лет и предполагает решение различных задач при помощи построения алгоритмов. Это позволяет детям освоить основы программирования, понять как работают его базовые механизмы.

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

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

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

    ПиктоМир, разработанный НИИСИ РАН по заказу Российской академии наук, - наш ответ зарубежным аналогам. В НИИСИ РАН уже разработали систему «КуМир», в которой с программированием знакомятся старшие школьники, но игрового элемента в ней нет.

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

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

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

    Колобот - 3d стратегия, разработаная компанией Epsitec в 2001. Игра призвана обучить детей (от 10 лет и старше) навыкам программирования в игровой форме. Геймплей заключается в создании программ для роботов. Цель - подготовить планеты для заселения и добычи полезных ископаемых.

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

    Существует русская локализация игры.

    Microsoft Imagine предлагает средства для обучения и разработки, начиная с самой первой игры или приложения до облачных исследовательских проектов с использованием больших данных. Приложения распределены по уровням сложности. Самые простые из них доступны детям 9-10 лет, более сложные предназначены для старшеклассников и студентов. Использование только некоторых приложений доступно в браузере, для запуска остальных требуется установка бесплатного ПО и операционная система Windows. Ежегодно проводится конкурс Imagine Cup, в котором могут принять участие школьники, студенты и аспиранты из разных стран мира. Главным заданием участников является разработка идеи проекта или игры и создание её прототипа с помощью современных информационных технологий.

    JavaRush - изучение программирования на Java в виде онлайн-игры. Каждому уровню соответствует отдельная солнечная система на звездной карте. Лекциям внутри уровня - планеты солнечной системы. Каждая открытая лекция – это перелёт на очередную планету. Когда все лекции открыты, корабль перелетает к следующей звездной системе.
    Весь курс Java Core на JavaRush состоит из сорока уровней. Первые 10 уровней доступны всем, уровни 11 и выше доступны при наличии платной подписки.

    На каждом уровне JavaRush 10-15 мини-лекций, так что 10 бесплатных уровней - это около 140 лекций и где-то 230 задач. Достаточно, чтобы вы определились, подходит вам JavaRush или нет.

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

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

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

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

    Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и хорошо провести время, занимаясь этим. Это сущность программирования. Это должно быть весело. Не в том смысле, когда «уау, бейдж», а в том, когда «нет, мама, я должен закончить уровень». Вот почему Code Combat - это многопользовательская игра, а не курсы. Мы не остановимся, пока вы не сможете остановиться - но на этот раз это действительно хорошо. (из описания на сайте проекта)

    UPD После 18 уровней в игре появляются две ветки - одна платная, вторая бесплатная. В игре 80 бесплатных уровней. По платной подписке доступны 60 дополнительных уровней.

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


    1. НАЧАЛЬНАЯ СТАДИЯ


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


    2. СОЗДАНИЕ 3D МОДЕЛЕЙ


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


    Альтернативной 3D MAX (у) является программа Blender, тоже своего рода отличная программа для моделирования. Персонажей и каких-то живых существ, а также различные модели, которые нуждаются в более детальной прорисовке, разработчики предпочитают использовать программу под названием ZBrush . Важное правило при создании моделей для игры, это число полигонов, так вот запомните, что для создания моделей для игры нужно использовать полигонов как можно меньше, то есть так называемую lowpoly models. То есть сначала создается high poly модель, то есть модель с большим количеством полигонов то есть виден каждый болтик вмятина, выпуклость, а уже затем создается его lowpoly models , этот процесс, если честно еще та петрушка.


    3. РАЗВЕРТКА UVs И НАЛОЖЕНИЕ ТЕКСТУР


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


    Но иногда делать развертку модели занимает куда больше времени, чем вообще создание самой модели. Как бы это не странно звучало, да и чуть не забыл, с текстурами тоже не всё так просто, наложить на модель стены просто текстуру кирпичей недостаточно, чтобы текстура радовала наш глаз нужно применить к ней различные карты, это карта нормалей, Normals, Displacement, Occlusion ,Specularity. Ну не буду сейчас рассказывать о каждой отдельно, ибо это займет немало времени. Для этих карт используют различные программы, ну одна из них это программа CrazyBump . Скажу вкратце эти карты добавляют нужные тени, засветления в нужных местах на текстуре, впоследствии мы когда будем смотреть на стену с текстурой кирпича, мы будем видеть различные выпуклости, но на самом деле их и вовсе нет, это просто обман зрения, который помогает с экономить куча ваши ресурсов пк.


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

    4. ОПРЕДЕЛЯЕМСЯ С ИГРОВЫМ "ДВИЖКОМ"


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


    Первый движок это Unreal engine 4 на мой взгляд является одним из лучших движков в создании игры, я думаю вы со мной согласитесь, после того, как я приведу вам примеры игр сделанных на этом движке:


    • Tom Clancy"s Splinter Cell
    • Postal 2
    • Lineage II
    • Shrek 2
    • Spider-Man 2: The Game
    • Tom Clancy"s Ghost Recon 2
    • Star Wars: Republic Commando
    • SWAT 4
    • World War II Combat: Road to Berlin
    • Red Orchestra: Ostfront 41-45
    • Tom Clancy"s Ghost Recon 2
    • Killing Floor
    • Bioshock
    • Medal of Honor: Airborne
    • Mass Effect
    • Turok
    • Tom Clancy"s Rainbow Six: Vegas 2
    • Mirror"s Edge
    • Borderlands
    • Mass Effect 2
    • BioShock 2
    • Medal of Honor
    • Homefront
    • Red Orchestra 2: Heroes of Stalingrad
    • Batman: Arkham City
    • Mass Effect 3
    • Spec Ops: The Line
    • Borderlands 2
    • Painkiller: Hell & Damnation
    • Deadpool
    • Outlast
    • Mortal Kombat X
    • XCOM 2

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

    На этом движке были сделаны следующие игры:


    • 7 Days to Die
    • Fallout Shelter
    • he Long Dark
    • Need for Speed World
    • Slender: The Arrival
    • The Forest
    • Rust (игра)

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


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

    • Crysis
    • The Day
    • Far Cry
    • WARFACE

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


    Unreal Engine 4 - если Ваши продажи превысят более 1 млн, то с кажой продажи вы будете отчислять по 5%


    Unity5 - как только Ваши доходы превысят $100 тысяч в год вы должны будете отчислять по 5%


    CryEngine 5 - Компания Crytek сообщила, что последняя версия графического движка CryEngine отныне будет распространяться по принципу «платите сколько хотите». Согласно описанию данной бизнес-модели в пресс-релизе, разработчики получат доступ к инструментарию движка и исходному коду, а платить они будут ровно столько, сколько захотят сами. Обязательств платить отчисления Crytek не требует, как не требует и оплачивать подсписку за использование дополнительных сервисов.


    5. РАБОТА С "ДВИЖКОМ"


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


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


    Ну и соответственно, продумывают умы ботов, настраивают интеллект ИИ и на самом деле огромная работа, очень важная и очень сложная. Также разработчики добавляют различные звуки, это могут быть звуки природы, выстрелов, окружения, а также озвучка персонажей, для этого команда разработчиков выезжает на различные места, к примеру, на военные полигоны для записи выстрелов оружия. Также разработчики заказывают различные эффекты, будь-то взрывы, пожары и многое другое. Разные движки поддерживают несколько типов создания логике, это либо программирование C++ либо построение схем последовательности, так называемые (Blueprint) . Как правило, найти такого человека, который бы знал от и до все эти тонкости логике очень трудно, я говорю это не только про Россию, так про многие другие страны, наверное, это и является самой главной проблемой в разработки игр.


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


    Наверное, единственная игра на сегодня, которая еще разрабатывается, может с кем-то посоревноваться это игра Escape from Tarkov от наших разработчиков BATTLESTATE GAMES из Санкт-Петербурга.


    5. ПОДГОТОВКА К ПЕРВЫМ ПРОДАЖАМ


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


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


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


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


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


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


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


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


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