Как создаются игры для пк. Как создать игру на Андроид с нуля — осваиваем азы гейм девелопмента

  • 14.10.2019

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

Как играть?

Вам не потребуется знание языков программирования. Работать придется с уже готовыми шаблонами. Они размещены в верхней части экрана. Кликами мышки можно выбирать объекты и место их будущего размещения. В игре всего два персонажа, несколько типов бонусов, платформы и многое другое. Действия должны происходить на фоне гор. Когда вы выберете все, что хотели видеть в игре и найдете место для каждого объекта, нажмите на стрелку «далее». Теперь на экране появляется уже готовая игра, которую вы сможете попробовать первым. Получилось? Если увидели ошибки, то можно вернуться назад.

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

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

Game Maker – это простая программа-конструктор для создания 2D и 3D игр, позволяющая создавать игры для большого числа платформ: Windows, iOS, Linux, Android, Xbox One и другие. Но для каждой ОС игру нужно будет настраивать, так как Гейм Мейкер не гарантирует везде одинаковую работу игры.

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

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

Процесс же создания игр здесь очень простой: создание спрайтов в редакторе (можно загрузить готовые рисунки), создание объектов с разными свойствами и создание уровней (комнат) в редакторе. Скорость разработки игр на Game Maker гораздо быстрее, чем на других подобных движках.

Unity 3D

Один из мощнейших и самых популярных игровых движков — Unity 3D. С его помощью можно создавать игры любой сложности и любого жанра, используя все тот же интерфейс визуального программирования. Хотя изначально создание полноценных игр на Unity3D подразумевало знание таких языков программирования, как JavaScript или C#, но они нужны для более масштабных проектов.

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

Кроссплатформенность, стабильность, высокая производительность, дружественный интерфейс – это лишь небольшой список достоинств движка Юнити 3Д. Здесь вы можете создать практически все: от тетриса до GTA 5. Но лучше всего программа подойдет разработчикам инди-игр.

Если вы решите выставить свою игру в ПлейМаркет не бесплатно, то вам придется выплачивать разработчикам Unity 3D некоторый процент от продаж. А для некоммерческого использования программа бесплатна.

И снова вернемся к конструкторам! Clickteam Fusion – это программа для создания 2D игр с помощью интерфейса drag’n’drop. Здесь вам не нужно программирование, ведь вы будете собирать игры по кусочку, как конструктор. Но также вы можете создавать игры записывая код для каждого объекта.

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

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

Стоит Clickteam Fusion, по сравнению с другими программами, не дорого, а на официальном сайте вы также можете скачать бесплатную демо-версию. К сожалению, для крупных игр программа не годится, но для небольших аркад – самое то.

Еще одной очень неплохой программой для создания двухмерных игр является Construct 2. С помощью визуального программирования вы сможете создавать игры на разные популярные и не очень платформы.

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

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

Но где есть плюсы, там есть и минусы. Основным недостатком Construct 2 является то, что экспорт на дополнительные платформы осуществляется только при помощи сторонних программ.

CryEngine – это один из самых мощных движков для создания трехмерных игр, графические возможности которого, превосходят все подобные программы. Именно здесь создавались такие известные игры, как Crysis и Far Cry. И все это возможно без программирования.

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

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

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

Game Editor – это еще один конструктор игр в нашем списке, который напоминает упрощенный конструктор Game Maker. Здесь вы сможете создавать простые двухмерные игры без каких-либо особых знаний в области программирования.

Здесь вы будете работать только с акторами. Это могут быть как персонажи, так и предметы «интерьера». Для каждого актора можно задать множество разных свойств и функций. Так же можно прописывать действия в виде кода, а можно просто подобрать готовый скрипт.

Также с помощью Game Editor можно создавать игры и на компьютеры, и на телефоны. Для этого просто сохраните игру в правильном формате.

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

А вот и конкурент для Unity 3D и CryEngin — Unreal Development Kit. Это еще один мощнейший игровой движок для разработки 3D игр на многие популярные платформы. Игры здесь, так же, можно создавать, не используя языков программирования, а просто задавая готовые события объектам.

Несмотря на сложность освоения программы, Unreal Development Kit дает вам огромные возможности для создания игр. Советуем вам научится использовать их все. Благо материалов в интернете вы найдете предостаточно.

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

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

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

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

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

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

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

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

Что интересно, в 3D Rad вы можете создать мультиплеерную игру или же игру по сети и даже настроить игровой чат. Это еще одна интересная особенность этой программы.

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

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

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

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

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

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

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

  1. Идея или сценарий.
  2. Желание и терпение.
  3. Конструктор игр.

И если с первыми двумя составляющими успеха более-менее всё понятно, то на третьей составляющей нужно остановиться подробнее.

Что такое Конструктор игр

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

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

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

Как выбрать нужный конструктор

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

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

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

Топ 5 лучших конструкторов игр

Construct 2

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

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

Для освоения работы с Construct 2 нет необходимости покупать лицензию, в бесплатной Free-версии предложен вполне достаточный инструментарий и возможность экспорта готового проекта на некоторые платформы. Однако, кодирование готового продукта на мобильные платформы и доступ к полному объёму функционала даст за 129 долларов Personal-лицензия. Если же ваше мастерство в создании игр достигло апогея, и вы уже стали получать доход от своего проекта более 5 тыс.долл., придётся раскошелиться на Business-вариант, который обойдётся в 429 долл.

