smileit
Суббота, 26 Апреля 2014 11:22

Как создавались уровни для игры.

Автор
Оцените материал
(1 Голосовать)

В этой статье я постаралась набросать что-то вроде эволюции, как постепенно делались уровни для игры.  

titl s1

Эта картинка наглядно изображает, о чем пойдет речь дальше. 

Этап 1: Протоитип из картона и пластилина.

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

Бумажный прототип

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

 

Этап 2: Схематичные наброски.

Дальше несколько уровней я нарисовала в фотошопе:

Плюшки схематичные

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

Этап 3: Проектирование. Количество и структура.

Сначала предполагалось, что в игре будет 50 уровней. Потом все-таки решили, что это маловато, и на данный момент игра насчитывает целых 75. Один экран вмещает в себя 15 уровней:

Здесь не все открыты

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

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

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

Этап 4: Цифры вместо мордочек.

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

Циферки

Цифры показывали степень веселости смайликов. В таком состоянии проще было понять, насколько правильно оно работает.

Этап 5: Редактор уровней.

StaticZ запрограммировал игру таким образом, что уровни считываются из простого текстового файла формата ecd, как, впрочем, и многие другие настраиваемые значения, такие как спрайтлист, титры, интерфейс.

Формат *.ecd (Exarion Cascade Descriptor) по сути является текстовым файлом в кодировке UTF-8.

Открываем мы его простым Notepad++, ну можно еще подсветку синтаксиса настроить разве что.

В простейшем случае такой файл состоит из последовательности пар ключ-значение, разделяемых двоеточием, таким образом значением является любые символы начиная с двоеточия и до следующей управляющей конструкции. Перед ключем ставится символ бакса '$'. При чтении все пустые символы игнорируются (т.е. пробелы, табуляция и т.д.)

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

Для интереса приведу кусок кода из этого файла:

[LEVEL053]
$title:ru."Вместе мы сила!"
$title:en."We are strong together."
$stars:{65,67,69}
$layer:"bck_layer04"
$music:"mus_theme04"
$decay:4
$swing:"<< >> ^^ __"
$field:"
=+++ <>7o <>7o <>5o <>8o =+++
=+++ >>3o >>5s <<5s <<3o =+++
=+++ >>3o <<5s >>5s <<3o =+++
=+++ <>8o <>5o <>7o <>7o =+++
"

Вот как этот же уровень выглядит в игре:

Уровень 53

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


o - обычный смайл
n - смайл нельзя вращать
u - смайл нельзя тапать
s - смайл нельзя ни вращать ни тапать

Число от 1 до 9, что определяет настроение смайла.  9 - самое лучшее настроение, 2 - почти самый грустный, когда настроение падает до 1 - уровень проигрывается.

А вот эти значки >> - определяют направление взгляда.  Если, например, напишем вот так ^^, то наш смайлик смотрит вверх. Кстати, $swing задает перечень этих направлений, доступных на уровне. Дело в том, что раньше на некоторых уровнях можно было глаза вращать только в определенные места, а потом от этого ограничения отказались.

Перед уровнем задаются его индивидуальные параметры:

$title - название уровня
$stars - на каком ходу появляются звезды. Например, на 53 уровне три звезды появляются на 65ом, 67ом и 69ом ходах соответственно.
$layer - фон уровня
$music - музыка, которая играет на уровне
$decay - скорость погрустнения, в данном случае если смайлик не трогать 4 хода, то он на единицу погрустнеет

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

Прочитано 3001 раз Последнее изменение Суббота, 26 Апреля 2014 11:53
AnnTenna

Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Другие материалы в этой категории: « Небольшое обновление. Генераторы атласов. »

1 Комментарий

Авторизуйтесь, чтобы получить возможность оставлять комментарии

Панель входа

Добро пожаловать!

Заходите. Чувствуйте себя как дома.

Мы в контакте

(скорее всего это пойдёт на хостинг)

Опрос о сайте.

Как вам этот сайт?
 

Это из галереи!

  • vk_fest2017_6
  • Описание: Фотки с ВК-феста 2017 - "Приключения котёнка в городском парке"

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

А знаете ли вы...

ste2

сайт другаСветлая зона и Академия РПГ Мейкераkn4kn5Плагины для RPG MakerДневник одной нэкоknНовая Реальность Топ Разработка игр