Создание простейших компьютерных игр. Как создать игру самому? Этапы создания игры

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

Свобода или деньги

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

А вариантов ответа, если поразмыслить, можно выделить два.

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

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

А теперь подумаем, что же нам всё-таки пригодится, чтобы написать Игру.

Flash и конструкторы игр

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

Теперь касательно всевозможных конструкторов игр. Друзья мои, использование их является ламерством в чистом виде. Они (конструкторы) лишены многофункциональности Flash, не предоставляя взамен никаких преимуществ. С помощью конструктора Вы можете сделать только то, что предусмотрел его создатель, тогда как трансляторы вроде Delphi или Visual C++ позволяют вам решить любую программистскую задачу.

Мой вам совет: откажитесь от использования конструкторов игр и сразу же переходите на «серьёзные» продукты.

Разбор полётов

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

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

Выбираем транслятор

Заметьте, я ещё ни слова не сказал о выборе языка программирования. Существует их великое множество и для написания игры теоретически подойдёт практически любой. Писать игры можно и на бейсике, и на фортране, и, простите за выражение, на стене в сортире. Здесь важно определиться, что Вы понимаете под словом «игра» и какую именно игру Вы хотите сделать. Устройство современных графических игр в корне отличается от всяких там чёт-нечетов и иже с ними. Головоломка со словами, работающая в текстовом режиме тоже называется игрой. И именно по этой причине среди непременных атрибутов создателя игр я не упомянул графический редактор. Лично мне под гордым словосочетанием «компьютерная игра» представляется красочное шоу, обладающее динамическим действием и обязательным присутствием графики. Для написания таких игр создавался DirectX и такие игры продаются сегодня тысячными тиражами.

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

Определились? Тогда можно смело переходить к выбору транслятора, или, упрощённо говоря, среды разработки. Заметьте, что я рекомендую выбирать не язык программирования, а именно транслятор. Обусловлено это одной простой причиной. Программист не работает с C или паскалем. Он использует Microsoft Visual C++ или Borland Pascal. Не суть важно, на каком именно языке Вы будете программировать. В конечном итоге то, что Вы сможете сотворить, во многом определяется возможностями конкретного транслятора. Я рекомендую остановить выбор на уже упомянутом Visual C++, Borland C++ Builder или Borland Delphi. Представленные трансляторы продаются в нескольких редакциях. Я не рекомендую брать самую навороченную супер pro-версию. В основном, отличие между разными редакциями заключается в количестве доступных программисту визуальных компонентов и вспомогательных утилит, что для создания игр непринципиально.

Игровые двигатели

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

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

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

Подбираем кисти

Пара слов о графических редакторах. Для создания сколько-нибудь приличной графики в Paint’e Вы должны обладать недюжинным талантом и неограниченным свободным временем, так что рекомендую пойти более цивилизованным путём. Конечно, Photoshop - штука дорогая, но в деле обязательно пригодиться. Другой хорошо зарекомендовавшей себя программой является Corel PhotoPaint. Для обработки трёхмерных моделей рекомендую 3D Studio Max, являющейся почти стандартом де-факто в области трёхмерной графики.

Сопутствующие средства

И напоследок, хочется упомянуть о, так сказать, второстепенных средствах, используемых в процессе разработки игр и достойных Вашего внимания. Здесь я не буду многословен и перейду сразу к делу. После достижения некоторых успехов Вам может пригодиться программа для создания установочных дисков - лучше всего начинающему разработчику подойдёт InstallShield Express. Для создания презентации продукта и создания оболочки компакт-диска используйте InstallShield DemoShield. О средствах создания музыки и прочих подобных вещах я здесь даже и не заикаюсь. Музыку для игр сегодня редко создают сами, а качают уже готовую из Интернета, особенно это касается начинающих разработчиков. Главное, чтобы источник не был слишком известным. Один из главных Ваших помощников - Интернет. Не пренебрегайте посещением On-Line форумов и конференций.

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

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в 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). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

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

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

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

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

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

Основное препятствие

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

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

Доступность игростроения

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

Основные составляющие игростроительного процесса

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

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

Простейший способ создания игр

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

Разработка игры на готовом движке

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

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

Создание уникальной игры

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

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

