Как сделать графическую игру

Как сделать

Как создать игру, ничего не умея. Часть первая: модели и анимации

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

— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.

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

С чего начать?

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

Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).

Начнём создавать шедевр

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

Идём в интернет и спрашиваем «как нам начать использовать Unity?».

Запускаем Unity Hub.

Выбираем NEW и далее 3D проект, пишем название и местоположение проекта.

И открывается сама программа.

И тут, наверное, знатоки начнут кидаться картошкой со словами «Зачем столько воды? Все и так это знают» НО! Материал предназначен в первую очередь для тех, кто ничего не умеет, а не для гуру геймдева =).

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

Как создать модели для игры?

Я выбрал второй вариант. Отправляемся в AssetStore. Если у вас не активировалась ваша учетная запись, повторно входим в личный кабинет. И начинаем искать подходящие паки. Я нашел то, что нужно, примерно за 3 минуты по поиску knight. В паке, помимо моделей самих персонажей, были модели окружения. Купил за 10 долларов, нажал Import, поставил все галочки, и пропала проблема, неумения моделировать. 1/4 игры готово.

Сцена

Дальше начинается самое нудное. Нужно собрать рабочую зону (scene, сцену, кому как привычнее называть).

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

Далее добавляем персонажа (рыцаря, демона, ниндзю, тяночку, или кто вам больше по душе). Персонажа берем из папки Prefabs: мы уже знаем (вспоминаем, чему нас научили во вкладке Learn), что туда сохраняют полностью готовые объекты, персонажей и так далее.

И вот он, наш герой, который будет покорять всех и вся.

Анимация

Помните в рейде «Цитадель Ночи» в World of Warcraft был босс Алуриэль? Когда она произносила заклинания, то кричала «Аннигиляция, репликация, детонация, АНИМАЦИЯ. ». Нам необходимо с криком «Анимация!» наброситься на интернет и понять, как её сделать.

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

Что нужно в первую очередь? По мне — так научиться ходить и бегать. Возьмём анимацию ходьбы и бега.

Теперь создаём папку Animation в Unity и добавляем туда нашу анимацию. Начинаем настройку.

Вот мы и победили нашу анимацию! УРА! Теперь нам нужно подключить её к нашему персонажу. Вперед, к финишной прямой!

Выбираем персонажа, inspector, окно Animator, и в строке Controller нажимаем на кругляшок. Появится выбор, где мы и увидим нашу Animation, выбираем её и нажимаем на кнопку Play в Unity. Если вы всё сделали правильно, то сейчас должны наблюдать как ваш персонаж стоит, и у него проигрывается анимация Idle. То есть, он стоит и немного покачивается.

С анимацией разобрались, пора включать снова человека, который ничего не умеет =)

Скрипт W A S D

Анимация у нас есть, теперь нужно заставить нашего персонажа двигаться. Покопавшись в интернете, я узнал, что можно просто добавить компонент Character Controller. Так и сделаем — тыкнем Add Component, в поиск вбиваем Character Controller и добавляем его, в строке Center выставляем Y=1 (нужно, чтобы «яйцо» покрывало всего персонажа. Если у вас получилось меньше или больше, то просто настройте его вручную).

Читайте также:  Как сделать долговечные кудри

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour
<

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

Тут я немного поясню скрипт.

Верхние четыре строчки — это подключение библиотек, public class — название скрипта. Если у Вас скрипт называется Moving или что-то в этом роде, то поменяйте название. Учтите, к регистру скрипт тоже придирчив.

public float speed = 3.0F; public float rotateSpeed = 3.0F; — это скорость персонажа, настраивается по желанию. Далее идёт подключение управления Character Controller и, соответственно, анимации.

Перетаскиваем скрипт в Inspector персонажа и проверяем. It’s ALIVE.

Но есть нюанс: поворачивается наш персонаж слишком быстро и не подключена анимация бега. Скорость поворота лечится просто — выставляем в строке Rotate Speed 0.5, и наш персонаж больше не использует чит-крутилку из CS GO. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку

Если у Вас возникли вопросы, что такое Fire3, то ответ прост: это LShift, а проверить это можно, зайдя File->Build Setting->Player Setting->Input Manager. Эту информацию также не составило труда найти в интернете.

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

В итоге весь скрипт у нас получился такого вида

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour
<

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (Input.GetKey(KeyCode.LeftShift))
<
speed = 6.0f;
>
else
<
speed = 3.0f;
>

