Knighttron. В ожидании релиза...

Позади почти полтора года работы над игрой! ? вот, игра наконец закончена и ожидает свой долгожданный запуск в свет.

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

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

Screenshot

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

О разработке

Screenshot

?значально казалось, что игра не несет в себе ничего нового в техническом плане. Например, не нужно придумывать как быстро рендерить физическую воду и большое количество огня (см. мою предыдущую игру Fire Catcher. Но в итоге мне пришлось полностью переосмыслять свой подход к разработке игры. Мне пришлось уходить от ООП в сторону Entity Architecture, которую я построил на базе Ash (написал упрощенный плагин для своего Anthill. ? это был еще тот разрыв шаблонов. Я целый месяц переписывал уже рабочий и играбельный прототип под новую архитектуру. В общей сложности я два месяца взрывал свой мозг новым подходом, плевался и ругался, но в итоге, остался очень доволен. ? уже через пол года я вовсю осознал, что если бы я не осуществил этот переход и не потратил на него несколько месяцев — я бы не закончил эту игру никогда!

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

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

О финансах

Что до финансов, то сразу скажу, что этот проект оказался убер-провальным в плане финансов. Я не только израсходовал все спонсорские деньги на разработку, но и столько же еще доложил своих. Помните Mining Truck 2, на разработку которого я потратил три месяца? Так вот, стоимость спононсирования Knighttron составила столько же как и Mining Truck 2, только сроки разработки больше на 14 месяцев! Но не подумайте — это не столько жалоба, сколько предупреждение. ?гра местами вышла действительно недоделанной и где-то остались прорехи, которые возможно я еще возьмусь доделать. Так вот если вы вдруг найдете эти прорехи, знайте: я сделал все, что было в моих силах, чтобы получилось хотя бы так! На мой взгляд немного не доработанная игра — это лучше, чем вообще не вышедшая игра.

О геймплее

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

Screenshot

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

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

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

Тут еще хочется отметить, что при раннем тестировании многие игроки отмечали, что бои очень напоминают бои в Героях Меча и Магии — чем это обусловлено я так и не понял. Но учитывая популярность и успех Героев, я принял это за позитивный звоночек :)

О релизе

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

Screenshot

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

 

Спасибо за рассказ.
Не планируется статья о новом движке или открытия исходников?

Прохожий
30 Июня 2015
— 17:46
#

Свершилось!!! Антон, я искренне поздравляю вас с релизом!!! Даже трудно представить, через что вам пришлось пройти, чтобы не остановиться и закончить проект! Это действительно огромная сила духа!!!
Теперь придётся томиться в ожидании релиза!

samana
30 Июня 2015
— 17:58
#

@Прохожий, какой имеено интересует движок? Если плагин для Anthill по принципу Ash, то исходники доступны уже давно в GitHub, в nightly ветке. Только примеров и документации пока нет.

Ant.Karlov
30 Июня 2015
— 18:37
#

@samana, спасибо большое! :)

Ant.Karlov
30 Июня 2015
— 18:38
#

Может пора уже завязывать с портальными играми?)

?лья
30 Июня 2015
— 18:38
#

Да, про него, спасибо!

Прохожий
30 Июня 2015
— 19:24
#

Поздравляю! Жду не дождусь поиграть))
Было бы очень интересно почитать о технической стороне разработки :3

GreenFest
30 Июня 2015
— 21:17
#

Ты упомянул про вложение своих денег в разработку. Что конкретно имеется в виду ? Я так понял заказывался только звук, или что-то еще?

Влад
30 Июня 2015
— 22:37
#

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

Влад
30 Июня 2015
— 22:38
#

Ради чего этот труд?

Вася
1 Июля 2015
— 07:46
#

Антон, в каких числах ждать тех-статьи?
После релиза на Арморах?

Парадокс_Эскобара
1 Июля 2015
— 08:43
#

круто! поздравляю! молодец, что довел до конца! гамал на девгамме немного - безумно много контента! ты - флеш-герой! :)