Новая ветвь индустрии - мобильные игры

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

Игры на флеше

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

С каждым днем игры становятся все сложнее и навороченнее. Ежегодно в Steam они публикуются тысячами. Они распределяются по разным платформам и категориям. Аудитория игроков стремительно растет. Число разработчиков так же стремительно увеличивается. Быть инди, а точнее соло-разработчиком игр стало тяжело. Но романтика независимости заставляет снова и снова начинать разработку инди-игры. В статье мы поговорим, как выжить на этом пути и как разрабатывать классные игры в жестких условиях конкуренции.

Хотя появляются новые технологии для создания игр, с каждым годом их разработка становится все сложнее и сложнее. Есть тройка топовых движков: Unity, Unreal Engine 4, CryEngine 5. О них постоянно говорят, и их используют для разработки самых разных проектов самые разные разработчики. Тем не менее сложность этих инструментов перевалила мыслимый рубеж. Они огромны, их функциональность достигла вселенских масштабов. Все эти возможности могут быть использованы большими студиями, но для соло-разработчика это избыточный стафф, он ему не нужен, поскольку для его реализации нужны дополнительные ресурсы, которых у инди и так нет (для разработки игры мечты он свой дом заложил). И если это не AAA-игра, то реализация этих фич бесполезна.

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

Альтернативные движки

Я понимаю, что в настоящее время существуют инди-игры всех жанров на любой вкус (и это на самом деле хорошо), но мы под инди-играми в данном контексте подразумеваем маленькие, двумерные, ориентированные на мобильные устройства, созданные соло-разработчиком творения (которых преобладающее большинство), поэтому использовать Unity, UE4 для создания прототипов будет неоправданно сложно. Существует широкий выбор альтернативных движков, они проще в использовании и позволяют достигать впечатляющих результатов за меньший срок, минус спецэффекты, которые инди бы все равно не стал помещать в свою игру. Порой для создания полноценной игры под все платформы эти движки не требуют написания кода. Особенно меня продвинуло на тему альтернативных движков после участия в московской конференции разработчиков видеоигр White Nights 2017, прошедшей в октябре. Я подходил к инди-разработчикам, демонстрирующим свои проекты, и расспрашивал об используемом инструментарии. Во многих случаях они называли вовсе не Unity, а Construct 2 или GameMaker Studio .

Оба продукта представляют собой конструкторы двумерных игр, не требующие умения программировать (!). В Construct 2 игру создаешь, определяя игровые события и реакцию на них. Итоговые игры портируются под все распространенные платформы. Прога идет с подробной документацией, большим количеством примеров и теймплейтов, так что освоить ее несложно. Покупать советую в Steam, там ее стоимость за персональную версию составляет 6399 рублей.

Как самому создать игру. Construct 2 с открытым проектом

GameMaker Studio представляет собой популярный конструктор игр с двумя возможностями построения игры (подобно UE4): первая - методом drag and drop, вторая - писать код на собственном языке системы. В зависимости от целевой платформы игры, созданные с помощью GameMaker Studio, визуализируются с помощью OpenGL или DirectX с использованием соответствующих шейдерных технологий. Для обработки физики есть поддержка движка Box2D. Поддерживается широкий ряд устройств ввода. Десктопная версия в Steam стоит 1599 рублей, экспортеры для других платформ надо докупать: так, экспортер для web стоит 2579 рублей, для UWP - 6396 и столько же для мобильных систем.


Как создать игру самому. GameMaker Studio

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

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

Где взять арт и прочий стафф?

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

Разработка игры с помощью AGK

Мой выбор пал на AGK по трем причинам:

  • разработка игр основывается на написании кода двух уровней (Tier 1, 2); мне, как программисту, легче освоиться в новом API, нежели в новом интерфейсе редактора;
  • цена демократична;
  • купил я этот движок еще два года назад, все обновления приходят сразу же, как появляются.

Дополнительные фишки: AGK поддерживает множество типов контроллеров, так, кроме геймпадов, он поддерживает контроллер бесконтактного управления Leap Motion. Плюс в AGK включена поддержка VR.

Visual Editor