А теперь, посмотрите несколько практических видеоуроков по созданию игровых приложений с помощью Construct 2:

Clickteam Fusion

Clickteam Fusion – ещё один образчик отличного полноценного игрового конструктора, помогающего даже новичку создать полноценную игру. Программа предоставляет возможность экспортировать созданные приложения совершенно бесплатно в формат HTML5, а это значит, что будет возможность публиковать браузерные игры и кроме того, конвертировать их для публикации в различных мобильных маркетах, например, Google play.

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

Платная Developer-версия программы недоступна для жителей РФ, но её лицензионный диск можно будет заказать с того же Amazon, облегчив личный бюджет в среднем на 100 долларов. Возможна русификация меню через сторонний русификатор.

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

Stencyl

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

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

Наличие отличного графического редактора Scene Designer даёт возможность пользователю применить свою фантазию для рисования игровых миров.

Оптимальный набор функций поможет создать качественные игры разных жанров, но наиболее тайловая (плиточная) графика Stencyl будет актуальна для «стрелялок» или «бродилок».

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

Смотрим ускоренный курс по работе со Stencyl:

Game Maker

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

Программа предлагает выбор готовых шаблонов локаций, объектов, а также, персонажей, звуков и фонов. Так что, вся творческая работа сводится к перетаскиванию в рабочую зону выбранные элементы и выбору условий – местонахождение и взаимодействие с другими объектами. Хоть знание языка программирования и не понадобится, но пользователи, которые «в теме» смогут использовать GML, чем-то схожим с JS и C++.

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

Кого заинтересовала эта программа, предлагаем посмотреть обучающее видео:

Unity 3D

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

Игры, созданные с помощью Unity совместимы со всеми востребованными платформами от мобильных устройств на iOS или Android до SMART TV телевизионных приёмников.

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

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

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

Серия занятий по созданию игр с помощью Unity 3D:

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

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

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

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

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

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

Инструкция

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

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

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

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

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

Видео по теме

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

Вам понадобится

  • - развитое творческое воображение.

Инструкция

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

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

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

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

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

Источники:

  • «Логические игры для детей», Т.Н. Образцова, 2010.
  • «Лучшие подвижные и логические игры для детей от 5 до 10 лет», Е.А. Бойко, 2008.
  • «Дидактика. Логический поезд. Игры для детей 2-5 лет», Т.А. Барчан, 2003.

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

Древесина - самое первое, что нужно добывать в игре

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

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


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

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

Рецепт создания забора в minecraft

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

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


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

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

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

Что нужно для кирки?

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

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

Собрав древесину, откройте окно персонажа. Рядом с изображением вашего героя находится окно крафта (создания предметов) размером 2х2. Этого недостаточно для создания кирки, но зато здесь можно сделать верстак, который служит для крафта большей части предметов. Положите в одну из ячеек половину добытой древесины, это позволит вам получить доски. Из единицы древесины получается четыре доски. Доски - отличное сырье для создания первых инструментов и горючее для печи. В том же окне крафта поставьте две доски друг над другом, это даст вам палки. Теперь заполните все четыре ячейки досками, в результате должен получиться верстак.

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

Кирка - символ minecraft

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

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

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

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

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

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

3D Studio MAX

В настоящее время программа называется Autodesk 3ds Max. Стартовал проект в далекий 1990й год, когда о трехмерном моделировании только начинали задумываться самые смелые экспериментаторы.

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

Разработкой пакета занималась студия «Yost Group» и первые четыре версии вышли для DOS. Кто не помнит «дооконные» времена, это операционная система с командной строкой – бабушка современных ОС. С 1994 года пакет стал выходить и для Windows.

С помощью пакета можно создавать видеоролики, заниматься архитектурным моделированием, воплощать в жизнь персонажей компьютерных игр. Для примера, многие видеовставки компании Blizzard для игр Warcraft и Starcraft использовали возможности 3D-Max. Также продукт применялся и для создания моделей в этих играх.

Autodesk Maya

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

Тем не менее, он выжил и теперь активно используется многими специалистами и энтузиастами во всем мире. Один только список знаменитых мультфильмов и , созданных с его помощью, заслуживает уважения:

Образ Голлума во Властелине Колец
- мышь из комедии «Стюарт Литтл»
- «Южный парк».
- трилогия «Матрица»
- человек паук 2
- золотой

И это только начало, поскольку всего просто не охватить.

Cinema 4D

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

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

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

Впервые он появился еще на компьютере «Амига» в начале девяностых годов прошлого века. Первые версии ПО были только для этой машины. Затем компания «Maxon» смогла перенести его на другие платформы.

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

Видео по теме

Источники:

  • Интересные программы для новичков в 2019

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

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


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


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


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

Видео по теме

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

Вы всегда получаете то, что зарабатываете

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

Выиграть игру можно лишь тогда, когда вы поймете ее правила

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

Нет правила, которое ограничивало бы ваш доход!

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

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

Видео по теме

Полезный совет

Пять приведенных правил должны составить начальную базу для ваших размышлений.
Эти правила основываются на трех важных предпосылках к успеху:
1. уверенность в своих силах;
2. умение брать ответственность на себя;
3. умение действовать.
Над этими умениями и необходимо работать.

С каждым днем игры становятся все сложнее и навороченнее. Ежегодно в 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. И все это в рамках одной статьи.

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