Всё проверили, всё работает, осталось только прикрепить камеру к персонажу. Без заморочек просто перетаскиваем Main Camera в нашего персонажа, далее её настраиваем как нам удобно, проверяем и празднуем ПОБЕДУ!

Заключение

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

Все описанное в этой статье было собрано без специальных знаний с помощью интернета.

Источник

Как создать игру без навыков программирования

Мечтаете создать свою игру, но мысли о том, что придётся учить языки программирования пугают вас? Вы гуманитарий? А может, у вас просто не хватает времени на изучение C# или Java? В любом случае, речь в этом посте пойдёт об игровых конструкторах. Для тех, кто не в курсе, это программы, в которых можно делать игры без написания кода. Конструкторы подходят для создания прототипов и участия в коротких Game Jams, которые сейчас популярны.

Первое знакомство

Однажды мне довелось побывать на мастер-классе по прототипированию у одного известного левел-дизайнера, работавшего в одной из крупнейших IT-компаний в России. На мастер-классе каждому участнику предложили создать свою игру за 1 час, а в конце часа показать игру остальным. То есть я первый раз запускаю программу и через час должен создать игру? Обладая некоторым опытом работы в программах, где необходимо писать код, я не поверил, что такое возможно. К моему удивлению, все (я в том числе) успели сделать свою первую маленькую игру. Пусть и простую, но в нее можно было играть. Так во мне зародилась любовь к конструктору под названием Clickteam Fusion 2.5 (раньше назывался Multimedia Fusion). Ещё популярными конструкторами являются Game Maker Studio и Construct 2. В основном, я работаю в Clickteam Fusion 2.5 (далее CF 2.5). На её примере раскрою принцип работы таких программ и их возможности.

Как это работает

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

При создании новой игры необходимо определить, для какой платформы хотите творить. Конструкторы дают возможность создавать игры для PC, IOS, Android, Html 5, Flash и т.д. Например, чтобы создать игру не только для PC, но и для IOS в программе CF 2.5, придётся докупить или скачать export module ios. Модуль конвертирует игру в код платформы – Xcode. Затем, через несколько нажатий, вы уже сможете тестировать игру на устройствах Apple (также нужен аккаунт разработчика Apple).

Читайте также:  Как сделать сыр в аэрогриле

Ваша игра будет состоять из кадров (сцен). В каждом кадре можно создавать объекты, которые помогут вам решить любую задачу. Например, если это главное меню и вы хотите создать кнопку «Start», вам необходимо создать объект «active».

Окно «Редактор кадра».

Нажимаем правую кнопку мыши и выбираем «Insert object».

Выбираем объект «active».

Затем, нужно вставить в объект изображение кнопки или нарисовать во встроенном редакторе. В этом окне также можно создать покадровую анимацию. Один объект может иметь несколько анимаций (герой стоит, герой бежит, герой летит).

Окно «Графический редактор».

Осталось придумать событие, которое будет происходить с этим объектом.
Для этого, переходим с вкладки «редактор кадра» на вкладку «редактор событий».

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

Если игрок нажимает левой кнопкой мыши на объект «Start», то —

— происходит переход на следующий кадр.

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

Ещё несколько примеров:
— Если объект «шар» коснулся объекта «шип», то на экране появляется надпись «вы проиграли», а объект «шар» меняет анимацию на «шар лопнул».
— Если прошло более 5 секунд с начала запуска кадра, то в правом верхнем углу появляется объект «аптечка».
— Если объект «птичка» коснулся объекта «червяк», то «червяк» исчезает, в объект «счётчик очков» прибавляется единица и один раз проигрывается звук «жалобный крик червя».

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

Active object – самый популярный объект, его используют для создания объектов взаимодействия (главный герой, враги, платформы, ящики и т.д.). Он может содержать много разных анимаций (герой стоит, герой бежит, герой стреляет), иметь встроенные стандартные механики движения и управления.

Counter object – создает всевозможные счётчики жизней, денег, очков и т. д. Может быть представлен как в виде цифр, так и в виде шкалы.

INI object – сохраняет данные после выхода игрока из игры. Можно использовать для сохранения месторасположения любых объектов в кадре.

Physic engine object – появление этого объекта в кадре создаёт гравитацию, параметры которой можно регулировать.

Joystick control object– для touch-устройств создаёт эмулятор джойстика.

IOS store object – даёт возможность сделать внутриигровые покупки для AppStore.

Admob object – позволяет поместить баннерную рекламу в игру.

