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

image


В игры играю только на телефоне, и, в основном, в таймкиллеры, когда образуется никуда не применимый отрезок времени. Основываясь на собственных предпочтениях, была определена платформа и жанр. Решено было сделать 2D стратегию в жанре «стенка на стенку» с достаточно короткими уровнями. В качестве сеттинга были выбраны славянские сказки, но больная фантазия внесла свои корректировки. Игру было решено делать на Unity, так как с C# я знаком достаточно хорошо.

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

Очень скоро выяснилось, что делать покадровую пластилиновую анимацию это просто “адский ад”. Фигурки сохраняют позу всего несколько секунд, потом поза начинает плыть. Я пробовал делать проволочный каркас, но и это не дало желаемого результата.

image

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

  • Крестьянин
    Крестьянин
  • Бомжеболотный огурец
    Бомжеболотный огурец
  • Переспелый змеербуз
    Переспелый змеербуз
  • Хренорыцарь
    Хренорыцарь


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

Закончив с анимацией я прикинул баланс на коленке и опубликовал закрытую альфу в Google Play, дав доступ друзьям и коллегам. Оказалось что баланса нет вообще. Алгоритм порождения противников оказался запредельно рандомным. То уровень было пройти просто нереально, то он проходился вообще без усилий. Тогда я решил избавиться от рандома, и сбалансировать каждый уровень вручную. Сделав таким образом первый несколько уровней я понял, что на эту работу уйдет слишком много времени, и подход надо менять. Потратив еще пару дней на разработку детерминированного алгоритма порождения противников я получил приемлемый результат. Осталось определить входные параметры для каждого из 99 уровней. Прежде чем мне удалось с этим закончить, я прошел свою игру еще раз 30, попутно корректируя цены прокачек, характеристики юнитов игрока, и юнитов противника. Очень сильно в тестировании мне помогли мои друзья и коллеги. Некоторые из них играли в игру на протяжении нескольких месяцев, и за это время дали мне огромное количество фидбэка.

На этом у меня все. Буду рад услышать критику. Конечно же, надеюсь на конструктив.

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


  1. MasMaX
    15.02.2018 12:24
    +10

    Хм. А что критиковать? Нет ни примеров кода или архитектуры, ни демок.


    1. Verovir
      15.02.2018 12:34

      Кажется, эта вот игра. А так за ссылку его бы забанили, я думаю — в тегах есть название.


  1. Flagman
    15.02.2018 12:30
    +4

    Вдруг вспомнилось детство и тёплый ламповый The Neverhood =)


  1. suharik
    15.02.2018 13:28
    +8

    Громкое название и ноль информации. Вот пост о том, как лепить игры из пластилина.


  1. vasIvas
    15.02.2018 13:31
    +2

    Названия достойны документа от врача.


    1. BubaVV
      15.02.2018 14:30

      То вы еще Годвилль не видели


  1. tilekjanson
    15.02.2018 13:31

    Игра на айос есть в плейсторе? а то найти не смог.


    1. aleha1010 Автор
      15.02.2018 13:32

      В AppStore пока не выкладывал.


  1. Bookvarenko
    15.02.2018 14:31

    Какая камера использовалась для предметной съёмки?


    1. aleha1010 Автор
      15.02.2018 14:39

      Sony a5100 со стоковым объективом.


  1. ameli_anna_kate
    15.02.2018 14:33

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

    А подморозить это дело?


    1. aleha1010 Автор
      15.02.2018 14:38

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