Brave Train

Все началось с того, что я получил тестовое задание на вакансию Unity-разработчика: написать игру «Змейка». Чуть позже от вакансии по субъективным причинам пришлось отказаться, но к тому времени я уже начал делать проект и, чтобы не пропадать работе, решил его развить, закончить и выпустить. Так я обзавёлся своей «Змейкой», которую никогда до этого делать не собирался.

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

Начал я, как обычно, с изучения существующих на рынке проектов. Много славных змеек я пересмотрел! В добавок, к моменту начала работы над игрой (весна 2016) вышло ещё два проекта в этом жанре, которые стали очень популярны – это “Snake Legends” и “Slither.io”. “Slither.io”, безусловно, восхищал простотой и динамикой, но мне как-то хотелось статического поля и сингл-плея, поэтому я больше обратил внимание на “Snake Legends” – в нём мне понравилось положение камеры, и я решил взять за основу своей игры такой вид игрового поля.

Snake Legends

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

1) Поле состоит из квадратных ячеек (не шестиугольных).
2) Змейка движется по клеткам в четырех направлениях, а не свободно.
3) Вид должен быть в 3D.
4) Игровое поле должно быть относительно небольшим с крупными клетками и выразительной змейкой.
5) На поле должны быть препятствия.

Мне очень понравилась идея “Snake Legends” о том, что змейка – это хоровод людей, который увеличивается подбором новых персонажей (условие классической змейки) и уменьшается бонусами (обеспечивает «бесконечный» игровой процесс), и я начал думать в этом направлении.

Идея № 1


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

Идея № 1

Плюсы: визуально – не змея, а незаезженный образ.
Минусы: геймплей уж очень будет похож на “Snake Legends”.
Вывод: надо думать дальше, развивать идею.

Идея № 2


По детской площадке ходит ребёнок и собирает игрушки. Чтобы их складывать в змейку, он предварительно собирает вагоны-платформы. Т.е., составление змейки происходит в два этапа: сначала нужно подобрать пустую платформу, которая «нарастит» змейку, а потом подобрать игрушку, которая займёт платформу. Этот процесс можно делать вразброс, например, сначала набрать 3-5 пустых платформ, а потом собирать только игрушки. Также существуют «высокие» вагоны (не платформы), которые наращивают змейку, но не дают посадочного места для игрушки, таким образом усложняя игру. На поле одновременно находится ограниченное количество вагонов и игрушек, например, 2 вагона и две игрушки.

Идея № 2

Плюсы: плюсов много.
Во-первых, совсем уж оригинальный игровой процесс.
Во-вторых, широкие возможности для визуального разнообразия: вагоны, игрушки, различные персонажи в качестве ребёнка – всё это должно хорошо смотреться.
В-третьих, т.к. условия достаточно сложные, то появляется возможность выдавать задания. Например: «Собрать 7 игрушек за такое-то время» или «Собрать 5 зайчиков». А это разнообразие уровней.
В-четвертых (как продолжение третьего), возможность построить как уровни на прохождение, так и бесконечный игровой режим «на выживание».

Казалось бы, вот хорошая идея для игры, и я её, действительно, долго и детально прорабатывал. Но не доработал. В голове поселилась предательская мысль: «А не слишком ли это сложно для широкой аудитории игроков?». В итоге, сложился один жирный минус: «Слишком сложно», который заставил меня думать дальше уже в сторону упрощения правил.

Идея № 3


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

Идея № 3

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

Минусы не были замечены. Мои размышления наконец-то привели меня к стройной концепции. Погуглив, я не нашел ничего подобного. Раз нет – надо делать!

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

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

Опытным путем было установлено, что поле 8х8 клеток маловато и негде развернуться, а 20х20 клеток на мобильных устройствах выглядит сильно мелко. Итог – четыре локации средних размеров 10х10, 12х12, 14х14, 16х16. Почему именно чётные – не знаю. Так исторически сложилось.