После запуска AGK мы видим только редактор кода без каких-либо визуальных средств, которыми богаты другие движки. Однако в августе компания The Games Creator выпустила приложение, своего рода аддон для AGK - тулзу Visual Editor. Он покупается отдельно (стоит 899 рублей). Этот редактор позволяет визуально настраивать наполнение сцены и уровня твоей игры, импортировать изображения и 3D-модели, помещать их в сцену как игровые объекты, настраивать положение, размер, угол поворота, цвет и другие свойства с помощью инспектора объектов. Как выглядят сцены на устройствах с экраном разного расширения, можно увидеть, прямо не выходя из редактора. В конце концов, сцену можно сохранить и подключить к AGK. Тот спокойно выполнит код, как будто этот файл создан здесь же. Visual Editor дает возможность строить игры методом drag & drop (не полностью, но частично), подобно другим конструкторам, рассмотренным выше. Но, признаться, это не наш выбор.

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


Как создать игру. Visual Editor

Классические танки

Движок AGK одинаково хорошо подходит для создания 2D- и 3D-игр. Мы остановимся на 2D по понятным причинам: популярность на мобильных - целевых платформах - одна из них.

Мы испробуем AGK на танках, попробуем воссоздать «классические танки» с игровой консоли NES от 1985 года с новой графикой. Кто не в теме, та игра называется Battle City, во многом именно она послужила прототипом для современных игр про танковые войны (World of Tanks, «Танки Онлайн»). Поэтому наш мир также будет двумерным с обзором сверху.

Основы AGK

Разработку мы будем вести на ярусе №1 (Tier 1) - скриптовом языке, похожем на модернизированный для нужд игродела BASIC. Первое, что необходимо помнить о BASIC, - это то, что в конце инструкции не надо ставить точку с запятой. Расслабься и получай удовольствие: никаких указателей и низкоуровневых приблуд, классов тоже нет. Их роли выполняют структуры. Можно создать экземпляр структуры, который закрепляется за числовой константой. В будущем для обращения к этому экземпляру используется закрепленное за ним число. При выполнении функции, чтобы указать, над каким объектом производится операция, надо передать соответствующее число в первом параметре. По сути, в AGK имеется только три типа данных: integer, real, string. По большому счету это все, что необходимо знать перед началом кодирования игр на AGK.

Приступаем к кодированию

Мы не будем использовать Visual Editor, напишем весь код самостоятельно (см. пример в материалах к статье). Я не буду приводить в статье листинги игры, поскольку ты всегда можешь их найти в материалах. Я лишь напишу краткие инструкции по выполняемому коду.
Создадим в AGK новый проект и начнем кодировать. Сначала инициализируем окно вывода: зададим заголовок окна, установим его размер, укажем способность менять размер. Затем установим разрешение, возможную ориентацию устройства, частоту перерисовки, зададим использование всей области экрана, последним действием инициализации включим использование продвинутых векторных шрифтов вместо растровых. Этот код входит в шаблон проекта. Ниже находится основной цикл игры: do … loop. В нем выводится FPS и происходит перерисовка экрана.

После инициализации игры определяется тип данных для танка, неважно, вражеский он или наш, все поля одинаковые. Объявление типа начинается с ключевого слова Type, за ним следует идентификатор типа, в нашем случае TTank. В первую очередь каждому танку нужны координаты. В AGK объявление происходит таким образом: x as float. Заметь, на конце точка с запятой не ставится. Второй способ объявления переменных - это просто описать их. Например, переменную типа Integer можно объявить так:

x = 4 , real : x # = 4.4, string: x$ = "four"

То есть добавляется символ после идентификатора. У типа string для задания строки равноценно можно использовать одинарные или двойные кавычки, главное, чтобы закрывающая была парной для открывающей. Далее задаем идентификаторы для спрайта, для коллизии, для флага определения, чьей стороне принадлежит танк: игрока или ИИ. Скорость, частота стрельбы, количество жизней, флаг поверженности, таймер, измеряющий количество секунд, когда танк стал поверженным, флаг, устанавливающийся, когда танк достиг препятствия (нужен для ИИ), в поворотах танка участвуют две переменные: флаг, устанавливаемый в начале поворота, и номер стороны поворота (нужны для ИИ). Заканчивается определение типа ключевым словом EndType.

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

