Предпосылки и философские размышления


Как и у многих моих коллег по программистскому цеху, особенно у тех, кто рано начал пробовать свои силы в области компьютерных технологий, у меня где-то на задворках сознания хранится набор самых тёплых и романтических воспоминаний о первых опытах. Когда-то, в далёком 1987 году, отец впервые взял меня в выходной к себе на работу, где торжественно усадил на стул перед гудящей «Искрой-1030-11». Примерно тогда я твёрдо понял, чем хочу заниматься в своей дальнейшей жизни.

image

В наши дни, запустив DOSBox, можно без особого труда окунуться в аромат беззаботного детства, вспомнить то прекрасное ощущение детского всемогущества, головокружительного интереса, волнующих новых знаний и умений. Сейчас мне 34, под моим началом работает больше сотни человек, я по-прежнему пишу достаточно много кода — особенно там, где требуется применение сложных алгоритмов для интеллектуальной обработки данных. Позади — в арсенале студенческих достижений — финал ACM'овской олимпиады, победы моего шахматного движка в ex-USSR-чемпионатах, один из алгоритмов на поисковых деревьях, названный моим именем, сотни тысяч строк моего кода в проде, но ничто не приносит такой радости и не вдохновляет так, как возврат в беззаботный мир детства.

Лет 10 назад мне в руки попал эмулятор БК-0010-01 — моего первого домашнего компьютера. Тогда стоило огромного труда не начать программировать под него. Однако в этот раз очередная волна ностальгии всё-таки сподвигла меня на весьма бессмысленный шаг, оправданием которому может стать разве что то чувство эмоционального подъёма, которое я испытал, завершив своё безумное предприятие — изготовление римейка/сиквела King's Bounty — древнего прародителя всех игр линейки Heroes of Might & Magic.

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

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