2) Локаций делаем ограниченное количество: несколько тематических эпизодов по 4 локации, дабы в процессе создания игры не погрязнуть в рисовании. Для релиза делаем один первый эпизод.

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

Локации

3) Как в классической игре «Три в ряд» будем начислять монеты за сокращённые одинаковые вагоны. Главной целью игры ставим накопление монет.

Причём, у нашего паровозика возможны интересные комбинации, когда сомкнувшиеся после сокращения вагоны вновь образуют «выигрышную» комбинацию и вновь сокращаются. Возможно 4 подряд каскада сокращений – по количеству цветов вагонов. За каждый следующий каскад удваиваем количество призовых монет.

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

В процессе игры у паровозика растёт скорость и садится батарея. Это также компенсируется специальными бонусами.

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

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

Локомотивы

7) Большое количество многоступенчатых заданий вида «Собрать 200 монет на тяжёлом уровне сложности». Три рейтинга игроков по уровням сложности.

Все эти идеи после напряжённых и не очень девяти месяцев ночных трудов вылились в игру “Brave Train” – смесь жанров «Змейка» и «Три в ряд». Релиз на Android состоялся 22 декабря. Приглашаю всех в Play Market оценить результат.

Brave Train

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

P.S. Загадка на внимательность: угадайте, что послужило прототипом для антуража первого эпизода?

P.P.S. Мне самому показалось мало «змейки + три в ряд», поэтому я уже готовлю обновление для “Brave Train”: «змейка + три в ряд + пазлы», в котором на поле, помимо вагонов и бонусов, можно будет подбирать части пазлов и потом складывать их.

На этом всё. Надеюсь, было интересно.
Всех с наступающим Новым Годом!
Реализации ваших планов и моря новых идей!
Поделиться с друзьями
-->

