Содержание:
У некоторых пользователей, увлекающихся компьютерными играми, иногда возникает мысль о создании собственного проекта. Однако так просто его не реализовать, ведь одной идеи недостаточно. Как минимум придется освоить специальное программное обеспечение или онлайн-сервис, но в идеале надо будет запастись знаниями языков программирования. В рамках сегодняшней статьи мы продемонстрируем три возможных метода, позволяющих создать игру, а вы, отталкиваясь от увиденного материала, присмотрите подходящий вариант и начнете обучение.
Создаем собственную компьютерную игру
Приведенные ниже руководства помогут только разобраться с принципом создания игр с помощью разных инструментов, они не являются универсальными или полноценными уроками, освоив которые, можно стать профессиональным разработчиком. Мы предлагаем использовать их как ознакомительное средство, наталкивающее на последующее обучение геймдеву.
Еще рекомендуем обратить внимание, что дальнейшая информация будет ориентирована именно на компьютерные игры. Если же у вас появилось желание делать мобильные проекты, советуем ознакомиться с другим материалом на нашем сайте, щелкнув на указанную далее ссылку.
Подробнее: Способы создания игры на Android
Способ 1: Программы для создания игр
В первую очередь рассмотрим специальные программы, которые позволяют создать проект без навыков программирования. Сегодня мы остановимся на известном варианте. Game Maker – одна из самых простых и популярных программ для создания 2D-игр. Здесь доступно создание игр с помощью интерфейса drag’n’drop или же используя встроенный язык GML (с ним-то мы и будем работать). Гейм Мейкер – это лучший вариант для тех, кто только начинает разрабатывать игры.
- Переходим во вкладку «New» и создаем новый проект.
- Создадим спрайт. Нажмите правой кнопкой мыши на пункте «Sprites», а затем — «Create Sprite».
- Задаем ему имя, пусть будет player, и нажимаем «Edit Sprite». Откроется окно, в котором мы сможем изменить или создать спрайт. Создадим новый спрайт, размер менять не будем.
- Дважды нажмите на новом спрайте. В открывшемся редакторе появляется возможность нарисовать спрайт. В данный момент мы рисуем игрока, а именно танк. Сохраняем наш рисунок.
- Чтобы сделать анимацию нашего танка, скопируйте и вставьте изображение комбинациями Ctrl + C и Ctrl + V соответственно и нарисуйте ему другое положение гусениц. Позволяется делать столько копий, сколько посчитаете нужным. Чем больше изображений, тем интереснее анимация.
- Можете поставить галочку напротив пункта предпросмотра. Вы увидите созданную анимации и сможете изменить скорость изменения кадров. Сохраняем изображение и центрируем его кнопкой «Center». Наш персонаж готов.
- Таким же образом нам нужно создать еще три спрайта: враг, стена и снаряд. Назовем их enemy, wall и bullet.
- Теперь необходимо создать объекты. На вкладке «Objects» нажимаем правой кнопкой мыши и выбираем «Create object». Создадим объект для каждого спрайта: ob_player, ob_enemy, ob_wall, ob_bullet.
- Переходим к сложному. Открываем объект ob_player и переходим во вкладку «Control». Создаем новое событие кнопкой «Add Event» и выбираем «Create». Правой кнопкой мыши жмем на пункт «Execute Code».
- В открывшемся окне нужно прописать, какие действия будет выполнять наш танк. Наберите такие строчки:
hp = 10;
dmg_time = 0;
- Создайте событие «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);}
} - Добавьте событие «Collision» – столкновение со стеной. Код:
x = xprevious;
y = yprevious; - И так же добавьте столкновение с врагом:
if dmg_time <= 0
{
hp-=1
dmg_time = 5;
}
dmg_time -=1;
- Событие «Draw»:
draw_self();
draw_text(50,10,string(hp)); - Добавьте "Step" - "End Step":
if hp <= 0
{
show_message('Игра окончена')
room_restart();
};
if instance_number (ob_enemy) = 0
{
show_message('Победа!')
room_restart();
} - Когда закончили с игроком, переходите к объекту ob_enemy. Добавьте событие «Create»:
r=50;
direction = choose(0,90,180,270);
speed = 2;
hp = 60; - Для движения добавьте «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; - «End Step»:
if hp <= 0 instance_destroy();
- Создайте событие «Destroy», перейдите во вкладку «Drawing» и в пункте «Other» нажмите на значок со взрывом. Теперь при убийстве врага будет анимация взрыва.
- Событие «Collision – столкновение со стеной»:
direction = - direction;
Событие «Collision – столкновение со снарядом»:
hp-=irandom_range(10,25)
- Так как стена у нас никаких действий не выполняет, переходим к объекту ob_bullet. Добавляем столкновение «Collision с врагом» (ob_enemy):
instance_destroy();
И «Collision со стеной» (ob_wall) с точно таким же кодом:
instance_destroy();
- Наконец создадим уровень «Level 1». Нажимаем правой кнопкой мыши «Room» > «Create Room». Перейдем во вкладку «Objects» и с помощью объекта «Стена» нарисуем карту уровня. Потом добавим одного игрока и несколько врагов. Уровень готов!
- Сейчас нам доступен запуск игры и ее тестирование. Если вы следовали инструкции, багов быть не должно.
При создании объекта стена поставьте галочку напротив пункта «Solid». Это сделает стену твердой, и танки не смогут проходить сквозь нее.
Мы рассмотрели Game Maker только в качестве самого простого примера, однако сейчас пользователям доступно множество самых разнообразных подобных приложений для создания игр без знания ЯП. Поэтому у юзера открывается широкий выбор подходящего инструмента.
Читайте также: Программы для создания игр
Способ 2: Онлайн-сервисы
На просторах интернета присутствует множество различных онлайн-сервисов, чья функциональность сосредоточена на выполнении каких-либо задач. Среди подобных веб-ресурсов присутствуют и те, которые помогут создать простую игру без навыков программирования. В большинстве случаев пользователю предлагают воспользоваться встроенными скриптами и библиотекой текстур, персонажей, дополнительных предметов. Давайте рассмотрим пример создания подобного проекта на примере редактора от Gamefroot:
- Перейдите по указанной выше ссылке, чтобы попасть на официальный сайт проекта, где нажмите на большую зеленую кнопку с надписью «Start Making».
- По прохождении авторизации будет предложено выбрать игровой жанр. Для ознакомления мы возьмем платформер со встроенным уроком от разработчиков.
- После открытия редактора справа появится навигационная панель с ознакомительными инструкциями по данному приложению. Для начала урока потребуется кликнуть на «LET`S GO».
- Далее нужно будет ознакомиться с каждым шагом, в которых описывается процесс взаимодействия с редактором. Приведенные инструкции помогут разобраться с основами игрового строительства и использованием всех инструментов.
- Мы не будет затрагивать начальное окно игры, поскольку оно и так настроено корректно по умолчанию. С этим вы разберетесь в будущем, если захотите работать над индивидуальным проектом. Сейчас переместитесь во вкладку «Game».
- Здесь вам понадобится знать о трех основных областях рабочей среды. Слева находятся все инструменты управления, добавление предметов, блоков и скриптов. Посередине располагается сам игровой экран, а ниже показана вся карта. Справа отображено небольшое окно со всеми присутствующими слоями и функциями управления ими. Оно может свободно перемещаться по всей области вкладки.
- Давайте посмотрим, как действует слой главного персонажа. Выберите строку «Player», после чего вокруг человечка появится синий прямоугольник. Он отвечает за перемещение и трансформацию объекта. То есть вы можете поставить его под любым углом, изменить размер или изначальное положение на карте.
- Следующий слой «GrassTerrain». Сюда вынесены все блоки, по которым передвигается персонаж. Обратите внимание на доступные блоки слева. Вы можете выделить их и поместить в любое место на игровой зоне, чтобы продлить карту для перемещения персонажа.
- В этой же панели чуть ниже находится раздел «Collectables», который отвечает за добавление золота и других предметов коллекционирования. На этом примере мы рассмотрим создание и доработку нового слоя. Сначала создайте новую строку в «Layers» и дайте ей название. Затем выделите ее и поместите необходимое количество монет на карту.
- Примерно такие же действия осуществляются с чекпоинтами, завершающими точками, NPC и другими игровыми элементами. Желательно каждый тип объектов добавлять в новый слой, чтобы потом не только не запутаться, но и не совершить ошибки с присвоением скриптов.
- Сейчас вернемся к нашим монетам. Переместитесь в раздел «Scripts» через самую левую панель. Где опуститесь вниз и нажмите скрипт под названием «Score Collectable». Затем выбранным скриптом следует щелкнуть по каждой монете. Таким образом, вы обеспечите корректное коллекционирование и обозначите те самые элементы.
- В режиме редактирования каждого готового скрипта присутствует множество полезных настроек, о которых говорится в официальных уроках. Здесь вы можете добавить звуки, настроить анимацию и другие действия, которые будут выполняться при достижении определенных условий.
- Однако это еще не все. Присутствует функция собственноручного строения скриптов, которая позаимствована из известного многим софта для детей, обучающего программированию. Здесь слева выделены все отдельные действия. С помощью них составляется единая таблица скрипта, образующая ряд действий, выполняемых после достижения указанной цели, например, подбора монеты или попадания в кадр NPC.
- Если во время разработки вы захотите протестировать работоспособность игры, кликните на кнопку «Play», располагающуюся справа вверху.
- Начнется запуск приложения. Он занимает определенное количество времени, что зависит от сложности проекта и мощности компьютера.
- Далее отобразится стартовое окно, где нужно начать игру или проверить действие, например, кнопки «Help».
- Перемещайтесь по карте с помощью стрелочек или заданных клавиш управления. Обязательно проверьте действенность всех добавленных скриптов в разных ситуациях, чтобы в будущем не возникло проблем с прохождением у других игроков.
- По завершении разработки игры или надобности сделать перерыв вы можете сохранить процесс или экспортировать файл на компьютер. Полноценная загрузка готового проекта доступна только после приобретения расширенной версии данного онлайн-сервиса.
Как видите, ничего сложного в создании игры через Gamefroot нет. От пользователя требуется только разобраться со скриптами, что, пожалуй, является самой сложной частью этого метода. В остальном же остается только проявить креативность и использовать фантазию, чтобы получить по истине хороший и играбельный продукт без задействования навыков программирования. К тому же функциональность этого веб-ресурса позволяет работать со многими жанрами, а также можно начать работу полностью с чистого листа.
Как уже было сказано ранее, подобных Gamefroot сервисов существует множество, все они работают примерно по одному и тому же принципу. Однако у вас вряд ли получится найти сайт с русской локализацией, поэтому придется осваивать английский язык интерфейса.
Способ 3: Среда разработки и язык программирования
Мы подошли к самому сложному, но в то же время интересному способу — использование языка программирования в качестве инструмента для написания собственной игры. Сразу хотим отметить, что сейчас мы не предоставим единственную универсальную инструкцию, которая поможет разобраться со всеми аспектами, поскольку составить такой материал нереально. Взамен предоставим наводящие материалы для тех, кто заинтересован в обучении и дальнейшем развитии своей личности в сфере геймдев.
Для примера возьмем известную миллионам игру Minecraft. Конечно, она достаточно проста, но в то же время показывает, что даже один человек может собственными силами создать проект с нуля, который станет популярным у всего мирового сообщества. Данное приложение изначально писалось на языке Java, а трудился над ним Маркус Перссон (Notch). Из этого выходит, что практически любой пользователь, начав изучение Java, сможет достичь хотя бы немного приближенного результата, написав свой собственный проект. Однако для этого придется немало трудиться. Существуют специальные факультеты в университетах, обучающие основам программирования, но не все хотят подаваться в ВУЗ, потому обращают больше внимания на платные курсы или бесплатные материалы, учебники. Все их не перечислить, укажем лишь один из известных сервисов для начинающих под названием JavaRush.
Весь курс основан на практических занятиях с подробным и понятным объяснением. Первые уроки доступны бесплатно, чтобы пользователь смог понять, стоит ли в дальнейшем уделять внимание подобному обучению. Ориентировка здесь идет на тех юзеров, кто никогда ранее не сталкивался с кодингом, а объяснения, иллюстрации и подача материала особенно заинтересует подростков. Однако есть у этого сервиса и минусы, среди которых очень сильно выделяется затянутость уроков и огромное количество повторов одного и того же материала, что в будущем начинает раздражать. Попробуйте ознакомиться и пройти уроки на JavaRush, воспользовавшись указанной ниже ссылкой.
Перейти к обучению на сайте JavaRush
Простые приложения можно создавать и на тех языках, которые изучить более легко. Например, сейчас достаточно быстро развивается Python, а на рынке появляется множество вакансий для Python-разработчиков. На скриншоте ниже вы видите практически полный фрагмент кода, описывающий известное приложение «Змейка».
Теперь посмотрите на то, как выглядит эта игра на скриншоте далее. Подобного результата можно достичь уже спустя две недели обучения, однако для этого придется приложить немало усилий.
Что касается проектов AAA-класса, то Java и тем более Python значительно сдают свои позиции перед C и C++. Преимущественное большинство игровых движков написаны именно на этих ЯП. Они разрабатываются специально для крупных компаний или заимствуются у независимых производителей. Вдобавок к этому в огромных проектах нередко задействовано сразу несколько языков программирования, что задает надобность программистам изучить их все. Из этого выходит, что начать свое движение на пути разработки крупных проектов не так уж и просто. Для этого точно понадобится записаться на онлайн-курсы или поступать в высшее учебное заведение. Если вы заинтересовались этим делом, ознакомитесь с одним из самых известных курсов по созданию игр от GeekBrains по указанной ниже ссылке.
Ознакомиться с курсом обучения по разработке игр на GeekBrains
Во время изучения ЯП следует позаботиться и о среде разработки, где будет писаться код. Разобраться с этим поможет наш отдельный материал далее, где подробно рассказывается о самых популярных и качественных IDE для разных языков.
Подробнее: Выбираем среду программирования
Выше вы были ознакомлены с тремя разными методами создания компьютерных игр. Как видите, все они различаются по сложности и качестве получаемого продукта. Поэтому выбор остается за вами — сделать простой проект быстро, не используя навыков программирования, либо пройти большой и сложный курс обучения, получив возможность стать профессионалом в этом деле.
Наш Telegram каналТолько полезная информация
моей первой игрой в гейммейкере был пакман. делал его по мануалу и вроде ничего сложного небыло. потом в тренде была игра флэппи бирдс и я пытался создать аналог на компьютере. нарисовал фон, трубы, пытался реализовать. вроде началобыло неплохое, но вот н смогдо конца довести проект, чтобы рандомно генерировались эти трубы.. в итоге забросил потом и вовсе потерял исходник.. теперь жалею об этом
Хотелось бы подробно по книге изучить все нюансы. Где можно её скачать, либо читать?
спасибо за статью!теперь соображаю в програме!
Когда один танк умерает, все разом исчезают…
Как сделать так, чтобы игру можно было ез гейм макера сделать? То есть я наклепал её и хочу другу показать. Гейм макера у него нет, а скачать не хочет.Как вообще запустить сделанное в гейм макеребез гейм макера?
Можно сделать экспорт в .exe файл игры .
а как сделать игру? а
да и все это потомучто тут есть коле кокой впуск в програму