Конечно, в моём случае проект чисто развлекательный — нет никаких идей по поводу монетизации, да и в случае подобного «подпольного» римейка она вообще вряд ли возможна. Задача сильно упрощалась тем, что львиная доля игровой графики и логики была позаимствована из оригинальной игры. В этом плане очень помог брошенный в настоящее время проект OpenKB (http://sourceforge.net/projects/openkb/), автор которого проделал большую работу по реконструкции оригинальной игровой логики и анализу форматов данных оригинальной игры. Мануалы, написанные автором этого проекта, а также несколько других любительских мануалов, найденных в сети, позволили серьёзно сэкономить силы.

Технологии


С самого начала была сделана ставка на кроссплатформенность, а поскольку в отношении Javascript и HTML5 таковая титаническими усилиями разработчиков к настоящему моменту более-менее достигнута, особой альтернативы при выборе языка разработки, в общем-то, не было.

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

В силу сравнительной простоты игрового интерфейса оригинальной игры было принято решение отказаться от использования каких-либо тяжеловесных игровых фреймворков. Из библиотек использовалась только jQuery (в принципе, можно было бы обойтись и без неё — фактически понадобились только $.inArray, $.trim и работа с триггерами событий браузера; честно говоря, пугали возможные проблемы кроссбраузерности как раз в отношении событий, поэтому jQuery была всё-таки оставлена в проекте).

Графика и музыка реализовывались при помощи стандартных механизмов HTML5 (Canvas, Audio). Стандартных методов Canvas более чем достаточно для реализации спрайтовой графики с минимальными трудозатратами. Audio же предоставляет всё необходимое для снабжения игры звуковыми эффектами. Все требуемые сниппеты легко обнаруживаются на stackoverflow при помощи простых запросов, так что некоторого опыта практического программирования в современной экосистеме разработки вполне хватит для того, чтобы разобраться во всех технологических нюансах за один-два вечера.

Ход работы


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

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

Графику из оригинальной игры я уже однажды добывал в конце 90-х, когда написал на C версию KB, включающую только бои (с расширенным набором магии и другими развлечениями). Правда старый код погиб вместе с умершим винтом ещё в 1999-м, но я примерно помнил что и где брать. Дополнения были дорисованы при помощи Pixlr и найденных в сети картинок, взятых за основу. Одну из картинок помогла обтравить моя невеста, так что строго говоря над игрой работал не только я.

Музыка — подборка подходящей по смыслу бесплатной классики из сети, звуковые эффекты — записи из оригинальной игры DOSBox -> Audacity, либо немного обработанные бесплатные сэмплы из http://freesound.org.

От половины до 3/4 времени занял кодинг — в полученном проекте немногим менее 12 000 строк (не считая jQuery) (380 килобайт скрипта). Остальное — написание игровых текстов (их, в отличие от оригинальной игры, заметно больше, кроме того игра двуязычная), а также тестирование.

Результат


Механика игры в основных чертах повторяет механику оригинальной игры — формулы атаки, магии и т.д. полностью соответствуют оригиналу. Также из оригинальной игры взяты графика (дополнена небольшим количеством новых объектов) и карта первого материка (с минимальными изменениями). Сюжет заметно расширен, материков не 4, а 5, при этом вторая карта имеет больший, чем в оригинальной игре, размер. Добавлены разного рода шуточки, секреты, новые повороты сюжета. Тестировалась всё хозяйство на Chrome, FF, Edge, IE, мобильной версии IE.

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

Адрес страницы с игрой: http://genes1s.net/kb/game.html.

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


  1. den_admin
    14.09.2015 13:13
    +2

    Получилось здорово!
    Вечером засяду наверное. Можно только пару вещей обозначить: во время боя не работают 1,3,7 и 9 на цифровой клавиатуре. И еще в оригинале можно было настроить время показа анимации атаки (красную кляксу), всегда ставил минимальную, не интересно на нее смотреть.


    1. oulenspiegel
      14.09.2015 13:47

      Спасибо)
      Насчёт 1, 3, 7, 9 — эффект странный. Можете зайти на genes1s.net/kb/test.html, понажимать эти кнопки и сказать, какие коды будут выдаваться?


      1. den_admin
        14.09.2015 14:38

        1 — 97
        3 — 99
        7 — 103
        9 — 105

        Я не правильно выразился: не работают при стрельбе, например.


        1. oulenspiegel
          14.09.2015 14:58

          А, понял. Сейчас исправлю.


        1. oulenspiegel
          14.09.2015 15:10
          +1

          Поправил.


    1. oulenspiegel
      14.09.2015 14:06

      Настройки сделаю немного позже — надо понять, что ещё в них выносить.


  1. Mear
    14.09.2015 13:33
    +1

    Спасибо за проделанную работу.
    Поиграл чуть-чуть, при управлении мышкой раздражает немного постоянное выделение. Установите user-select: none пожалуйста.


    1. oulenspiegel
      14.09.2015 13:54
      +1

      Не за что)
      Сделал. Теперь норм?..


      1. Mear
        14.09.2015 15:02

        Да, спасибо. Стало значительно лучше.


  1. BelBES
    14.09.2015 13:44

    А почему использовали оригинальную графику и правила игры? King's Bounty 2 (та, что неофициальная) вроде бы в этом плане более интересной получилась…


    1. oulenspiegel
      14.09.2015 13:48
      +3

      Ну тут на вкус и цвет…
      Мне вторая как раз не особо нравилась.


      1. PapaBubaDiop
        14.09.2015 14:15
        +2

        Умопомрачительно! Я эту игру на айпад портировал, но не доделал. Теперь доделаю, украду все звуки и недостающие картинки. Шучу.
        Из прошлого — основной задачей в игре ставил условие минимальных потерь. До сих пор помню личный рекорд, 2 потери. Драконы, они такие… В выходные буду играть и возможно доделаю iOS поделку.


        1. oulenspiegel
          14.09.2015 14:18
          +1

          В принципе, можно попробовать на основе моей версии собрать обёртку для WebView, как это нынче модно. Например, при помощи PhoneGap.


          1. PapaBubaDiop
            14.09.2015 18:56
            +1

            Нет, только хардкор. Управление максимально удобное с кастомной клавиатурой из 26 клавиш. Нажатие стрелок — заменяется свайпом. Анимация родная iOS-овская. Можно совместно запилить.
            Если Apple пропустит (трюки применять умею), то старперы будут счастливы, а с рекламы 2-10 баксов в день наши. Режим пейзаж под iPad 320 vs 200. Или родной на 240? Я забыл.


            1. oulenspiegel
              14.09.2015 19:48

              В текущей версии можно управлять кликами/тапом, так что тут тоже unity не нужен)
              Какой смысл в этом проекте в unity?) Вы уверены, что это не overkill?


              1. PapaBubaDiop
                14.09.2015 19:57
                +1

                Господи, почему Юнити? Не пугай меня. Нативный iOS-овский С. И набор UmageView и ничего более. Клики, тапы — это синтетика, на мой взгляд.


                1. oulenspiegel
                  14.09.2015 20:01
                  +1

                  Зачем? Если уже есть версия на js. Какой смысл переписывать 400кб кода заново? Берётся моя версия, обёртывается в PhoneGap, trigger.io или любой фрейворк, который делает WebView-обёртку. Всё, получается нативное приложение для для нескольких мобильных платформ.


                  1. PapaBubaDiop
                    14.09.2015 20:14

                    Не буду спорить, возможно и так. И все таки вопрос. Какие родные пропорции экрана для оригинальной игры — 320 на 200 или 320 на 240?


                    1. oulenspiegel
                      14.09.2015 20:16
                      +1

                      320?200. Она работала в VGA 320?200?256.


                      1. vshturman
                        16.09.2015 07:35

                        Я, кажется, играл в неё ещё на EGA мониторе, там не было 256 цветов.


                        1. vshturman
                          16.09.2015 07:40

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


  1. Ununtrium
    14.09.2015 13:49

    Код планируете открывать?


    1. oulenspiegel
      14.09.2015 13:54

      Подумаю. Возможно.


  1. k12th
    14.09.2015 13:58
    +1

    А где исходники, куда пулл-реквесты слать?


    1. oulenspiegel
      14.09.2015 14:05

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


  1. Bundris
    14.09.2015 14:17

    При взаимодействии с городом и замком игра зависает(браузер Mozilla Firefox 31.0)
    Ниже ссылка на скриншот с выхлопом в консоль FF
    hkar.ru/DKcW


    1. oulenspiegel
      14.09.2015 14:20

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


    1. oulenspiegel
      14.09.2015 14:57

      Так, вроде бы исправил. Больше не должно повторяться.


  1. PapaBubaDiop
    14.09.2015 14:18

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


  1. derfinva
    14.09.2015 15:30

    Дальше выбора экрана роли не идет ((


    1. oulenspiegel
      14.09.2015 15:32

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


      1. ComodoHacker
        14.09.2015 16:30
        +2

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


        1. oulenspiegel
          14.09.2015 19:21

          Тут сжатие не поможет)
          Я сделаю возможность запуска без звуков.


        1. oulenspiegel
          14.09.2015 19:46

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


  1. ef_end_y
    14.09.2015 15:43

    Как распустить армию? Например, только крестьян


    1. oulenspiegel
      14.09.2015 15:48

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


  1. ComodoHacker
    14.09.2015 16:31
    +1

    Одно из бесспорных преимуществ HTML5 версии — масштабирование колесом мыши. :)


    1. grayfolk
      14.09.2015 21:54

      Но все равно хотелось бы fullscreen )
      oulenspiegel, возможно?


      1. oulenspiegel
        14.09.2015 21:57

        Ну, в принципе, никто не меняет открыть браузер на весь экран и подобрать масштаб)
        Думаю, это можно как-то автоматизировать. Посмотрю.


  1. ComodoHacker
    14.09.2015 16:36

    Пожалуйста, замените органную сюиту Баха на что-нибудь другое. Она совсем не подходит к этой игре.


    1. oulenspiegel
      14.09.2015 16:52

      Кому-то другому не понравится что-то другое :) Могу предложить отключить музыку (для управления музыкой и звуковыми эффектами используются кнопки «+» и «-»).
      А ещё это не сюита, а хоральная прелюдия)


      1. x0m9k
        14.09.2015 19:22

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


        1. oulenspiegel
          14.09.2015 19:46

          Сделал выбор при запуске игры.


  1. Zlobober
    14.09.2015 17:08

    Очень круто!

    Можно оффтоп-вопрос?

    Позади — в арсенале студенческих достижений — финал ACM'овской олимпиады, ...


    В каком году и в составе команды какого университета?


    1. oulenspiegel
      14.09.2015 17:10

      ОрёлГТУ, 2002.


    1. oulenspiegel
      14.09.2015 17:15

      Спасибо)


  1. reizy
    14.09.2015 19:46

    Было дело тоже ремейкал её) правда на android


    1. reizy
      15.09.2015 01:01
      +1

      добавились скачивания в том числе не последней версии… к чему бы О_о


      1. grayfolk
        15.09.2015 14:35
        +1

        Всем же интересно ) Я и сам скачал.


      1. ef_end_y
        15.09.2015 15:37

        у меня при наступлении определенного дня игра вылетала, пробовал другие версии


        1. reizy
          15.09.2015 16:54

          Странно… лог бы получить… Может поправил бы)


          1. ef_end_y
            16.09.2015 17:57

            а я его слал на мыло, которое указано в самой игре. Но ответа так и не получил


            1. reizy
              16.09.2015 19:36

              Мдя, стыд то какой… вот где не проверял давно… Обычно все на форуме отписывались если что то не работало, почтой только с правообладателями пытался связаться… Посмотрю сегодня обязательно!
              ЗЫ: если актуально — было бы полезно 1.0.6а_log версию попробовать. Она именно лог делает (не только сейв) в папку рядом с сохранением.


              1. reizy
                16.09.2015 20:05
                +1

                Похоже до Вас никто замков без гарнизона не оставлял… Теперь понятно что исправить, лог уже не нужен…


                1. ef_end_y
                  16.09.2015 21:47

                  Спасибо. Риспект за игру!


                  1. reizy
                    16.09.2015 23:54
                    +2

                    Выложил исправленную версию… Правда к шапке прицепить не удалось (обновили форум О_о), так что в последнем сообщении 1.0.7b.


  1. arvitaly
    14.09.2015 20:31

    Как тролля убить в замке?


    1. oulenspiegel
      14.09.2015 20:39

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


  1. oulenspiegel
    14.09.2015 22:33

    В общем, народ, собираю идеи для аддона) Поскольку я всё равно сломал ногу и сижу дома.
    Смотрите какие вводные:

    1. В принципе, в игре есть редактор карт. Просто он вам недоступен. Можно его немного облагородить, сделать доступным и сделать возможность делать кастомные сценарии.
    2. Можно добавить новых юнитов. Скажем, довольно просто сделать, например, заапгрейженные юниты путём перекраски и минимального редактирования существующих, т.к. хочется, чтобы не было диссонанса в стилистике старых и новых юнитов. Полноценный новый пикселарт я не потяну, скорее всего, разве что кто-нибудь поможет. В принципе, можно добавить артефактов без проблем, новую магию, какие-то спецэффекты.
    3. Можно сделать мобильные версии. js/html5 легким движением руки при помощи trigger.io или phonegap превращается в нативное приложение под Android, яблофон и даже под Windows Phone и более редкие платформы.
    4. Можно сделать какую-то серверную часть и хотя бы минимальное взаимодействие разных игроков: общая таблица рекордов, может быть даже какие-нибудь в перспективе соревнования или дуэли на одной карте :)
    5. Можно просто сделать продолжение, добавив ещё несколько штучек типа того же Коннора Варвара, каких-то заданий на карте и т.п. — в принципе, развивать в ту сторону, в которую развивает Nival свои современные римейки.

    Что думаете?

    image


    1. reizy
      15.09.2015 00:51
      +1

      1) Добавить карту-подземелье, где запрещен читерский полёт
      2) Сделать режим «хардкор» — убрать возможность безграничной покупки читерных спелов клонирования и остановки времени, добавить «боссам» умения (как от артефактов хотя бы), добавить набеги на замки игрока (один крестьянин в замке — чит), сбалансировать армии «боссов» по морали, сделать чтобы сбежавший «босс» усиливал новую армию до своего уровня. Перемешать дружеских монстров с врагами.
      3) новые монстры: чОрный властелин троль (тот же троль, только 6 левел и 500хп), огненный дракон (меньше хп, больше атака, нет иммунитета к магии), катапульта(нет ближнего боя)…
      4)Скрипты испортят игру ИМХО


      1. oulenspiegel
        15.09.2015 01:08

        Пункт 4 не понял :)


        1. reizy
          15.09.2015 01:29
          +1

          ну всякие игровые сценарии/квесты — это уже не старая добрая KB


    1. Grammidin
      15.09.2015 12:02
      +1

      — Хотелось бы иметь возможность сохраняться на сервере. Заодно можно реализовать таблицу рекордов, чтобы мериться… достижениями
      — Так и просится подземелье, как в Героях
      — Мобильная версия, думаю, вполне зайдет. Лично я бы купил такую игру.
      — Интересно также увидеть PvP. Бои через поиск(на карте можно реализовать в виде неких арен) или вообще полноценное ММО. Карта для всех общая, можно встретить другого игрока и навалять ему, отобрав часть ресурсов.


      1. grayfolk
        15.09.2015 14:42

        Хотелось бы иметь возможность сохраняться на сервере

        А еще лучше — в local storage.


        1. Grammidin
          15.09.2015 15:22

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


          1. oulenspiegel
            15.09.2015 15:45

            Да, в принципе, не проблема сделать все варианты — и в файл, как сейчас, и на сервере и в local storage…


      1. reizy
        15.09.2015 16:46

        > Лично я бы купил такую игру.
        низя продавать, 1C и убисофт против будут…


    1. Zardos
      15.09.2015 12:25

      А можно сделать хоть немного плавный скроллинг при шагах? Хотя бы в 2-3 этапа. Меня еще в оригинальной версии это напрягало, что экран прыгает сразу на тайл, и приходится искать глазами знакомые по предыдущему шагу очертания чтобы понять, что я не улетел куда-то в другое место.


    1. grayfolk
      15.09.2015 14:40

      Как я понял, карта сейчас не рандомная, рандомны на ней только ресурсы? Было бы неплохо сделать такое. Хотя, я не помню, как в оригинальной игре, возможно, там тоже карты предопределены.
      П.3 — было бы неплохо, как по мне. Правда, что будет с производительностью?


      1. BelBES
        15.09.2015 15:36

        Рандомные карты были только в неофициальном KB 2.


      1. oulenspiegel
        15.09.2015 15:45

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


    1. grayfolk
      15.09.2015 16:20

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


      1. oulenspiegel
        15.09.2015 16:27

        Вроде, всегда игрок. Никогда не видел другого.


        1. grayfolk
          15.09.2015 16:29

          Тогда, возможно, в KB2


  1. reizy
    15.09.2015 04:39

    Поиграл чутка:
    1) Это так и задумано?
    — набор юнитов у врагов не оригинальный
    — лучники — наемники, их мораль не должны понижать монстры
    — боссы специально перетасованы?
    2) Баги и хотелки:
    — в диалоге нападения можно открыть панель персонажа, которая перекрывает диалог визуально, но модальность поведения остается.
    — рекомендую сделать кликабельными дальние от героя поля, намного приятнее.
    — подобрал щит… вместо артефакта в панеле персонажа зеленый плюсик…
    — в режиме «с музыкой» игра виснет


    1. oulenspiegel
      15.09.2015 05:01

      1)
      > — набор юнитов у врагов не оригинальный
      > — боссы специально перетасованы?
      Да, разумеется. Это же продолжение, а не просто римейк.

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

      2)
      > — в диалоге нападения можно открыть панель персонажа, которая перекрывает диалог визуально, но модальность поведения остается.
      Ага, это поправлю.

      > — рекомендую сделать кликабельными дальние от героя поля, намного приятнее.
      В принципе, можно.

      > — подобрал щит… вместо артефакта в панеле персонажа зеленый плюсик…
      Это корректное поведение, значит этот щит не основной артефакт, а дополнительный, младший.

      > — в режиме «с музыкой» игра виснет
      Виснет в какой момент? Поточнее можно?..


      1. reizy
        15.09.2015 11:33

        > Таблица морали взята из мануалов по оригинальной игре.
        Видимо у нас разные мануалы) в моем Archers Morale Group = B, как у Pikemen например…
        > Это корректное поведение, значит этот щит не основной артефакт, а дополнительный, младший.
        Логичнее было бы при отсутствии младшего отображать старший. + на пустом поле грустно смотрится. ну и да, при наличии старшего артефакта при наведении на + так же стоит показывать младший.
        > Виснет в какой момент? Поточнее можно?..
        На загрузке. Но сейчас вроде заработало. Неужели так долго грузится? Прогресс бар нужен по-любому)


        1. oulenspiegel
          15.09.2015 11:54

          > Видимо у нас разные мануалы) в моем Archers Morale Group = B, как у Pikemen например…

          Да, действительно, видимо то ли опечатка была, то ли я сам ошибся. Поправлю.

          > Логичнее было бы при отсутствии младшего отображать старший

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

          > На загрузке. Но сейчас вроде заработало. Неужели так долго грузится? Прогресс бар нужен по-любому)

          Честный сделать не получится, т.к. там обычно параллельно грузится много файлов.
          Возможно дело в том, что я недавно починил проблему, которая была связана с багом Хрома (невысвобождение сокетов при загрузке Audio, если сразу после загрузки не сделать { audio.play(); audio.pause(); }. Из-за этого могла подвисать загрузка отдельных файлов.


          1. reizy
            15.09.2015 12:09

            Да, кстати: если нужен бета-тест — рекомендую таки создать веточку на old-games, там фанаты все-таки.


            1. oulenspiegel
              15.09.2015 16:02

              Мораль и диалоги поправил.
              А как это сделать правильно? Я просто совсем новичок на Хабре. Просто написать туда новый пост о том же?.. Или скопировать этот?..


              1. reizy
                15.09.2015 16:40

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


  1. oulenspiegel
    15.09.2015 05:01

    [удаленный коммент]


  1. enepomnyaschih
    15.09.2015 16:16

    В этот корабль не забраться. Исправьте, пожалуйста. Континентия, юго-восточнее пустыни.
    image


    1. oulenspiegel
      15.09.2015 16:33

      Поправил.


      1. enepomnyaschih
        15.09.2015 22:22

        Как так выходит, что за слабеньких злодеев из Ватернии (2) дают больше награды, чем за хорошо вооруженных злодеев из Мальбразии (3)? И, напротив, в Континентии (1) был один дешевый злодей, охраняемый 40 друидами, 80 эльфами и 15 вампирами, с которыми я справился только со второй попытки, и то, только благодаря клевому заклинанию «вломить нежити». В оригинале так же было? Я играл только в сеговскую версию, там сценарий немного отличается.

        Еще, не замечание, просто забавно: стрелковые юниты имба. Собрал 150 лучников, 150 эльфов и 25 архимагов, и сношу все без потерь.


        1. grayfolk
          15.09.2015 22:26

          Еще, не замечание, просто забавно: стрелковые юниты имба. Собрал 150 лучников, 150 эльфов и 25 архимагов, и сношу все без потерь.

          Да-да, 150+ лучников/эльфов легко сносят всякую нечисть )


          1. reizy
            16.09.2015 00:41

            этой армией без артефакта меча за первый ход даже 1го дракона не снести если не ошибаюсь (при супер-везении 195 из 200хп должно выносить)… с мечом — в полтора раза больше урон, но даже 3 дракона приведут к потерям. Дизбаланс или до драконов не дошли?


            1. enepomnyaschih
              16.09.2015 14:22

              К драконам армия слегка подросла. Первый замес с ними screencast.com/t/c8RPnwRKCrnp
              В результате добавилось +4 архимага)


              1. oulenspiegel
                16.09.2015 14:33

                А уровень сложности-то какой? :)


                1. enepomnyaschih
                  16.09.2015 15:02

                  Подловили ;) Вроде бы нормальный.


              1. ildarz
                16.09.2015 14:39

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


                1. reizy
                  16.09.2015 20:07

                  слишком это неявно для незнающих) именно поэтому я мораль цветом хелс-бара у себя отражал


        1. oulenspiegel
          16.09.2015 00:11

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


          1. enepomnyaschih
            16.09.2015 14:08
            +1

            Я победил? screencast.com/t/cY2Jgrp5P


            1. oulenspiegel
              16.09.2015 14:33

              О, округление забыл. Спасибо, поправил.


          1. enepomnyaschih
            16.09.2015 15:01

            Вот баг нашел. Заклинания не кастуются screencast.com/t/GZQRpbuu3tDe


            1. oulenspiegel
              16.09.2015 15:18

              Спасибо! Поправил.
              Интересно, что никто раньше не заметил, баг довольно старинный.


          1. enepomnyaschih
            16.09.2015 15:30

            Еще баг. Все злодеи пойманы, карта-загадка не открывается screencast.com/t/eaBR7uyVW


            1. oulenspiegel
              16.09.2015 15:41

              Пришлите, пожалуйста, сэйв на sergei.markoff (собака) gmail.com


            1. oulenspiegel
              16.09.2015 15:46

              А, понял. Скипетр уже выкопан?


              1. enepomnyaschih
                16.09.2015 15:58

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


                1. oulenspiegel
                  16.09.2015 16:00

                  Да, есть такой момент. В принципе, можно просто исключить Арбузию из списка континентов, где может быть Скипетр…


                  1. ef_end_y
                    16.09.2015 18:02

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


                  1. ef_end_y
                    16.09.2015 18:06

                    Вот это место
                    image


            1. oulenspiegel
              16.09.2015 15:59

              Поправил.


  1. reizy
    15.09.2015 16:50

    Кстати, есть альтернативная EGA графика. Можно оттуда еще картинок натырить для продолжения)


    1. oulenspiegel
      16.09.2015 00:14

      Да, там несколько юнитов отличающихся внешним видом. Копейщики, например.


  1. oulenspiegel
    18.09.2015 18:25

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


  1. Stiver
    18.09.2015 21:44

    У меня куда-то очень здорово спрятались три мятежника. Find villain говорит, что они в Арбузии в замках вида South-2, South-5… но таких замков нет на континенте.

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


    1. oulenspiegel
      20.09.2015 04:03

      Извини, поздно заметил коммент.
      Первый баг — исправлен. Можешь просто загрузить сэйв, всё будет нормально.
      Архимаги в дереве это что-то новенькое. Сэйв есть с этим безобразием? Если да, то пошли, пожалуйста, на sergei.markoff (собака) gmail.com.
      Третье не баг, а просто мелкое хулиганство. Так и задумано — там несколько сделано таких просто так.


  1. DieSlogan
    06.10.2015 14:06
    +1

    Насколько я помню, Эльфы славились тем, что у них было 2 выстрела, а не один, как у всех других лучников.