Можно ли создать компьютерную игру. Спецматериал. С чего начать разработку своей игры. Начинающий Разработчик Игр - В Простонародии "Чайник"

Хочешь научиться создавать игры,
но не знаешь с чего начать?
Прочитай текст ниже и уже сегодня ты начнешь делать свою первую игру!

Приветствую тебя начинающий разработчик игр!

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

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

Кто я такой?

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

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

Поделюсь с вами опытом: пару лет назад я и представить не мог что создавать игры в наше время будет НАСТОЛЬКО просто. Как программист с 6 летним стажем, я могу сказать вам, что создание даже простейших 2D игр было очень нелёгким делом. Только одному мне приходилось тратить невероятное количество мысленных усилий и времени(около недели) чтобы всего лишь заставить главного героя двигаться по экрану. Вы можете себе представить сколько сил уходило на целую игру?

Сегодня многие люди создают игры буквально за пару вечеров! Именно этому я и хочу тебя научить!

При этом тебе совсем не понадобятся какие-либо специфические знания - достаточно твоего желания и немного упорства.

Как создавать игры без лишних заморочек?

Что же позволяет сегодня делать игры гораздо легче и быстрее?

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

Создавать игры таким способом - увлекательное, ни с чем не сравнимое удовольствие!

Взгляните, какого уровня игры можно делать на Game Maker:

Dustforce

Это аркадная игра с великолепной графикой и геймплеем. Данная игра - коммерческий проект создатели которого профессиональная студия разработки игр.


Название: Dustforce

Жанр: Аркада

Разработчики:
Art/game design/sound: Woodley Nye
Program/design: Lexie Dostal
Music: robotscience.bandcamp.com

Мультиплеер: нет

Похожесть: Mirror"s Edge 2D

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

Ты хочешь быстро и дёшево научиться создавать игры?
Возможно ли это?

Да. И я знаю как.

Увы, созданию игр ни в одном ВУЗе нашей страны не учат. И что ещё ужаснее - это то, что даже никакой толковой литературы по созданию игр нет.

Что же получается? Что созданию игр никак не научиться?

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

Но сейчас ситуация изменилась! После выхода видеосамоучителя по созданию игр:


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

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

Данный курс я создавал на протяжении 9 месяцев! Кажды день по 9-12 часов кропотливой работы. Многое я переделывал. Многое начинал заново. Я хотел чтобы этот курс смог научить вас созданию игр настолько легко и быстро насколько это возможно! Будьте уверены - я своего добился!

Для кого предназначен этот курс?

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

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

Со всеми остальными же мы будем работать и учиться делать свои первые игры!

В чем ошибка 92 % процентов начинающих?

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

Пускай ваша первая игра будет не слишком крутой, но она будет ВАША!

Это бесспорно подтолкнёт вас на новые свершения! И дальше Вы будете работать только лучше! Маленькие победы ОЧЕНЬ важны для вас или для вашей команды, если Вы работаете вместе. Они позволяют быстро увидеть ошибки и прочие проблемы.

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

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

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

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

Из чего состоит простейшая компьютерная игра?

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

    Графическое оформление (спрайты и прочее)

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

    Самый элементарный гейм дизайн (это задумка, как в игре будет всё устроено)

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

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

Причём программную часть Вы освоите без программирования!

В этом и прелесть Game Maker!

В результате вам остаётся только сконцентрироваться на деталях игры, игровой механике, выверенном балансе и прочих интересных вещах. В каком-то смысле создание игры в Game Maker - само по себе напоминает игровой процесс. Это невероятно интересно!

Что в себе содержит курс?

Курс состоит из 3-х частей

В первых двух частях располагаются видеоуроки.

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

Также к курсу прилагается подробная инструкция для продуктивной работы с ним.

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

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

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

Каков план курса?

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

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

Что конкретно ты получишь после прохождения курса?

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

Игорь Стликов

г. Санкт-Петербург

"Уже запустили свой первый проект! Теперь намечаем второй".

Здарова, Артём!

Спасибо за курс. Честно сказать, я ещё до изучения курса много читал про создание игр. Только всё время меня отпугивала мысль, что без знаний программиста созданием игр не заняться. У меня со школы с программированием туго. Да только ТАКИЕ порой идеи создания игр появлялись, что не смог отказать себе приобрести твой курс, и не пожалел.

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

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

Искренне желаю удачи тебе, Артём!

P.S. Извини, что так поздно написал, был занят изучением курса и проектом.

Вот, что Вы получаете, оформив заказ:

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

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

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

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

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

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

    4 . Вы сможете поразить всех друзей достигнутыми результатами.

    Покажи мне результат!

    Какого уровня игру вы сможете сделать пойдя курс? Как минимум это будут игры уровня sega, и Dendy. А максимум ограничен только вашим трудолюбием и желанием создать нечто потрясающее!

    Судите сами на ваших глазах в одном из видео всего за час я сделаю основной движок игры DUNE 2. Вот скриншот:

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

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

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

    Подарок № 2:
    Видеокурс "Как озвучить вашу игру в домашних условиях"

    Ценность - 848 рублей

    Из данного видеокурса Вы узнаете:

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

    Внимание!!! Если Вы сделаете заказ позже, чем через час,

    то Вы НЕ получите эти бонусы.

    Валентин Лапонин

    г. Новосибирск

    Здравствуйте! Меня зовут Валентин. Хотел сказать огромное спасибо за ваш видеокурс. Если честно, я даже не ожидал, что в нём будет содержаться такой большой объём полезной информации.

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

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

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

    Ещё раз спасибо! Успехов в вашем деле!

    Как может выглядеть ваша жизнь через 5 лет?

    Утро. Бодрящий аромат любимого кофе.

    Сегодня много приятной работы. Энтузиазм так и хлещет, хочется взяться за дело прямо сейчас! Да только офис находится в другой части города. Тем не менее вы чувствуете себя просто замечательно по пути на работу в своём уютном авто. Пусть ваш автомобиль не самый дорогой и шикарный, но всё таки он ваш. Да и кому в конце концов будет неудобно в кожаном салоне AUDI A7 ? От мысли что каждую копейку на него вы заработали своими руками - становится как-то приятно.

    Прошло уже 4 года с тех пор как вы открыли свой первый офис, наняли первого программиста, создали первый дизайн документ. Сейчас штат сотрудников уже перевалил отметку в 11 человек! Но главные свершения ещё впереди! Ещё много новых идей ждут своей реализации: новые платформы и технологии, последний проект вот-вот уйдет "на золото", остались лишь мелкие штрихи! Как-же всё это интересно!

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

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

    Если Вам кажется, что все это звучит слишком хорошо, то хочу Вас отрезвить...

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

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

    Вы платите 2450 рублей за 7 лет бесценного опыта. 350 рублей за год. 30 рублей за месяц

    Много ли это?

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

    Это цена которую Вы готовы отдать для достижения вашей мечты - создавать игры! Уже через неделю обучения Вы начнёте создание своего первого серьёзного проекта. А через какое-то время у вас будет готовая игра созданием которой Вы сможете гордиться!

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

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

    Сколько стоит обучиться созданию игр у моих конкурентов?

    Для чистоты выбора приведу цены на обучение самой близкой професии относящейся к созданю игр - профессии программиста:

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

    100% безрисковая сделка!

    Если Вы всё еще сомневаетесь, то я предоставляю Вам 100% гарантию:

    Думаю так будет справедливо.

    Вот еще несколько скриншотов того что происходит на экране во время обучения:

    Смогу ли я в полной мере воспользоваться вашими курсами, ведь я пенсионер (как вариант: студент, ученик старших классов)?

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

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

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

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

    Сказка для тех, кому нужно подумать

    Жил-был молодой парень. Когда ему исполнилось 18 лет, он пошёл работать батраком к хозяину.

    Однажды он спас из реки утопающую девушку. Она оказалась феей. И вот она говорит ему: «ты мне спас жизнь - загадывай любое желание».

    Парень с детства мечтал путешествовать. Он сказал фее: «подари мне сапоги-скороходы. С ними я увижу весь Мир!»

    Фея дала ему сапоги. Парень подумал: «чтобы путешествовать, нужны деньги. Сначала заработаю, потом отправлюсь в путь». И он стал усердно работать.

    Вскоре он прослыл самым лучшим работником. Хозяин подумал: «какой трудолюбивый и бережливый юноша!» и предложил ему жениться на своей дочке.

    Парень обрадовался и решил: «Хорошо, сначала женюсь, потом буду путешествовать».

    Сыграли свадьбу. Родились дети. Он думал «вот дети вырастут, тогда отправлюсь путешествовать».

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

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

    Ты хочешь подумать ещё?

    Или ты всё-таки хочешь создавать игры?

    Леонид Бубнов

    г. Иркутск

    "Вот уж не думал что создание игр - это так просто!"

    Здравствуй, Артём!

    Это Леонид Бубнов.

    Я получил видеокурс сегодня. Я в восторге!

    Посмотрел пару роликов, то, что нужно!! Все подробно объясняешь, молодец.

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

    До связи. Леонид.

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

    Я официально зарегистрирован как индивидуальный предприниматель (ИП Кашеваров А.Д., ОГРН 305026522400038), поэтому обязан исправно платить налоги и соблюдать все права потребителей. Вы также можете более подробно ознакомиться со свидетельством о государственной регистрации и другими документами в разделе . Задать любые вопросы можно в разделе .

    Теперь Вы имеете представление о том, в каком направлении нам предстоит работать, более того, на 100% защищены законом РФ "О защите прав потребителей".

    Удачи Вам в вашем начинании!

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

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

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

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

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

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

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

    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 форумов и конференций.

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


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

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

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

    Создание игры

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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


    Пасьянс Солитер