Как создать игру найди предмет

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

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

На изображении ниже показан пример hidden object, с простой графикой. Цель игры — найти все объекты, перечисленные в текстовом поле внизу, и щелкнуть по ним, чтобы их убрать.

Для работы вам понадобится:

  1. Unity: для создания игры.
  2. знание C#.
  3. Материалы для создания локации (скачать здесь).
  4. Графические элементы (скачать).
  5. Звуковые эффекты (скачать).

Если у вас нет Unity. то вы можете загрузить бесплатную персональную версию по ссылке. Также вам потребуется текстовый редактор для работы с исходным кодом. Мы предлагаем использовать Brackets.

Первые шаги

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

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

Создаем пустую комнату и экспортируем ее в качестве PNG файла:

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

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

Работа с кодом

Запустите Unity и создайте новый проект на вашем диске

Выберите 2D-шаблон:

На вкладке Project ⇒ Assets ⇒ Scenes переименуйте SampleScene в Room1:

На вкладке Project ⇒ Assets создайте 3 новые папки: Backgrounds, Furnitures, Scripts, как показано на изображении ниже.

Добавьте изображение комнаты на вкладку Project ⇒ Assets ⇒ Backgrounds (путем перетаскивания).

То же самое проделайте с мебелью:

Добавьте фон в меню Hierarchy

Нажмите на фоновый объект и в меню Inspector измените значение rder in Layer на -10.

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

Чтобы иметь возможность работать с объектами, которые скрыты, нужно прописать отрицательное значение.

Добавьте предметы мебели и разместите их в нужное место (на свое усмотрение).

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

Теперь в разделе «Hierarchy» выберите все объекты, которые будут активными.

В Инспекторе нажмите «Добавить компонент» и выберите «Box Collider 2D».

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

В Box Collider выберите Is Trigger, как показано на изображении ниже.

В данный момент область коллайдера объектов слишком велика и требует правок для каждого из них. Выберите объект (Hierarchy) ⇒ Edit Collider (Inspector) ⇒ измените размер зеленой рамки вокруг объекта.

Теперь вам нужны связанные текстовые объекты. Hierarchy ⇒ Create ⇒ Create Empty:

В конец списка добавляется новый GameObject. Переименуйте его в Blocks_txt.

Inspector⇒ Add Component ⇒ Mesh ⇒ Text Mesh:

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

Установите для Anchor значение Middle Center, как показано на изображении ниже.

Inspector> Transform: поместите текстовый объект в правильное место

Повторите эти действия для каждого объекта,

Теперь перейдем к небольшой части сценария.

В Project ⇒ Scripts создайте сценарий C# (Context menu ⇒ Create ⇒ C# Script) и назовите его ClickControl.

Дважды щелкните его, чтобы войти в редактор и изменить public class на ClickControl.

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

Добавьте код:

public static string obj_name;
public GameObject obj_txt;

void OnMouseDown()
{
//Link the object and the text
obj_name = gameObject.name;
//Debug.Log (obj_name);
//Destroy the object and the text
Destroy (gameObject);
Destroy (obj_txt);
}

Hierarchy ⇒ select all objects. Project ⇒ C# file ⇒ перетащить ⇒ Inspector. Это добавляет сценарий к объектам.

Hierarchy ⇒ выберите объект Blocks.

Hierarchy ⇒ Blocks text ⇒ перетащите Obj_txt в ClickControl (Inspector). Теперь текст связан с объектом.

Свяжите все объекты с текстом и протестируйте результат.

Расширение геймплея

Чтобы игрок не халтурил и не кликал по всей локации, пытаясь «на ощупь» найти загаданные предметы, целесообразно ввести за это штраф.
Вам потребуется новый скрипт C #.

Назовите его ClickTrack.

Добавьте этот скрипт в GameObject и выберете спальню, как показано на изображении ниже:

Добавьте новый GameObject для текстового поля и дочерний GameObject для самого текста:

Добавьте папку Sounds в Assets и добавьте звуковой файл в эту папку.

Замените код ClickTrack следующим содержимым:

public static int TotalClick = 0;
public KeyCode MouseClick;
public AudioClip bcgMusic;
public GameObject myGameObject;

void Start()
{
myGameObject.SetActive(false);
}

void Update()
{
if (Input.GetKeyDown (MouseClick))
{
TotalClick += 1;
}

if (TotalClick >= 5)
{
TotalClick = 0;
AudioSource.PlayClipAtPoint(bcgMusic, transform.position);
StartCoroutine(Wait5Sec());
}
}