Создадим два массива: один - для танков, второй - для снарядов. Примерно так: Dim tanks as player. Аналогично и со вторым.

Теперь нам надо загрузить текстуры. Это делается с помощью функции LoadImage, первым параметром передается номер, за которым будет закреплено изображения, а вторым - путь и имя файла. Все игровые ресурсы загружаются из подпапки media папки с игрой. Папка media создается при первой удачной компиляции. Таким же образом загружаем изображение снаряда. В цикле создадим все снаряды. Описание цикла начинается с For makebullets = 1 to 20, а заканчивается инкрементом циклической переменной: Next makebullets. В теле цикла происходит создание спрайта (CreateSprite с параметрами: идентификатор спрайта, номер натягиваемой на спрайт текстуры), установка его позиции (SetSpritePosition), установка слоя глубины (SetSpriteDepth), смещение начала координат для спрайта (SetSpriteOffset).

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

Для игры нам надо загрузить два звука: выстрел и попадание. Это выполняется функцией LoadSound, она принимает цифровой идентификатор и имя файла. На десктопе AGK может работать с тремя форматами аудио: WAV, MP3, Ogg, а на мобильных с двумя, исключая MP3, из-за того, что этот формат не свободный. Создаем несколько глобальных переменных: текущее время, номер текущего уровня. Вызываем функцию для создания уровня. Весь код находится в глобальном пространстве и будет выполнен при запуске игры.

Далее мы погружаемся в центральный цикл нашей игры, тело которого выполняется 30 раз в секунду (зависит от частоты смены кадров, на PC может быть 60). Здесь первым делом нам надо получить количество миллисекунд (GetMilliseconds), прошедших с момента запуска игры. Затем запускаем цикл по всем игровым объектам - танкам. Если танк не вращается, он не подбит и им можно управлять (для этого вызываем функцию controlplayer), с другой стороны, увеличиваем его угол поворота. Поворачиваем определенный танк в направлении вектора его движения. Если танк вращается более двух секунд и у него закончились жизни, сбрасываем его состояние (resetplayers). Далее обновляются позиции всех снарядов в функции movefire и идет проверка на подрыв любого танка - в tankhit. Она возвращает номер подбитого танка, который начинает вращаться вокруг своей оси, вдобавок проигрывается звук попадания снаряда. Последней вызывается функция обновления экрана.

В остальном коде программы описаны используемые функции. Они представляют самую интересную часть - «живые» алгоритмы поведения игры.

Функция controlplayer, в которую передается номер определенного танка, реагирует на ввод юзера, производя соответствующие действия. Каждой клавише соответствует свой номер в системе ASCII, поэтому сначала нам надо объявить соответствующие клавишам константы:

#constant KEY_LEFT 37

#constant KEY_UP 38

#constant KEY_RIGHT 39

#constant KEY_SPACE 32

Когда игрок нажимает клавишу «Вверх», переменная Forward принимает значение 1, когда «Вправо» - переменная turn принимает 1, «Влево» - она же -1. При нажатии пробела, если танк не вращается, происходит выстрел (вызов функции makefire с передачей номера танка), с учетом того, что танк может выстрелить с интервалом в 500 миллисекунд.

Далее займемся управлением танками ИИ. Если танк противника находится на обозримом расстоянии, наш незамысловатый ИИ просто преследует танк игрока. Приближаясь к цели, он стреляет. Поэтому первым делом надо найти угол между танками. Это выполняется с помощью функции FindAngle. Ей передаются координаты первого и второго объектов. Если второй танк ниже первого, тогда переменная turn принимает значение -2, если выше, то 2. Следующим действием находим разность углов. Потом надо узнать расстояние между танками. Если оно больше 100 виртуальных пикселей, тогда вражеский танк движется к цели. К слову, в AGK измерения ведутся в виртуальных единицах; если после запуска игры их оставить по умолчанию, размер игрового поля составит 100 на 100. Размер можно произвольно менять, в этом случае он будет влиять только на расположение и размер объектов. Вражеский танк ведет стрельбу при следующих условиях: выстрел раз в две секунды, относительный угол между танками меньше 20 градусов, дистанция меньше 500 единиц. Кроме того, в этой функции надо запретить танку выезд за границы игровой области.

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

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

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

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