Lampogolovii
1 Июля 2015
— 09:46
#

Антон, поздравляю! С нетерпением жду релиза чтобы поиграться!

Орбит
1 Июля 2015
— 14:49
#

В чём смысл жизни?

Витя
1 Июля 2015
— 20:03
#

Поздравляю с выходом игры!
Спасибо за новый пост!

По качеству, начиная с Zombotron, твои игры Антон, так и просятся на одну полочку к X-BOX вместе с SuperMeatBoy и подобными!

С Уважением!

vacsa
2 Июля 2015
— 01:00
#

Не терпится поиграть :)

fedoit
2 Июля 2015
— 01:14
#

@?лья, да, наверное пора. Но пока никак не получается :)

Ant.Karlov
2 Июля 2015
— 08:19
#

@Влад,

> Ты упомянул про вложение своих денег в разработку. Что конкретно имеется в виду ? Я так понял заказывался только звук, или что-то еще?

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

Ant.Karlov
2 Июля 2015
— 08:21
#

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

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

Ant.Karlov
2 Июля 2015
— 08:23
#

@Вася,

> Ради чего этот труд?

Ради денег и ради само утверждения. Как и у всех остальных, наверное.

Ant.Karlov
2 Июля 2015
— 08:24
#

@Парадокс_Эскобара, статья будет не одна, буду постепенно рассказывать о разных моментах разными постами. Посты будут без привязки к релизу игры, просто по мере готовности.

Ant.Karlov
2 Июля 2015
— 08:25
#

@Lampogolovii, @Орбит, @vacsa, @fedoit, спасибо ребята! :)

Ant.Karlov
2 Июля 2015
— 08:26
#

@Витя,

> В чём смысл жизни?

Смысл жизни в решении возникающих задач и проблем. В создании семьи и рождении детей. В достижении новых высот и в получении опыта от провалов и неудач. Жизнь — это очень увлекательное выживание. Цель прожить по дольше и собрать по больше ачивок! Как-то так... :D

Ant.Karlov
2 Июля 2015
— 08:32
#

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

Elmigo
2 Июля 2015
— 10:39
#

@Elmigo, на самом деле точка еще не совсем поставлена. Хочется еще собрать фидбэк и добавить некоторый функционал в игру который был упущен из-за спешки выпустить игру. Так что надеюсь что до конца лета еще будет апдейт который поправит некоторые вещи и добавит недостающий контент :) Спасибо!

Ant.Karlov
2 Июля 2015
— 22:01
#

Ура! :)

WeslomPo
3 Июля 2015
— 12:05
#

А в стиме будет игрушка? Выглядит достойно, вроде.

Impus
3 Июля 2015
— 12:24
#

Антон привет. Давно хотел спросить откуда у тебя появилась дурацкая привычка наследовать классы от Objecta? Object позволяет динамически создаватьудалятьменять его поля. Object сам по себе много занимает памяти и во время сбора мусора - GC каждый Object шерстит на предмет "что ты там наделал в нем". моя твоя не понимать кароче, зачем использовать Object повсеместно.

anii526
3 Июля 2015
— 12:28
#

Ура, наконец появится новое чтиво!
С нетерпением жду новые статьи!

Владимир
3 Июля 2015
— 12:38
#

@anii526,
Отвечу за Антона.

Видел недавно на flashgamedev.ru Кролик говорил про использование Object. Судя по цитате вы тоже. Но там говорилось про использование его как ассоциативного массива, а не про наследование от него. Не уверен, но по-моему при наследовании всё нормально.

Погуглил документацию.
Во-первых, "Все классы, которые не объявляют базовый класс явным образом, расширяют встроенный класс Object."
Object основа всего as3. То есть Антон мог даже не наследовать от Object, компилятор сам бы это сделал =)
А во-вторых, "Атрибут dynamic не наследуется подклассами. При расширении динамического класса подкласс становится динамическим, только если он объявлен с атрибутом dynamic."