Touch object – учитывает все касания к экрану touch-устройства. Например, можно создать такое событие:
если игрок одновременно коснулся экрана тремя пальцами, то игра останавливается на паузу.

Если что-то не получается

У CF 2.5 есть отличная техподдержка, которая в течение 24 часов всегда отвечала мне. Ещё у них неплохой форум, на котором выложено много готовых кусков игр и рассказывается, как работать с новыми объектами. Не знаю, как дела с технической поддержкой у других конструкторов, но думаю, не хуже. Game Maker более популярен, чем CF 2.5 и, как мне кажется, тоже должен иметь хорошую поддержку. Один мой знакомый работает на Construct 2, он никогда не слышал, чтобы возникали трудности. А на youtube.com выложено много роликов, где разжёвывают создания популярных механик для большинства конструкторов.

Список популярных игр созданных на конструкторах

Источник

Как создать игру на компьютере самому с нуля: делаем мини игру про птичек + исходники кода с игрой

Приветствую тебя мой читатель. Хотел научиться делать игру? Тогда тебе сюда!. Играя в rpg или стрелялку вы могли задумываться, а как создать свою собственную игру? Какие знания требуются, и сколько займёт время? В этой статье я расскажу, как создать игру на компьютере самому с нуля и вы получите для скачивание ГОТОВЫЕ исходники кода для запуска игры на своем ПК.

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

В статье вы узнаете как создать игру на компьютере самому с нуля с помощью блокнота ( Картинки рисую в фотошопе исходники в группе ВК ).

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

Как создать игру на ПК: с чего же начать?

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

Читайте также:  Как сделать дезодорант в домашних условиях

У каждого варианта свои преимущество и недостатки.

Минус – вам придётся потратить время на продвижение, раскрутку сайта или же найти сторонний ресурс и там опубликовать игру.

Сколько я смогу заработать?

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

Площадки для размещения проектов.

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

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

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

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

Что из себя представляет данная технология?

Существует официальное определение, что HTML 5 – это последняя версия языка разметки для web страниц, которая официально используется во всем мире. Теперь она стала ещё более усовершенствованной, появились новые теги и функции JavaScript, позволяющие добавлять картинки. Изображения – основная составляющая при геймдизайне.

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

Как создать игру на компьютере самому с нуля: пошаговая инструкция на примере html5?

Забудете указать canvas с id, контекст вернет null. Когда всё сделано правильно, можно нарисовать первую фигуру и оставить надпись сверху.

beginPath и closePath – начинает и завершает контур зарисовки.

Полностью код, можно увидеть ниже.

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

Запишем в код перед draw, два метода diff и dist и вызови dist в конце функции

Dist принимает четыре параметра, первые два X и Y героя, последние два – координаты противника. Чтобы увидеть результат нужно прописать условие, при котором будут срабатывать действия, в нашем случае, элементарное перекрашивание противника в красный цвет. В начале функции укажите координаты соперника

и запишите вот так.

Совет: большинство новичков допускают ошибки, в коде из-за чего перекрашивается один объект, и меняют цвета ещё несколько. В нашем случае произошло тоже самое, и вместе с кругом врага поменялся и цвет текста. Save restore – могут исправить положение. Просто окружите ими цикл for в функции draw и при запуске вы увидите следующее.

В целом должно получиться вот так:

После этого противник начнёт свою охоту, за героем.

Осталось сделать атаку и поражение. Добавим ещё две новых переменных

Запускаем в начале update.

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

Перечислю новые классы и методы.

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

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

Учитывайте это при создании будущих игр в html5.

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

Задний и передний план, отображает облака и землю.

Полёт птицы, и проигрыш в случае падения на землю. Весь код прокомментирован.

Стартовое и конец игры сообщения.

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

Заключительный этап показ всех элементов на холсте.

Чтобы всё заработала, в html документе создайте, следующий код:

СКАЧАТЬ ИСХОДНИКИ ИГРЫ И САМИ ИГРЫ МОЖЕТЕ ПО ССЫЛКЕ НИЖЕ:

В заключении хотелось бы отметить. Как заработать на html играх. Самый действенный способ разместить, рекламу, перед загрузкой игры. Платят за переходы. Ещё можно придумать, платные фишки. Если игрок заплатит, то получит дополнительные предметы, артефакты и доступ к секретным уровням. World of Warcraft, зарабатывает именно таким образом. На этом у меня всё, исходники прилагаются.
Если материал был интересен не забывайте сделать репост и поставить лайк. Всех благ.

Источник

Adblock
detector