IEnumerator Wait5Sec()
{
myGameObject.SetActive(true);
yield return new WaitForSeconds(5.0f);
myGameObject.SetActive(false);
}

В коде, созданном в предыдущей главе (ClickControl), нам нужно повторно инициализировать счетчик при щелчке по объекту. После MouseDown добавьте следующую строку:

ClickTrack.TotalClick = 0;

Теперь вам нужно назначить значения для переменных, определенных в скрипте. В GameObject в разделе Click Track (Script) выполните следующие действия:

установите значение Mouse Click на Mouse 0
перетащите звуковой файл в Bcg Music
перетащите Wait_Box в My Game Object

Анимация объектов

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

В иерархии создайте Particle System, как показано на рисунке:

В меню Inspector настройте частицы по своему усмотрению, например, такВ Project> Assets создайте новую папку с именем Prefab. Перетащите вашу систему частиц в Prefab и удалите gameObject из Hierarchy:

Частицы должны срабатывать при нажатии на gameObject. Для этоо вам нужно изменить скрипт ClickControl.

Откройте скрипт и добавьте следующее:

public Transform MyPartSys;

И добавьте в OnMouseDown следующее:

 
Instantiate(MyPartSys, obj_txt.transform.position, MyPartSys.rotation);

Вернувшись в Unity, выберите все удаляемые gameObject и добавьте префаб частиц в My Part Sys под частью скрипта в меню Inspector, как показано на изображении ниже:

Создание кнопки помощи

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

Для этого вам нужно создать кнопку «Помощь».

Для начала добавьте в Иерархию изображение шара, Hint_btn, и мерцание hintSparkles:

Теперь создайте новый скрипт C # HintButton:

В скрипте HintButton добавьте следующие переменные:

public float myAlpha = 0;
public float colortimer = 0;
public static string hintready = "n";
public static string hintused = "n";

public GameObject MyPartSys;

В Start добавьте следующий скрипт:

GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, myAlpha);
MyPartSys.gameObject.SetActive(false);

Также необходимо добавить еще один скрипт в раздел Update:

colortimer += Time.deltaTime;
if (( colortimer >= .5) && (myAlpha < 1))
{
myAlpha += 0.05f;
colortimer = 0;
}
GetComponent<SpriteRenderer>().color = new Color(1,1,1, myAlpha);
if (myAlpha >= 1)
{
hintready = "y";
MyPartSys.gameObject.SetActive(true);
}

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

private void OnMouseDown()
{
if (hintready == "y")
{
hintused = "y";
myAlpha = 0;
GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, myAlpha);
MyPartSys.gameObject.SetActive(false);

}
}

Добавляем скрипт в Hint_btn.

Добавьте hintSparkles к кнопке Hint Button (Script) ⇒ My Part Sys, как показано ниже:

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

Добавьте эту переменную в скрипт ClickControl:

public int randNumb = 0;

Теперь добавьте код код в раздел Update:

if (HintButton.hintused == "y")
{
randNumb = Random.Range(1, 12);

if ((gameObject.name == "br1_alarm") && (randNumb == 1))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_blocks") && (randNumb == 2))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_flowers") && (randNumb == 3))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_framered") && (randNumb == 4))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_lamp") && (randNumb == 5))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_laptop") && (randNumb == 6))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_plane") && (randNumb == 7))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_plant") && (randNumb == 8))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_plant2") && (randNumb == 9))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_tower") && (randNumb == 10))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}
if ((gameObject.name == "br1_train") && (randNumb == 11))
{
GetComponent<SpriteRenderer>().color = new Color(1, 0, 0);
HintButton.hintused = "n";
}

}

Нажмите » Play», чтобы проверить как работает игра!

Несколько слов о дизайне уровней

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

1. Стадия проектирования:
Смысл состоит в том, чтобы построить сцену из 3D-моделей, а затем визуализировать линейную графику.

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

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

Затем нужно вручную расскрасить все элементы локации и добавить тени.

На этом этап проектирования завершен.

2. Этап арт-обработки

Теперь нужно визуализировать 3D-изображение и переделать его в 2D.

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

Наиболее важные работы, которые необходимо выполнить на этом этапе:

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

3. Размещение объектов для поиска

Последний этап включает в себя размещение объектов для поиска.

Далее вы можете использовать приемы, описанные в предыдущих разделах этой статьи.

Поиск предметов

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