Поэтому всё нормально, наследование от Object не замедляет работы GC. =)

GreenFest
3 Июля 2015
— 16:05
#

@anii526, да, @GreenFest все верно написал, если не указывать явно то, от чего будет наследоваться новый класс, то по дефолту он будет унаследован от Object. При этом новому классу невозможно будет динамически добавлять/удалять поля до тех пор пока он не получит модификатор dynamic.

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

Ant.Karlov
3 Июля 2015
— 18:57
#

@Impus, в стиме новой игры пока не будет. Может быть в будущем, но пока просто посмотрим на то как она пойдет и там уже решим стоит ли её развивать в нечто большее.

Ant.Karlov
3 Июля 2015
— 18:59
#

?гра появилась на арморах, всем играть, господа :)

Анон
3 Июля 2015
— 22:32
#

Антон, очень люблю ваши игры, вашу графику. Может быть вы напишете серию уроков вроде "платформер от А до Я" в которой рассмотрите. все аспекты? ?ли хотя бы напишете окончание уроков к "Защите башен"? Думаю всем это будет очень интересно!

доктор Джекил
5 Июля 2015
— 02:17
#

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

Никита
5 Июля 2015
— 11:45
#

На арморах пишут что это только бета. а я уже хотел поиграть :(

BolT
6 Июля 2015
— 06:11
#

Наконец-то!

Очень интересно будет почитать про дальнейшую судьбу игры.

krutovig
6 Июля 2015
— 09:25
#

1. очень мелкие, нечеткие тексты, ощущается постоянный дискомфорт
2. слишком долгое время появления таблички описания предметов
3. я так понял во время перемещения персонажа, направление изменить уже нельзя? - неудобно
4. Лицо главного персонажа - почему такое грустное ? Довольно стремная физиономия если честно. ?грать за такого, постоянно танцующего на месте персонажа желания нет.
5. Не очень ясно во время свободного перемещения, куда можно ступать.
6. весь интерфейс невероятно мелкий, да и размер экрана для подобной игры можно было сделать побольше
7. Застрял на втором туре с пиратом. Каким образом я могу убить такую орду врагов? Непонятно

Антон
6 Июля 2015
— 13:33
#

Антон, помоему, игру стоит отправлять в стим

Алекс
6 Июля 2015
— 18:51
#

@доктор Джекил, уроки с удовольствием старые дописал бы и новые начал! Но, пока, критически не хватает времени на все, поэтому ничего не обещаю. Постараюсь хотя бы старые дописать. Спасибо за отзыв! :)

Ant.Karlov
6 Июля 2015
— 22:56
#

@Никита, Про Zombotron пока нечего написать, так как никаких работ и проработка идей в этом направлении не ведется. Как только будет что-то, сразу обязательно все напишу! :)

Ant.Karlov
6 Июля 2015
— 22:58
#

@Антон,

>1. очень мелкие, нечеткие тексты, ощущается постоянный дискомфорт

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

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

> 4. Лицо главного персонажа - почему такое грустное ? Довольно стремная физиономия если честно. ?грать за такого, постоянно танцующего на месте персонажа желания нет.

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

>6. весь интерфейс невероятно мелкий, да и размер экрана для подобной игры можно было сделать побольше.

Тут я с вами согласен, но формат флеш игры не позволяет сделать экран больше по двум причинам: 1. Проседает производительность. 2. Есть некоторые ограничения на размер экрана для портальных флеш игр.

> 7. Застрял на втором туре с пиратом. Каким образом я могу убить такую орду врагов? Непонятно

?спользуйте тактику спартанцев: вставайте на лестнице и поджидайте пока враги будут подходить по одному. Ну и накрывайте их на подходе двумя героями сразу ;)

Спасибо за отзыв!

Ant.Karlov
6 Июля 2015
— 23:06
#

@Алекс, согласен с вами, стоит!

Ant.Karlov
6 Июля 2015
— 23:07
#

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