Функция checkHit проверяет попадание снаряда в любой танк. Внешний цикл перебирает танки, внутренний - снаряды. Первым делом внутри проверяются возможные столкновения снаряда с ячейкой пола, всего их 192, а их нумерация начинается с 200. Если произошло столкновение с ячейкой пола (ракета достигла своего пункта назначения), дальнейшие проверки выполнять не надо, делаем снаряд неактивным. Следующая проверка смотрит, чтобы выпущенная ракета не принадлежала выстрелившему ею танку. Если она проходит, мы делаем проверку столкновения снаряда с вражеским танком. Если столкновение зафиксировано, уменьшаем количество жизней у подбитого танка, останавливаем ракету, помещаем ее в список доступных для очередного выстрела. Данная функция возвращает номер подбитого танка.

Функция makeLevel, судя по названию, формирует карту уровня. Сначала двойным циклом проходим по всем 192 «кирпичам», делая их невидимыми и неактивными. Далее делаем видимыми только некоторые препятствия.

Оставшиеся три функции носят вспомогательный характер. Функция wrapAngle на основе полученного значения угла возвращает эквивалентное ему значение, не выходящее из диапазона 0–360. GetDistance получает четыре параметра - координаты двух точек и возвращает извлеченный корень из выражения, вычисленного по теореме Пифагора; таким образом, функция возвращает расстояние между двумя точками. И наконец, findAngle, получая координаты двух точек, возвращает разность между двумя углами.

Игра готова, код написан, можно запускать на выполнение. Но прежде не забудь скопировать из материалов к статье необходимый арт (из подпапки media каталога с игрой). Арт для игры состоит из семи файлов.

Подготовка билда и распространение

Тестирование на мобильных девайсах

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

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


Как создать игру. AGK Player

Я тестировал на планшете с ОС Android, однако имеется равнозначная версия плеера для iOS. Когда утилита будет установлена, надо подключить девайс к компу (через USB-кабель или по Wi-Fi), запустить AGK Player, а на десктопе в IDE AGK нажать пиктограмму Broadcast. AGK подключится к устройству, передаст данные, а в плеере запустится твоя игра.

Экспорт билда

Когда игра будет протестирована и отлажена, для ее публикации в сторе надо создать билд. Для этого с помощью команды меню File → Export Project «Tanki» → As Android Apk откроем окно Export Android APK, в котором предлагается задать свойства создаваемого пакета.


Как самому создать игру. Export Android APK

В области APK Settings, в ниспадающем списке APK Type предлагается выбрать целевую платформу: Google, Amazon, Ouya. App Name - имя приложения в операционной системе, Package Name - имя пакета, к примеру com.yazevsoft.Tanki. App Icon - иконка для приложения, Notification Icon - иконка уведомления, Oaya Large Icon - иконка в версии Android для игровой консоли Oaya. Ниже задается ориентация и минимально поддерживаемая версия Android. В области Permission задаются разрешения - доступ к компонентам системы, на которой будет выполняться наша игра: запись на внешние носители, доступ к камере, запись аудио, вибрация и прочее. Область Game Google Services/GameCircle Integration позволяет задать идентификатор для использования сервисов Google. В области Output задается путь, по которому будет сохранен итоговый пакет. Область Signing позволяет настроить свойства для подписания пакета для размещения его в сторах: задать версию, файл подписи.

Альтернативные сторы

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

Обрати внимание на альтернативные сторы: Amazon AppStore, Opera Mobile Store, Яндекс.Стор и многие другие. На них меньше пользователей, меньше трафика, вместе с тем меньше конкуренции. Я не призываю ограничиваться тремя перечисленными, смотри шире. Лидирует платформа Android, между тем, кроме Apple AppStore, есть площадки для распространения iOS-приложений.

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

Заключение

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

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

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

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

Лучшие программы для создания игр

Game Maker

Это конструктор игр на языке Delphi. Поддерживает как Windows, так и Макинтош. Достоинства того конструктора в кроссплатформенности, небольшой цене, интеграции с Steam. К недостаткам Game Maker относят то, что не удобен для создания больших игр, не развивается 3Д режим, предназначение из создания игр для компьютеров трансформировалось в игры для мобильных платформ.

Construct 2

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

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