Создайте игру «найди отличия»
или проверьте знания

  • Обучение в игровой форме

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

  • Подходит для спецпроектов

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

  • Устройте соревнование

    Вовлекайте пользователей при помощи инструментов геймификации. Добавьте таймер и рейтинг игроков – и ваша игра превратится в настоящее соревнование.

Что такое Поиск предметов?

Не знаете об этой интерактивной механике? Посмотрите это короткое поясняющее видео.

Посмотрите в действии!

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

Попробуйте Interacty бесплатно

Отличный день, чтобы попробовать что-то новое!

1_qDHYPirBJ_EhFEJrckK-Lw

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

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

  • на внимательность, 
  • квизы
  • горячие точки

Как это сделать, вы узнаете в данном видео.

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

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

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

Найди отличия

(Посмотреть в отдельном окне)

Другие шаблоны предлагают нам несколько вариантов их использования. Фактически это возможность реализации технологии горячих или активных зон. И здесь можно реализовать различные варианты. К примеру. в тесте на внимательность. Мы можем загрузить изображение, где предлагает найти соответствующие объекты. А можем вставить какие-то новые объекты и слегка «закамуфлировать» их. В одной из статей Дидактора было описано, как это сделать. Эта идея реализована в следующем интерактивном упражнении.

Найди 10 обезьянок

(Посмотреть в отдельном окне)

И, конечно, же мы можем использовать шаблон «Поиск предметов» в предметных целях. То есть ученик должен найти те объекты, которые ему предложил учитель. Более того, учитель может добавит заголовки и даже описание, а также вставить ссылки на внешние образовательные ресурсы. Что, безусловно, придаёт бóльшую интерактивность и полезность использования шаблона. К примеру, так можно реализовать наши идеи на уроке географии.

УКАЖИ НА КАРТЕ

(Посмотреть в отдельном окне).

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

Найди числа

(Посмотреть в отдельном окне)

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

Рекомендации от создателей квестов с поиском предметов.

Коллективный блог «Манжеты ГД», посвящённый геймдизайну, опубликовал заметку комьюнити-менеджера Daily Magic Productions Анны Лунёвой об основах квестов с поиском предметов.

Анна Лунёва, комьюнити-менеджер в Daily Magic Productions

Hidden Object Puzzle Adventures, или квесты с поиском предметов — очень любопытный жанр. Они прошли путь от HOG (hidden object game), в которых геймплей был похож на картинку «найди зайца» из журнала «Мурзилка», до полноценных сюжетных квестов с интерактивом и головоломками.

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

Для нашей студии HOPA-игры — это не только стабильный источник дохода, но и большая любовь. С играми ведь как? Хочешь сделать хорошую игру — делай такую, в которую сам бы с удовольствием играл.

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

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

Сочините интересную историю

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

Вот, к примеру, формула одного из самых успешных наших HOPA-сериалов: «Sable Maze»: «История о мистическом событии в прошлом, которое послужило причиной возникновения Лабиринта. История жизни главного героя оказывается связана с этим событием, и герой попадает в Лабиринт, чтобы исправить ошибки прошлого»

Sable Maze: Twelve Fears. Вход в Лабиринт Страха

Дальше идут уже «навороты»: к примеру, в Sable Maze: Twelve Fears герои блуждают по ярмарочной галерее ужасов, в которой под воздействием наркотического газа оживают их глубинные страхи; во второй игре серии Norwich Caves — по запутанной сети пещер под университетом; в Sinister Knowlege — по старинной библиотеке, попадая при этом в сюжеты любимых с юности книг.

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

— Сюжет должен разворачиваться «задом наперёд»: не стоит в первой же сцене сообщать игроку, что убийца — садовник. Дайте ему размотать клубок, начиная с самой тоненькой ниточки.

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

Сделайте вашу историю достоверной

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

Sable Maze: Sinister Knowledge. Локация, выдержанная в стиле вампирской готики

Заставьте графику заговорить

Кстати, о деталях — не всем очевидно, что визуальная составляющая в HOPA тоже работает на сюжет. Частая ошибка разработчиков — рисовать локации «чтоб было красиво». Да, арт должен радовать глаз. Но главное — он должен рассказывать вашу историю! Пусть, взглянув на одежду персонажа, игрок сможет составить его примерный психологический портрет, а оглядевшись в его комнате — догадаться, что тот делал, прежде чем её покинуть. Не управляйте игроком одними только записками-нарративками, не заставляйте его чувствовать себя марионеткой на ниточках. Дайте ему возможность подумать!