Антон
7 Июля 2015
— 09:46
#

Отличная игрушка, а почему нельзя было добавить где-то в настройках кнопку "развернуть на весь экран"

Mobi
7 Июля 2015
— 11:23
#

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

Ant.Karlov
7 Июля 2015
— 14:01
#

@Mobi, в премиум аккаунте на ArmorGames присуствует возможность развернуть игру на весь экран. После основного релиза я так же сделаю возможность разворачивать игру на весь экран на странице с игрой на zombotron.com. За остальные порталы с поддержкой такой функции, к сожалению, не ручаюсь.

Ant.Karlov
7 Июля 2015
— 14:03
#

Антон, искренне тебя поздравляю и жду релиза!))) Наконец ты *тфу-тфу-тфу* вернулся))))
P.S. Давненько хотел тебе упомянуть про проект "MegaSphere" твоего тески:) http://www.antonkudin.me/megasphere/
Слышал про эту игру?
Тезисно: платформер, на юнити, в гринлайте, разработку частенько стримит на твиче.

Pandorin
7 Июля 2015
— 23:34
#

Сегодня полный релиз)

Nelly Key
9 Июля 2015
— 22:46
#

Когда уже игра будет в общем доступе?

Аноним
10 Июля 2015
— 08:00
#

@Аноним
Следи тут: ArmorGames

Pandorin
10 Июля 2015
— 09:42
#

Эта игра ОБЯЗАТЕЛЬНО должна выйти в steam!

Данил
10 Июля 2015
— 10:15
#

Сегодня уже 10-е, а игра до сих пор в бете((

Данил
10 Июля 2015
— 17:32
#

@Даниил, часовые пояса.

WeslomPo
10 Июля 2015
— 20:24
#

@WeslomPo, вроде уже как 15 часов как 10 июля по их EDT...

anim
10 Июля 2015
— 21:58
#

?гра готова к релизу и ожидает только подтверждение администратора для появления в общем доступе. Тут я со своей стороны уже ничего не могу поделать. Жду с нетерпением как и все игроки! :D

Ant.Karlov
10 Июля 2015
— 22:03
#

уже играю. очень круто! только жутко мелко.
камера слишком подвижная, чуток напрягает.

anim
11 Июля 2015
— 00:22
#

Отличная игра, но хоспаде! Как же тесно! Хочется развернуть игру на полный экран и наслаждаться процессом! А меня запирают в это маленькое окошко :(

Izmy
12 Июля 2015
— 00:43
#

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

Ant.Karlov
12 Июля 2015
— 22:37
#

@Izmy, для премиум пользователей на арморах есть функция полного экрана. Не премиум пользователи могут воспользоваться стандартным зумом браузера. Чуть позже я выложу игру на своем сайте с возможностью зумить игру на полный экран. А вот за все остальные порталы уже не могу отвечать, к сожалению.

Ant.Karlov
12 Июля 2015
— 22:39
#

Шикарная игра, спасибо большое!

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

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

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

Михаил
20 Июля 2015
— 09:40
#

Чёрт, я дошёл до големов, почти нашёл кольцо и тут фигак, она недоделана. Разочаровал. ? да, игру надо скачивать, она слишком хороша для флеша. Может подумаешь на досуге? Не очень приятно осозновать что эта игра жалкая флешка. Но мечтать не вредно... Ксати предлагаю сделать больше зомби и огненных призраков. Я всё сказал. Удачи

Дмитрий Лебединский
1 Ноября 2015
— 13:26
#

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

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

Спасибо за отзыв!

Ant.Karlov
3 Ноября 2015
— 11:58
#

когда будит Knighttron 2

Капитан Джек
19 Мая 2016
— 05:23
#

@Капитан Джек,

> когда будит Knighttron 2

Пока не известно. Может быть после того как будет закончена работа над новым Zombotron. Более ничего не могу сказать по этому поводу.

Ant.Karlov
20 Мая 2016
— 11:35
#