Unity 3D

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

Минусом Unity 3D является – необходимость обучения по компьютерному программированию у создателя.

3D Rad

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

Game Editor

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

Все приложения, созданные в Game Editor , имеют открытый исходный код . Утилита предназначается для тех, кто хотя бы немного освоил программирование на С++.

Stencyl

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

CraftStudio

Здесь можно добавлять и изменять объекты не только в 2Д, но и в 3Д пространстве. CraftStudio позволяет сделать создание игр увлекательным и интересным. Интерфейс данной программы интуитивно понятен. Здесь нет несовместимостей форматов или проблем с конвертацией. Для тех, кто обладает углубленными знаниями в программировании, есть раздел — Lua Scripting . Скачать программу для создания игр можно с официального сайта .

Adventure Game Studio

Плюсы данной утилиты заключаются в встроенной демо-игре, импорте звуковых файлов. К недостаткам относятся низкое качество графики и создание игры только одного жанра. Интерфейс Adventure Game Studio также не прост, как на первый взгляд может показаться. Но присутствует множество подсказок . Нет русскоязычной версии.

Arcade Game Studio

Это понятный и простой конструктор. Для работы с Arcade Game Studio не нужно обладать знаниями программирования, чтобы в нем разобраться. Он создан для написания шутеров, аркад, раннеров. Здесь можно сделать игру, относящуюся ко времени 80 или 90. Многим поклонникам олдскульного жанра, такие игрушки вполне зайдут.

Clickteam Fusion

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

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

GameSalad

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

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

Visionaire Studio

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

Единственный минус Visionaire Studio в том, что бесплатна только демо версия.

Blender

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

Construct Classic

Эта программа предназначена для создания 3Д и 2Д приложений. Созданные на ней игры могут использовать технологии Direct X. Здесь все действия выполняются по технологии визуального проектирования. Поэтому не требуется знания программирования.

В Construct Classic можно подключать собственные шейдеры. Поддерживает большинство плагинов, встроен интерпретатор Python.

Unreal Development Kit

Эта утилита является самым популярным движком среди разработчиков игровых приложений. Она поддерживает X Box, PC, Play Station. Основная фишка в том, что движок создан для изготовления 3D шутеров. Здесь можно обрабатывать сложные архитектуры, анимации лица, физические объекты. А также имеется собственная библиотека.

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

NeoAxis 3D Engine

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

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

CryENGINE 3 Free

Этот движок можно считать лучшим из всех современных, которые поддерживают фотореалистичные графику, а также технологию Direct X. Far Cry и Crysis были сделаны на нем. А также он позволяет создавать игры для платформ X Box, Play Station.

Текстуры можно брать прямо из 3D Max. CryENGINE очень популярен. Можно найти большое количество обучающих материалов на русском языке.

Kodu Game Lab

Этот движок позволяет работать со многими инструментами, с помощью которых можно выпускать трехмерные приложения. Kodu Game Lab создан компанией Microsoft . В нем есть множество шаблонов, позволяет загружать собственный контент, имеет множество встроенных уроков по работе с ним.

Defold Game Engine

Этот конструктор заточен под 2D, но может работать и с 3D графикой. На нем легко создавать игры для непрограммистов. Defold Game Engine подойдет для разработки приложений для мобильных телефонов, HTML5, скрпитинг на lua.

Amazon Lumberyard

Это новый игровой конструктор от компании Amazon. Он выпускается с открытым исходным кодом. С помощью данного движка можно разрабатывать приложения для персональных компьютеров, мобильные приложения. Lumberyard — бесплатный конструктор. Но если вы хотите подключить дополнительные возможности, то за них вас попросят заплатить.

CryEngine 5

Это игровой движок от немецкой компании Crytec. Версия CryEngine 5 менее требовательна к вашим компьютерным характеристикам, но графика от этого не становится хуже. Есть поддержка Direct X 11 и 12.

GameMaker: Studio

Этот конструктор является бесплатной версией того, что мы рассматривали в начале обзора программ для создания игр. Он позволяет создавать двухмерные миры за несколько часов. Обладает кроссплатформенностью. На GameMaker: Studio легко изготавливать приложения для мобильных устройств, персональных компьютеров, Mac Os.

Поделиться: