Конвертировать pdf файлы в один. Как объединить PDF файлы в один? Онлайн-сервисы для объединения файлов PDF

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

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

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

Способ 1: Программы для создания игр

В первую очередь рассмотрим специальные программы, которые позволяют создать проект без навыков программирования. Сегодня мы остановимся на известном варианте. Game Maker – одна из самых простых и популярных программ для создания 2D-игр. Здесь доступно создание игр с помощью интерфейса drag’n’drop или же используя встроенный язык GML (с ним-то мы и будем работать). Гейм Мейкер – это лучший вариант для тех, кто только начинает разрабатывать игры.

  1. Переходим во вкладку «New» и создаем новый проект.
  2. Создадим спрайт. Нажмите правой кнопкой мыши на пункте «Sprites» , а затем — «Create Sprite» .
  3. Задаем ему имя, пусть будет player, и нажимаем «Edit Sprite» . Откроется окно, в котором мы сможем изменить или создать спрайт. Создадим новый спрайт, размер менять не будем.
  4. Дважды нажмите на новом спрайте. В открывшемся редакторе появляется возможность нарисовать спрайт. В данный момент мы рисуем игрока, а именно танк. Сохраняем наш рисунок.
  5. Чтобы сделать анимацию нашего танка, скопируйте и вставьте изображение комбинациями Ctrl + C и Ctrl + V соответственно и нарисуйте ему другое положение гусениц. Позволяется делать столько копий, сколько посчитаете нужным. Чем больше изображений, тем интереснее анимация.
  6. Можете поставить галочку напротив пункта предпросмотра. Вы увидите созданную анимации и сможете изменить скорость изменения кадров. Сохраняем изображение и центрируем его кнопкой «Center» . Наш персонаж готов.
  7. Таким же образом нам нужно создать еще три спрайта: враг, стена и снаряд. Назовем их enemy, wall и bullet.
  8. Теперь необходимо создать объекты. На вкладке «Objects» нажимаем правой кнопкой мыши и выбираем «Create object» . Создадим объект для каждого спрайта: ob_player, ob_enemy, ob_wall, ob_bullet.
  9. При создании объекта стена поставьте галочку напротив пункта «Solid» . Это сделает стену твердой, и танки не смогут проходить сквозь нее.

  10. Переходим к сложному. Открываем объект ob_player и переходим во вкладку «Control» . Создаем новое событие кнопкой «Add Event » и выбираем «Create» . Правой кнопкой мыши жмем на пункт «Execute Code» .
  11. В открывшемся окне нужно прописать, какие действия будет выполнять наш танк. Наберите такие строчки:

    hp = 10;
    dmg_time = 0;

  12. Создайте событие «Step» и таким же образом пропишите для него код:

    image_angle = point_direction (x, y, mouse_x, mouse_y);
    if keyboard_check (ord("W")) {y-=3};
    if keyboard_check (ord("S")) {y+=3};
    if keyboard_check (ord("A")) {x-=3};
    if keyboard_check (ord("D")) {x+=3};

    if keyboard_check_released (ord("W")) {speed = 0;}
    if keyboard_check_released (ord("S")) {speed = 0;}
    if keyboard_check_released (ord("A")) {speed = 0;}
    if keyboard_check_released (ord("D")) {speed = 0;}

    if mouse_check_button_pressed (mb_left)
    {
    with instance_create (x, y, ob_bullet) {speed = 30; direction = point_direction (ob_player.x, ob_player.y, mouse_x, mouse_y);}
    }

  13. Добавьте событие «Collision» – столкновение со стеной. Код:

    x = xprevious;
    y = yprevious;

  14. И так же добавьте столкновение с врагом:

    if dmg_time <= 0
    {
    hp-=1
    dmg_time = 5;
    }
    dmg_time -=1;

  15. Событие «Draw» :

    draw_self();
    draw_text(50,10,string(hp));

  16. Добавьте "Step" - "End Step" :
    if hp <= 0
    {
    show_message("Игра окончена")
    room_restart();
    };
    if instance_number (ob_enemy) = 0
    {
    show_message("Победа!")
    room_restart();
    }
  17. Когда закончили с игроком, переходите к объекту ob_enemy. Добавьте событие «Create» :

    r=50;
    direction = choose(0,90,180,270);
    speed = 2;
    hp = 60;

  18. Для движения добавьте «Step» :

    if distance_to_object (ob_player) <=0
    {
    direction = point_direction(x,y,ob_player.x, ob_player.y)
    speed = 2;
    }
    else
    {
    if r <= 0
    {
    direction = choose (0,90,180,270)
    speed = 1;
    r=50;
    }
    }
    image_angle = direction;
    r-=1;

  19. «End Step» :

    if hp <= 0 instance_destroy();

  20. Создайте событие «Destroy» , перейдите во вкладку «Drawing» и в пункте «Other» нажмите на значок со взрывом. Теперь при убийстве врага будет анимация взрыва.
  21. Событие «Collision – столкновение со стеной» :

    direction = - direction;

    Событие «Collision – столкновение со снарядом» :

    hp-=irandom_range(10,25)

  22. Так как стена у нас никаких действий не выполняет, переходим к объекту ob_bullet. Добавляем столкновение «Collision с врагом» (ob_enemy):

    instance_destroy();

    И «Collision со стеной» (ob_wall) с точно таким же кодом:

    instance_destroy();

  23. Наконец создадим уровень «Level 1» . Нажимаем правой кнопкой мыши «Room» > «Create Room» . Перейдем во вкладку «Objects» и с помощью объекта «Стена» нарисуем карту уровня. Потом добавим одного игрока и несколько врагов. Уровень готов!
  24. Сейчас нам доступен запуск игры и ее тестирование. Если вы следовали инструкции, багов быть не должно.

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

Способ 2: Онлайн-сервисы

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

  1. Перейдите по указанной выше ссылке, чтобы попасть на официальный сайт проекта, где нажмите на большую зеленую кнопку с надписью «Start Making» .
  2. По прохождении авторизации будет предложено выбрать игровой жанр. Для ознакомления мы возьмем платформер со встроенным уроком от разработчиков.
  3. После открытия редактора справа появится навигационная панель с ознакомительными инструкциями по данному приложению. Для начала урока потребуется кликнуть на «LET`S GO» .
  4. Далее нужно будет ознакомиться с каждым шагом, в которых описывается процесс взаимодействия с редактором. Приведенные инструкции помогут разобраться с основами игрового строительства и использованием всех инструментов.
  5. Мы не будет затрагивать начальное окно игры, поскольку оно и так настроено корректно по умолчанию. С этим вы разберетесь в будущем, если захотите работать над индивидуальным проектом. Сейчас переместитесь во вкладку «Game» .
  6. Здесь вам понадобится знать о трех основных областях рабочей среды. Слева находятся все инструменты управления, добавление предметов, блоков и скриптов. Посередине располагается сам игровой экран, а ниже показана вся карта. Справа отображено небольшое окно со всеми присутствующими слоями и функциями управления ими. Оно может свободно перемещаться по всей области вкладки.
  7. Давайте посмотрим, как действует слой главного персонажа. Выберите строку «Player» , после чего вокруг человечка появится синий прямоугольник. Он отвечает за перемещение и трансформацию объекта. То есть вы можете поставить его под любым углом, изменить размер или изначальное положение на карте.
  8. Следующий слой «GrassTerrain» . Сюда вынесены все блоки, по которым передвигается персонаж. Обратите внимание на доступные блоки слева. Вы можете выделить их и поместить в любое место на игровой зоне, чтобы продлить карту для перемещения персонажа.
  9. В этой же панели чуть ниже находится раздел «Collectables» , который отвечает за добавление золота и других предметов коллекционирования. На этом примере мы рассмотрим создание и доработку нового слоя. Сначала создайте новую строку в «Layers» и дайте ей название. Затем выделите ее и поместите необходимое количество монет на карту.
  10. Примерно такие же действия осуществляются с чекпоинтами, завершающими точками, NPC и другими игровыми элементами. Желательно каждый тип объектов добавлять в новый слой, чтобы потом не только не запутаться, но и не совершить ошибки с присвоением скриптов.
  11. Сейчас вернемся к нашим монетам. Переместитесь в раздел «Scripts» через самую левую панель. Где опуститесь вниз и нажмите скрипт под названием «Score Collectable» . Затем выбранным скриптом следует щелкнуть по каждой монете. Таким образом, вы обеспечите корректное коллекционирование и обозначите те самые элементы.
  12. В режиме редактирования каждого готового скрипта присутствует множество полезных настроек, о которых говорится в официальных уроках. Здесь вы можете добавить звуки, настроить анимацию и другие действия, которые будут выполняться при достижении определенных условий.
  13. Однако это еще не все. Присутствует функция собственноручного строения скриптов, которая позаимствована из известного многим софта для детей, обучающего программированию. Здесь слева выделены все отдельные действия. С помощью них составляется единая таблица скрипта, образующая ряд действий, выполняемых после достижения указанной цели, например, подбора монеты или попадания в кадр NPC.
  14. Если во время разработки вы захотите протестировать работоспособность игры, кликните на кнопку «Play» , располагающуюся справа вверху.
  15. Начнется запуск приложения. Он занимает определенное количество времени, что зависит от сложности проекта и мощности компьютера.
  16. Далее отобразится стартовое окно, где нужно начать игру или проверить действие, например, кнопки «Help» .
  17. Перемещайтесь по карте с помощью стрелочек или заданных клавиш управления. Обязательно проверьте действенность всех добавленных скриптов в разных ситуациях, чтобы в будущем не возникло проблем с прохождением у других игроков.
  18. По завершении разработки игры или надобности сделать перерыв вы можете сохранить процесс или экспортировать файл на компьютер. Полноценная загрузка готового проекта доступна только после приобретения расширенной версии данного онлайн-сервиса.

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

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

Способ 3: Среда разработки и язык программирования

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

Для примера возьмем известную миллионам игру Minecraft. Конечно, она достаточно проста, но в то же время показывает, что даже один человек может собственными силами создать проект с нуля, который станет популярным у всего мирового сообщества. Данное приложение изначально писалось на языке Java, а трудился над ним Маркус Перссон (Notch). Из этого выходит, что практически любой пользователь, начав изучение Java, сможет достичь хотя бы немного приближенного результата, написав свой собственный проект. Однако для этого придется немало трудиться. Существуют специальные факультеты в университетах, обучающие основам программирования, но не все хотят подаваться в ВУЗ, потому обращают больше внимания на платные курсы или бесплатные материалы, учебники. Все их не перечислить, укажем лишь один из известных сервисов для начинающих под названием JavaRush.

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

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

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

Что касается проектов AAA-класса, то Java и тем более Python значительно сдают свои позиции перед C и C++. Преимущественное большинство игровых движков написаны именно на этих ЯП. Они разрабатываются специально для крупных компаний или заимствуются у независимых производителей. Вдобавок к этому в огромных проектах нередко задействовано сразу несколько языков программирования, что задает надобность программистам изучить их все. Из этого выходит, что начать свое движение на пути разработки крупных проектов не так уж и просто. Для этого точно понадобится записаться на онлайн-курсы или поступать в высшее учебное заведение. Если вы заинтересовались этим делом, ознакомитесь с одним из самых известных курсов по созданию игр от GeekBrains по указанной ниже ссылке.

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

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

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

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

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

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

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

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

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

Инструкция

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

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

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

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

Затем подготовьте игровые ресурсы – модели, звуки и текстуры.

Последний шаг – вы можете доделать игру сами или попросить об этом друга-программиста. Это уже совсем не сложно.

Видео по теме

Обратите внимание

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

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

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

Источники:

  • аКак?, сайт
  • как делать игры в компьютере

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

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

  • Для того чтобы разработать свою 3D игру вам потребуется взлет фантазии, и некоторый софт, который можно легко скачать из интернета.

Инструкция

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

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

Оцените всю сложность технического воплощения вашей задумки. От этого зависит выбор движка, на котором будет работать ваша игра. Если ваша игра достаточно простая, в ней небольшое количество героев, нет сложной графики, и для вас это просто первый эксперимент – остановитесь на FPS Creator.
Если же вы настроены создать игру сложную, многоплановую, эффектную - воспользуйтесь NeoAxis Engine. Этот мотор позволяет воплотить в жизнь игру любой сложности.

После того как вы выбрали движок и установили его к себе на ПК, дополните свои игровые ресурсы – скачайте из интернета необходимые звуки, текстуры, модели. В интернете очень много всевозможных программных «аксессуаров» и у вас не будет с этим затруднений.

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

Обратите внимание

Почти весь софт можно скачать из сети, вам останется приобрести только микрофон.

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

Лучше потратить лишнее время на программирование – конструктор игр не даст вам возможности создать многоплановую и сложную игру.

Источники:

  • как самому разработать

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

Инструкция

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

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

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

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

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

Обратите внимание

Большую часть софта для создания игр можно скачать из интернета. Вам потребуется купить только микрофон.

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

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

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

Инструкция

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

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

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

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

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

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

Видео по теме

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

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

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

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

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

Инструкция

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

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

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

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

Видео по теме

Источники:

  • как создать игравой сайт

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

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

  • Компьютер, доступ в интернет, программа Game Editor, компилятор подходящего языка программирования, Adobe Photoshop.

Инструкция

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

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

Если вам требуется больше ресурсов или вы чувствуете в себе потенциал программиста, то создавайте свою игру на каком-нибудь языке программирования: С++, Delphi и т.д. Например, изучив основы Delphi, можно в очень короткие сроки создать какую-либо настольную игру по типу шахмат или нард. А С++ вообще считается главным языком для написания игр – на нем создавались такие легенды, как Warcraft и Doom. Изучите учебники и форумы по этим языками программирования, разберите разработки игр на них и приступайте к созданию собственного творения.

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

Обратите внимание

Не стремитесь создать сами новый Crysis или Need for Speed. Для этого требуются сотни тысяч долларов инвестиций, большая команда профессионалов и офис, оборудованный самыми производительными компьютерами.

Источники:

  • Официальный сайт конструктора двумерных игр в 2018

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

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

  • - литературное произведение;
  • - участники;
  • - подручные материалы для изготовления атрибутов.

Инструкция

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

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

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

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

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

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

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

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

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

————————————-

Defold Game Engine

В этой статье я хочу познакомить вас с весьма молодым и бесплатным игровым движком для создания игр ААА класса - Defold Game Engine . Этот движок разработали Рагнар Свенссон и Кристиан Мюррэй в 2014 году и уже существует более 20 тыс. пользователей и больше 30 тыс. проектов на этом движке.

Defold работает на MacOS/OS х, Windows и Linux (32 бит и 64 бит). С его помощью можно создать игру для 6 известных платформ iOS, Android ,HTML5, а также для MacOS/OS х, Windows и Linux.

Defold - представляет собой полноценный 3D — движок, однако набор инструментов сделан для 2D, так что для создания 3D игр придется делать много тяжелой работы самостоятельно. Улучшение инструментов для создания 3D, разработчики планирую в ближайшем будущем. Все приложения и игровая логика в Defold осуществляется с помощью скриптов на языке lua. Lua - это легкий, динамичный язык, который является быстрым и очень мощным.

————————————-

Amazon Lumberyard

На игровом движке lumberyard можно создавать высококачественные игры класса ААА для PC, Xbox One и PlayStation 4, в скором будущем анонсирована поддержка устройств iOS и Android, с глубокой интеграцией в Amazon Web Services и привлечением фанатов в сервисе Twitch, так же движок Lumberyard можно будет использовать и в создании мультиплатформенных игр, так как он теперь имеет собственный сетевой движок.

Lumberyard создан не «с нуля» он основан на коде движка CryEngine, в середине лета 2015 года компания Amazon приобрела широкую лицензию на движок CryEngine, но как утверждают разработчики в систему было заложено множество нововведений и возможностей такие как: инструмент для создания растений, инструмент для создания скелетной анимации, редактор частиц, шейдеры на основе физики, модульные геммы, облегчающие работу с природными эффектами и многое другое.

————————————-

CryEngine 5

CryEngine - игровой движок, созданный немецкой частной компанией Crytek в 2002 году и первоначально используемый в шутере от первого лица Far Cry . В середине марта компания предоставила миру новый, пятый CryEngine . Движок абсолютно бесплатен и воспользоваться им, может любой желающий, с помощью которогоможно создать игру, различного жанра и различной сложности.

  1. CryEngine Sandbox: редактор игры в реальном времени, предлагающий обратную связь «Что Вы видите, то Вы и ИГРАЕТЕ».
  2. Рендерер: интегрированные открытые (англ. outdoor ) и закрытые (англ. indoor ) локации без швов. Также рендерер поддерживает OpenGL и DirectX 8/9, Xbox с использованием последних аппаратных особенностей, PS2 и GameCube, а также Xbox 360.
  3. Физическая система: поддерживает инверсную кинематику персонажей, транспортные средства, твёрдые тела, жидкость, тряпичные куклы (англ. rag doll ), имитацию ткани и эффекты мягкого тела. Система объединена с игрой и инструментами.
  4. Инверсная кинематика персонажей и смешанная анимация: позволяет модели иметь множественные анимации для лучшей реалистичности.
  5. Система игрового искусственного интеллекта: включает командный интеллект и интеллект, определяемый скриптами. Возможность создания особенных врагов и их поведения, не касаясь кода C++.
  6. Интерактивная динамическая система музыки: музыкальные дорожки отвечают действиям игрока и ситуации и предлагают качество CD-диска с полным 5.1 звуковым окружением.

————————————-

Construct Classic

Construct Classic - небольшая программа, основной функцией которой является создание игр, 2d-анимационных роликов и мультфильмов. Данный конструктор создан по принципу WYSIWYG. Это значит, что вам не предстоит для создания собственного анимационного ролика подолгу сидеть за учебниками программирования. Все гораздо проще - добавили какой-то объект, включили для него анимацию и он начинает двигаться.

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

Основные возможности Construct Classic:

  • Система редактирования событий и реакции на них посредством drag-n-drop.
  • Возможность использования огромного количества плагинов.
  • Программа создана на python, но дорабатывать ее можно на C++.
  • Есть возможность подключать пиксельные шейдеры на HLSL.
  • К программе можно подключать готовые исходные коды игр и приложений в формате САР.

Изменения в последней версии

  • Физика: Исправлен баг версии r1, когда физические объекты созданные после старта, могли улететь за экран на высокой скорости.
  • Поведение: Исправлен баг. когда вы не могли спрыгнуть с платформы. Вызван исправлением бага «приземления в воздухе» в версии r1. Оба исправления теперь работают.
  • Установщик: Исправлена проблема с установкой в версии r1.

————————————-

GameMaker: Studio

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

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

Основные возможности GameMaker: Studio:

  • Кроссоплатформенность. Без особых трудностей можно создавать игры для Windows, Android, Linux.
  • Удобное рабочее окно программы, где нет ничего лишнего.
  • Возможность создания небольших двухмерных игр за считанные часы.
  • Готовые приложения можно интегрировать со Steam.
  • К приложению можно подключать готовые шаблоны, пошагово менять пути, объекты, звуки, фоны, скрипты и делать из этого всего интересные и необычные игры.
  • GameMaker классно подойдет для разработки игр и приложений на мобильных платформах.

————————————-

Game Editor

Game Editor - бесплатный конструктор для создания несложных двухмерных игр для операционных систем Windows, Mac, Linux, IOS, Android. Создаваемые игры представляет собой набор игровых объектов, каждому из которых задается реакция на определенное событие, что определяет их поведение в игре.

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

Основные возможности Game Editor:

  • Простой и легкий для восприятия интерфейс.
  • Готовое приложение можно экспортировать на Windows, Linux, Android, IOS.
  • Созданную игру можно сразу протестировать, в любой момент остановить ее и снова начать редактировать.
  • Возможность использования графических файлов в форматах JPEG, GIF, PNG, BMP, PCX, TGA, XPM, XCF и TIF.
  • Возможность использования аудио файлов в форматах Ogg Vordis, MID, MOD, S3M, IT и ХМ.

————————————-

3D Rad

3D Rad - бесплатная программа для простого создания (без использования кода) различных ЗD-игр, интерактивных приложений и физических симуляций. Создание приложений в 3D Rad основывается на сочетании в различных комбинациях компонентов (объектов) и настройки взаимодействия между ними. Физика базируется на учете взаимодействия между объектами.

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

Основные возможности 3D Rad:

  • Создание качественных ЗD-игр.
  • Реалистичная физика взаимодействия объектов.
  • Возможность импорта моделей.
  • Качественная обработка графики.
  • Возможность применения искусственного интеллекта.
  • Возможность использования мультиплеера.
  • Высококачественные аудиоэффекты и музыка
  • Возможность встраивания игр на веб-страницы.

————————————-

Unreal Development Kit

Unreal Development Kit (UDK) - мощный бесплатный движок и среда разработки с огромными возможностями по созданию игр для большого количества платформ и операционных систем. Он содержит все инструменты для создания ЗD-игр, продвинутых визуализаций и детальных симуляций.

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

Основные возможности Unreal Development Kit:

  • Возможность создания игр для Windows, Mac OS, Xbox, PlayStation 3, Wii, Android.
  • Простой и удобный высокоуровневый язык программирования UnrealScript.
  • Реалистический свет, тени и эффекты.
  • Продвинутая физика поведения и взаимодействия предметов.
  • Поддержка LAN и прямого подключения к IP.
  • Возможность тестирования создаваемого приложения на любом этапе его проектирования.
  • Многопоточный рендеринг создаваемых игр.
  • Готовые шаблоны игр.

————————————-

NeoAxis 3D Engine

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

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

Основные возможности NeoAxis 3D Engine:

  • Установленная программа состоит из ряда отдельных приложений - конфигуратора, демонстрационных возможностей программы, редактора карт и редактора основного кода.
  • Приложения, разработанные с помощью среды NeoAxis, могут быть запущены на Windows и Mac OS X
  • Весь спектр возможностей встроенного NVIDIA PhysX. Поддержка регдолл и транспортных средств.
  • Встроенная поддержка синхронизации по LAN и интернет.
  • Приложение поддерживает огромный перечень языков, английский, украинский, русский есть в наличии.
  • Редактор построен очень удобно - все ресурсы программы четко структурированы по отдельным тематическим папкам.
  • Программа состоит из готовых наборов объектов, карт и моделей, поэтому разобраться в ней сможет любой школьник.

————————————-

Game Maker Lite

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

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

Основные возможности Game Maker:

  • Простой и интуитивно понятный интерфейс программы.
  • Встроенные уроки по созданию первых игр.
  • Программирование с помощью drag-n-drop.
  • Бесплатная коллекция бесплатных изображений и звуков для игр.
  • Возможность создания простых ЗD-игр.
  • Встроенный язык программирования Game Maker Language (GML), позволяющий разрабатывать более функциональные и интересные игры.

Внимание:

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

————————————-

Unity 3D

Unity 3D - мощная среда разработки, которая позволяет легко создать игру. Созданные с помощью Unity 3D игры и приложения работают в операционных системах Windows, OS X, Android. iOS, Linux, Blackberry а также на игровых приставках Wii, PlayStation 3 и Xbox 360. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL.

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

Основные возможности Unity 3D:

  • Широкие возможности настройки.
  • Доступный и понятный интерфейс.
  • Сценарии на С#. JavaScript и Boo.
  • Полная интеграция игрового движка со средой разработки.
  • Поддержка перетягивания объектов в редакторе.
  • Поддержка импорта большого количества форматов.
  • Встроенная поддержка сети.
  • Поддержка физики ткани (PhysX Cloth).
  • Возможность дополнения функционала.
  • Инструменты для совместной разработки.
  • Blender - бесплатный пакет для создания трехмерной (3D) компьютерной графики, содержащий средства моделирования, анимации, рендеринга, постобработки видео, а также создания игр. Функций Blender вполне достаточно для работы как обычным пользователям, так и профессионалам. В программе есть все основные инструменты, используемые в профессиональных ЗD-редакторах.

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

    Основные возможности Blender:

    • Поддержка разнообразных геометрических примитивов (включая полигональные модели, систему быстрого моделирования в режиме SubSurf, кривые Безье, поверхности NURBS, метасферы, скульптурное моделирование и векторные шрифты).
    • Универсальные встроенные механизмы рендеринга и интеграция с внешним рендерером YafRay.
    • Инструменты анимации, среди которых инверсная кинематика, скелетная анимация и сеточная деформация, анимация по ключевым кадрам, нелинейная анимация, редактирование весовых коэффициентов вершин, ограничители, динамика мягких тел, динамика твердых тел, система волос на основе частиц и система частиц с поддержкой коллизий
    • Python используется как средство создания инструментов и прототипов, системы логики в играх, как средство импорта и экспорта файлов, автоматизации задач.
    • Базовые функции нелинейного редактирования и комбинирования видео.
    • Game Blender - подпроект Blender, предоставляющий интерактивные функции, такие как определение коллизий, движок динамики и программируемая логика.

    ————————————-

    Stencyl

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

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

    ————————————-

    CraftStudio

    Добавляйте и изменяйте объекты в 3D пространстве, прописывайте сценарии и правила, рисуйте анимации и эффекты. Авторы CraftStudio продумали всё, чтобы создание игр на PC с нуля в реальном времени было понятным и увлекательным. При этом все инструменты для моделирования и анимаций встроены в программу и понятно обозначены. То же самое можно сказать и о визуальном редакторе сценариев. Что самое интересное — вы не обнаружите проблем с совместимостью форматов или их конвертацией. Для более продвинутых пользователей предусмотрен текстовый редактор Lua Scripting.

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

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