Комментарии (77)


  1. cry_san
    29.12.2016 06:06
    +2

    Раздел разработка.
    А где кроме ваших идей и рекламы что-либо о самой разработке?
    Код где?


    1. astec
      29.12.2016 07:41
      +9

      Я не автор, мне кажется разработка она не из одного только кода состоит.


      Автору спасибо. Андроида нет чтобы посмотреть, но идея и оформление красивые. Портируй на iOS!


      1. cry_san
        29.12.2016 07:49
        +1

        Конечно вы правы. Не из одного кода. Путь программы ведь начинается с идеи.
        Так что данной статье еще расти…


        1. vittore
          30.12.2016 18:05

          Про идею тут как раз есть, но нет про реализацию. Но это же Unity. Даже на хабре полно статей по разработке на этой платформе.


      1. Snakecatcher
        30.12.2016 10:12

        Шикарные арты и наброски. :)
        Теперь сижу, за утренним кофе и рисую в векторе паравозики :)
        А можете, выложить наброски, или ссылку дать где можно посмотреть на них?
        Еще вопрос, какие вы Вы использовали (если использовали) какие-то библиотеки для создания игры?


        1. stepanoffvitaly
          30.12.2016 11:29

          Спасибо. Наброски и рендеры отдельных объектов обязательно опубликую, но уже после НГ. На все сразу времени не хватает. Приглашаю Вас присоединиться к группе ВК: https://vk.com/bravetraingame — тут буду публиковать ссылки на материалы.
          Из сторонних библиотек — только пак эффектов:
          https://www.assetstore.unity3d.com/en/#!/content/10172
          Ну и программную специфику, вроде твинов и социалки. Остальное делал все сам.
          На некотором этапе экспериментировал с использованием красивого пака города в мультяшном стиле:
          https://www.assetstore.unity3d.com/en/#!/content/17254
          но потом передумал. Решил, что пусть будет хоть и попроще, но эксклюзив.


    1. gr1mm3r
      29.12.2016 09:47
      +9

      Разве разработка заключается только в коде? В посте достаточно интересно описан процесс разработки от идеи до готового продукта с пробами и результатом. Если все будут писать только код, то кто будет придумывать концепции и методом проб и ошибок их воплощать? ИМХО разработка это не только строчки в IDE, но и скетчи на бумаге, черновые записи в блокноте и пустые банки газировки в мусорном ведре.


    1. stepanoffvitaly
      29.12.2016 10:02
      +2

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


      1. cry_san
        29.12.2016 10:03
        +2

        Ждем продолжения!


    1. Idot
      29.12.2016 11:33
      +2

      Ну, нет тут хаба о Дизайне Игр (надо бы создать) => потому хаб Разработка Игр наиболее подходящий.


  1. ru_vlad
    29.12.2016 08:21

    Идея хорошая и воплощение тоже! :)
    Вот еще идея по модернизации, помните мультфильм «Паровозик из Ромашково» где
    он постоянно опаздывает НО помогает другим, вот можно добавить такие моменты.


    1. stepanoffvitaly
      29.12.2016 10:03

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


  1. MamontsevDS
    29.12.2016 09:48
    +1

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


    1. stepanoffvitaly
      29.12.2016 09:50

      Она, она, родимая!


  1. PchelaBeshena
    29.12.2016 09:48

    Классно сработано, не выглядит поделкой — ПРОДУКТ!!!


  1. abyrkov
    29.12.2016 11:06

    Только не понятно, какое там управление. А это интереснее всего, эх :(


    1. stepanoffvitaly
      29.12.2016 11:10

      Из меню паузы во время игры можно поменять способ управления. В окне помощи (кнопочка с вопросиком) можно почитать описание управления.
      Но вижу, вижу, что недоработал и управление, и обучение ему. Уже лечу с обновлением.


    1. jok40
      29.12.2016 11:12
      +1

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


      1. stepanoffvitaly
        29.12.2016 11:17

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


        1. jok40
          29.12.2016 11:25
          +1

          Ну вообще-то удобство управления — дело привычки. Скорее всего жалуются те, кто привык играть в другие игры подобным способом. А я на смартфоне практически не играю, поэтому меня текущее управление ничуть не напрягло.


  1. arcturgray
    29.12.2016 11:11
    -1

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


  1. SakuradaJun
    29.12.2016 11:17
    +1

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


    1. stepanoffvitaly
      29.12.2016 11:20

      Совершенно верно! Добавляю такие способы управления:
      1) Нажатием на левую или правую стороны экрана змейка поворачивает относительно своего направления движения, соответственно, влево или вправо
      2) Тоже самое, но две виртуальные кнопки под большой палец правой руки
      3) Как Вы предлагаете — смена направления движения росчерком.


      1. netgoblin
        29.12.2016 11:36

        Можно просто дельту Х считать, например.


        1. stepanoffvitaly
          29.12.2016 11:42

          Чуть по-подробнее можно Вашу идею?


          1. netgoblin
            29.12.2016 13:12

            Я имел ввиду — рассматривать любой жест как свайп (как написали ниже). Т.е. в не зависимости от формы жеста, учитывать лишь направление: слева-направо или справа-налево.


            1. stepanoffvitaly
              29.12.2016 13:17

              Я понял. Уже 8й способ управления получается.


      1. TimKGS
        29.12.2016 11:43
        +1

        Я бы «стряхивал» паровоз в нужном направлении наклоном устройства, пользуясь гироскопом. Если был бы такой тип управления.


      1. alt3d
        29.12.2016 11:59

        Я бы сделал смену направления по свайпу — влево/вправо — поворачивает паравозик относительно себя.
        Но по тапу в левую/правую сторону экрана тоже отлично.

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


        1. stepanoffvitaly
          29.12.2016 12:01

          Эх, какой-то способ не додашь — минусят, слишком много дашь — минусят. Сейчас остановился на том, что будет 7 способов управления и детальная, наглядная демка каждого способа. А дальше будем посмотреть — может что-то и уберу.


          1. SakuradaJun
            29.12.2016 13:10
            +1

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


          1. maaGames
            29.12.2016 15:14

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


            1. stepanoffvitaly
              29.12.2016 15:17

              Спасибо за совет. Добавлю статистику по управлению.


  1. aso
    29.12.2016 11:22
    +1

    Какая неожиданная забавная идея.
    Описание, может оказаться даже интереснее самой игрушки. ;))


  1. mixaly4
    29.12.2016 11:34
    +1

    Интересная статья и хорошая идея, спасибо. Очень мне графика понравилась, сами рисовали? Может подскажете, в чем обычно рисуют графику такого типа (и где этому научиться :))?


    1. stepanoffvitaly
      29.12.2016 11:41
      +2

      Спасибо. Рисовал сам.
      Во-первых, набирался идей и выбирал стиль на Pinterest. Большую роль в выборе стиля — low-poly — сыграл тот факт, что рисовать мне предстояло самому и я не хотел затягивать этот процесс. Поэтому остановился на более простом графическом стиле, таком, который мог осилить сам.
      Во-вторых, живости картинке придали запеченные тени — это делалось средствами Unity. Без таких натуралистичных теней картинка была бы очень бедной.
      Для создания моделей можно воспользоваться любым доступным 3д-редактором, например Blander. Делал развертки моделей, в фотошопе рисовал текстуры.


      1. stepanoffvitaly
        29.12.2016 11:47

        *Blender, конечно же


  1. dotneter
    29.12.2016 12:19

    В начале года тоже загорелся идей сделать уникальную змейку.
    И тоже были идеи смешивания с три в ряд.
    Но в итоге остановится на упражнениях на запоминание.
    http://ru.brainexer.com/convolution.html


    1. stepanoffvitaly
      29.12.2016 12:25
      +1

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


  1. olekl
    29.12.2016 12:32

    Многошаговое схлопывание было в Zuma. Что не делает его менее прикольным :)


    1. stepanoffvitaly
      29.12.2016 12:38

      Надо посмотреть.


    1. Wernisag
      29.12.2016 14:00
      +1

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


      1. KodyWiremane
        30.12.2016 12:20

        По описанию,

        Собрали подряд три одинаковых вагона – сократили все вагоны такого вида из состава.
        Т. е.
        ggrrgrbgbb + g => gggrrgrbgbb => rrr bbb => аннигиляция.
        Должно получаться.


        1. stepanoffvitaly
          30.12.2016 12:22

          Да, можно досокращаться до пустого поезда


        1. Wernisag
          30.12.2016 12:45

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

          А в Вашем примере, ошибка

          ggrrgrbgbb + g => gggrrgrbgbb => rrr bbb => аннигиляция.

          Правильно будет
          ggrrgrbgbb + g => gggrrgrbgbb => rrgrbgbb


          1. KodyWiremane
            30.12.2016 16:05

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


  1. olekl
    29.12.2016 12:33
    +1

    А идею с игрушками не планируете довести до игры? Думаю, что тоже будет играбельно! Имеющийся движок для паровозика не позволит сделать это с меньшими затратами?


    1. stepanoffvitaly
      29.12.2016 12:38

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


  1. DanielJ
    29.12.2016 12:34
    +2

    Интересная идея! Действительно вдохнул новую жизнь в старую игру =)


  1. PapaBubaDiop
    29.12.2016 13:24

    Делай и 3Д змейку — с самолетом.


    1. stepanoffvitaly
      29.12.2016 13:30

      … с перемещением в трех измерениях и на огромном пространстве. В итоге, к «змейке + три в ряд» добавится механика попадания по части змейки, висящей в воздухе. Здорово!


      1. KodyWiremane
        30.12.2016 16:06
        +1

        Это уже War Thunder какой-то )


      1. KodyWiremane
        30.12.2016 16:26
        +1

        Хотел доредактировать предыдущий, но не успел:

        Идея 3D-зации змейки: самолёт летает внутри кубического мира, заполненного препятствиями, но ограничен движением по плоскости секущей, параллельной стороне куба — одна из координат XYZ (любая) фиксируется, и на какое-то время это обычная 2D-змейка; но при особом взаимодействии (подбор бонусов, касание объекта, использование заряжаемой способности) плоскость сечения меняется на перпендикулярную, и самолёт (или космолёт) движется уже по ней. Особенность такой схемы = один «уровень» включает несколько плоских карт, между которыми время от времени происходит переключение, что требует определённой перестройки от игрока.


        1. stepanoffvitaly
          30.12.2016 16:29

          Однако! Отличная идея!


  1. zalexander
    29.12.2016 14:22

    Весьма интересная игра у вас получилась. Тоже получил этим летом в качестве ТЗ сделать 3д змейку, и решил сделать нечто оригинальное, решил в качестве головы и туловища змейки сделать заблудившихся в лесу дровосеков, что в итоге переросло в игру:
    https://itunes.apple.com/us/app/lost-in-the-woods-3d/id1173426931
    Очень интересно, как у вас организовано движение хвоста за головой и передвижение змейки по клеткам. Если бы вы могли поделиться своим кодом или алгоритмами, было бы здорово!


    1. stepanoffvitaly
      29.12.2016 14:31

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


      1. zalexander
        29.12.2016 14:41

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


        1. stepanoffvitaly
          29.12.2016 15:06

          У меня путь — это ломаная на всю траекторию движения поезда. С поворотом добавляется новый сегмент, а если все вагоны покинули первый сегмент, то он из пути удаляется. Т.е., вагоны не ориентируются по предыдущему (так у меня был сделан первый вариант алгоритма, в моем исполнении оказался ненадежным), а жестко следуют вдоль ломаной, следя за тем, чтобы не опередить на своем пути впереди идущие вагоны.


  1. engune
    29.12.2016 15:23

    Выглядит отлично. С управлением я так и не справился. Сам присматривался к low poly играм и моделям. Хотел сделать свой редактор для моделей. Понял, что это утопия. И хороший инструмент не сделаешь хорошо, поэтому взял blender. Я пошел по более трудному пути — свой движок 2D и 3D. В начале года планирую несколько статей по ходу разработки, пока застрял на триангуляции и упаковке текстур — об этом напишу вначале года.


    1. stepanoffvitaly
      29.12.2016 15:26

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


  1. ingumsky
    30.12.2016 01:34
    +1

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


    1. stepanoffvitaly
      30.12.2016 02:38

      Спасибо на добром слове!


  1. EndUser
    30.12.2016 09:17

    Управление мне не понятно. Плохо предсказуемо. Контринтуитивно.

    Отличная статья, отличное исследование, отличная (в остальном) игра!


    1. stepanoffvitaly
      30.12.2016 11:20

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


  1. perfect_genius
    30.12.2016 21:45

    А почему у вас нет управления как на этом скрине?

    image

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


    1. stepanoffvitaly
      31.12.2016 01:56

      Замечательные вопросы! Все по теме. На самом деле — это даже тема отдельной статьи. Хотелось бы обсудить хотя бы в рамках комментариев…

      1) Я не стал копировать управление «Snake Legends», а делал своё. Совершенно верно, контрол на скрине является аналогом первого типа управления у меня. Но у меня они именно кнопки — аллегория на кнопки со стрелками клавиатуры или кнопки джойстика консоли. Если представить, что вы нажимаете на клавиши клавиатуры, то они же не поворачиваются в соответствии с изометрией поля, а Вы вполне нормально ассоциируете вертикальные кнопки клавиатуры с наклоненным видом поля. Есть масса старых классических игрушек, где поле в изометрии с угла, а управление — на клавишах со стрелками — и все нормально это воспринимают.
      К тому же, мое поле может быть и в виде с угла, и в виде спереди, в отличие от «Snake Legends», чьё поле только с угла. Получается, мне надо разворачивать свой контрол в зависимости от положения камеры. А наглядно ли это — повернуть первый мой тип для вида с угла, если для вида спереди он вот такой — прямой?

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

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


      1. perfect_genius
        31.12.2016 09:54

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

        Насчёт подсказок вот недавно было: https://habrahabr.ru/company/miip/blog/317918/


        1. netgoblin
          31.12.2016 10:54
          +1

          Надо бы при нажатии сразу подсвечивать клетку куда повернёт змейка.

          Мелькнула в голове мысль про ж/д поворотный механизм — ручной стрелочный перевод.


        1. stepanoffvitaly
          31.12.2016 13:16

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


      1. netgoblin
        31.12.2016 10:57

        Думаю что разработчики (как минимум начинающие) будут Вам признательны, если Вы добавите механизм сбора статистики того, сколько пользователей выбрали тот или иной способ управления в игре, а потом поделитесь данными (новая статья!). По-моему мнению, широкий набор говорит о том, что разработчик просто не знает как лучше/правильнее сделать и всю отвественность скидывает на конечного пользователя… Будем учиться вместе ;)


        1. stepanoffvitaly
          31.12.2016 13:24

          Да, добавить статистику — в ближайших планах.
          На счет «разработчик не знает»: да, именно так оно и выглядит. Однако изначально-то я поставил только 4 вида управления. Но посыпались замечания: почему нет вот этого, давай вот это. Я добавил. А вот возьму, и уберу по статистике наименее используемый джойстик. Опять начнутся записи: «игра — огонь, но убрали мой любимый джойстик, играть стало невозможно, поэтому удаляю и 2 звезды».


  1. zamboga
    01.01.2017 12:29

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

    Несколько замечаний:
    1. Один и тот же бонус может выпадать подряд (цветной вагончик, ключ). Особенно «доставило» 3 ключа подряд, тем более, что дверь уже была открыта =)
    2. Чуть доработать логику цветных бонусов вместо чистого рандом. Зачем выпадает синий паровозик, если у меня ни одного синего вагончика?
    3. Не понятно, на какую локацию я перееду, нужно пояснение.
    4. Удивился, что портал на другую локацию временный. Тогда нужна полоска, по которой понятно, сколько времени осталось на смену локации.
    5. Идея с размерами и разными локациями отличная, но лучше развить её так: игрок сразу выбирает размер поля (например, мне по душе 14 и 16), а при смене локации площадка рисуется рэндомно с рэндомными препятствиями. Благодаря этому не будет «привыкания» к одному полю, больше разнообразия, и можно всегда играть на любимом размере.


    1. stepanoffvitaly
      01.01.2017 14:09

      Отличные замечания! Спасибо. Обязательно учту с обновлениями.
      1. Надо править
      2. На самом деле, цветной вагон выпадет только, если этот цвет у Вас есть в составе. Возможно, совпал момент выпадения синего бонуса и сокращения синих вагонов из состава. Тогда у Вас на поле оказывается синий бонус, а зачем он — не понятно.
      3. Это да! Калитки имеют жесткую привязку к другим уровням, но это можно отследить только долго поиграв и внимательно понаблюдав за тем, куда Вы попадаете. Как развитие вашей идеи: поднимать над открывшейся калиткой табличку, куда она ведет, и чтобы каждый раз это был рэндом.
      4. Да, надо.
      5. Тут, к сожалению, не получится. Я думал над способом разнообразия рэндомом полей, но, в итоге, остановился на фиксированных полях, которые отличаются только от уровня к уровню, а внутри себя никак не кастомизируются. Виной всему — запекание теней. Я выбрал красивую картинку, а не возможность настраивать поля. Разнообразие будет достигнуто добавлением новых эпизодов и уровней.


  1. MaximSuvorov
    04.01.2017 23:13

    А чем не угодили обычные стролочки в углу для управления? Благо место на экране есть. Да и простор для редакции 2.0 есть — там кнопки с бустами для паравозика прицепить


    1. stepanoffvitaly
      04.01.2017 23:15

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


      1. MaximSuvorov
        07.01.2017 18:10

        на скринах не видно контролов, посему рискну предположить что кнопки были стандартно аки джойстик вертикально-горизонтально? Если так попробуйте сделать с наклоном в 45 как игровое поле и по ходу движения змеи протестировать — думаю будет хорошо


  1. Karpion
    05.01.2017 19:48

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