Sable Maze: Sinister Knowledge. Фотографии на стене рассказывают игроку о путешествиях хозяина библиотеки

Сделайте мини-игры и сцены поиска предметов частью повествования

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

Sable Maze: Sinister Knowledge. Полевой штаб археологов, где игрок должен найти досье и распечатать себе пропуск в библиотеку

Катсцены и диалоги не должны выбиваться из геймплея

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

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

Sable Maze: Soul Catcher. Герой подходит к палаточному лагерю, где его друзья заняты обычными вечерними делами

Создайте атмосферу

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

Harrowed Halls: Lakeview Lane. Чувствуете, какой промозглый туман, и мёртвая тишина стоят в этом месте?

Добавьте аддиктивности

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

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

При повторном прохождении, когда внимание игрока уже не так поглощено сюжетом, он может сосредоточиться на поиске деталей для финальной головоломки (или старинных монет для коллекции, или обрывков старого семейного фото)… а вдруг эти «хлебные крошки» заведут его в какие-то неисследованные ранее закоулки сюжета?

Yuletide Legends: The Brothers Claus. Поиск коллекционных статуэток сделает ваше рождественское приключение ещё увлекательнее

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

Разработчики Yuletide Legends: The Brothers Claus в интерьерах созданных ими локаций

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

image

Идея создания собственной игры появилась у меня год назад, после того как мне посчастливилось побывать на международном финале конкурса Imagine Cup 2012 и я узнал, что в 2013 году в номинациях этого конкурса появилась категория «Игры».

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

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

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

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

  • Дружной
  • Амбициозной
  • Способной 200% времени выделить на проект
  • Обладающей гибким мышлением
  • Мотивированной

«Как мотивировать членов команды?» — Их не надо мотивировать. Если проект здравый, все четко спозиционировано, то люди сами должны мотивироваться этими вещами. Если человек быстро теряет интерес, и каждый раз нужно предпринимать усилия для повторного его включения в процесс, значит это не тот человек для стартапа. Человек без внутренней мотивации вреден для команды.

image

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

image

Наверное, как и в любом стартапе, свои первые встречи мы проводили в уютных кафешках нашего города Пермь, где мы придумывали концепцию нашего будущего проекта. Сначала мы просто собирались и обсуждали, что каждому из нас хочется сделать и как он видит наш будущий проект. Идей было очень много. Все записывалось на листочек, а на следующий день перечитывалось. Больше половины вычеркивалось. Несколько встреч мы просто играли в разные популярные игрушки на мобильных платформах (iOS, Android, WP) и отмечали те моменты, которые нам очень понравились и не очень.

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

image

Это неплохо, но мы решили, что хотим пойти по другому пути — и попытаться в нашей игре каждый новый уровень удивлять игрока, давая ему попробовать новую игровую механику или отправляя его в полностью уникальную неповторимую локацию. Вдохновением и эталонами различных жанров для нас были следующие игры — Fruit Ninja, Joypack Joiride, 4 Elements, Temple Run и Path of Kara.

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

image

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

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

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

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

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

image

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

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

Ближайшие аналоги: Mystery Manor, Mysteryvile 2

imageЖукобойня — Основным ингредиентом любого зелья является Мега-Босс, который появляется только в экстренных ситуациях, например, массовая смерть его сородичей.

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

Ближайшие аналоги: Fruit Ninja, Fast Knife

imageБитва с боссом — магический Мега-Босс, является основным ингредиентом для зелья. На этом уровне ведьма пытается своими заклинаниями заморозить его, при этом ей нужно избегать его укусов. Игрок должен держать телефон экраном вверх и наклонять его в ту сторону, куда хочет отбежать.

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

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

Цель — расставить блоки в правильном порядке, чтобы получить правильную картину.

Ближайшие аналоги: Fifteen, Puzzle Touch

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

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

imageПолеты на метле — Наша ведьма еще учится, поэтому иногда ее зелья имеют неожиданные последствия=)

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

Ближайшие аналоги: Temple Run, Jetpack Joyride

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

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

image

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

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

Понравилась статья? Поделить с друзьями:
  • Как составить план сочинения по русскому языку 2 класс по картине
  • Как составить характеристику для воспитателей детского сада
  • Hdd неисправимые ошибки секторов как исправить
  • Как найти расширенные настройки в инстаграме
  • Как найти высоту ромба если известны диагонали