GameDev и канделябр

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

Наверное, многие помнят карточную игру “Марьяж”, которая манила к ЭЛТ мониторам игроков более десятка лет назад.



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



Первый призыв


Для написания игры изначально был нанят один разработчик из Белорусии, который обещал выпустить приложение в течении двух месяцев, с учётом того, что я предоставляю ему готовый дизайн. При этом, по мере возможности, ему должен был помогать коллега. Работа была оценена в $2000 + % от продаж. После получения аванса в $1000 работа закипела. Шел октябрь 2011 года.

Рекогносцировка


Изначально о портировании чего-либо не было и мысли. Было желание написать преферанс для платформы Android, который стал бы круче всех остальных. Ничего более оригинального, чем изучение специализированной литературы мы не придумали, поэтому стали читать всё, что было доступно в интернете. Среди всех книг выделялся “Русский преферанс” Дмитрия Лесного, с главой, обосновывающей математическую базу игры, которая написана академиком Леонидом Михайловичем Литвиным. К сожалению (хотя, скорее, к счастью), книгу купить было нереально, а во всех онлайн версиях нужная часть книги попросту отсутствовала. Набравшись смелости, мы написали письмо автору и, к своему удивлению, почти мгновенно получили не только недостающую часть книги, но и… исходники Windows версии игры!



Разведка боем и военный трибунал


Казалось бы, вот есть исходники, работа должна быстро продвигаться. Аж но нет, наступило глубокое затишье. Лишь изредка, как лучи солнца сквозь тучи зимой, в свн пробивались комиты, которые даже не позволяли собрать билд. Ближе к январю и они прекратились, рука потянулась за канделябром. После долгих споров, разработчик вернул $500 и мы разошлись миром. Замечу, что в этот же период был создан первый вариант дизайна, за который было заплачено $275, качество было соответствующее.

Переход на контрактную армию


Январь 2012. Потрачено 2,5 месяца и $775, не сделано ничего. По счастливой случайности, друг решивший сменить профиль с Delphi разработчика на Android, принял моё предложение о сотрудничестве и работа закипела. В дальнейшем все рассчёты с разработчиками проходили только через Odesk.

Захват плацдарма


Если вам не интересны технические проблемы, которые мы испытали при портировании игры, сразу переходите к разделу “Наступление”. Сейчас мы смахнём скупую слезу умиления и расскажем о том, с чем нам пришлось столкнуться.

Как уже писали раньше, наличие исходников не означало быстрой победы. Код был весьма запутан, UI шел вперемешку с логикой. Многие (в том числе глобальные) переменные и поля классов состояли из двух-трех букв, а названия классов и методов содержали неизвестные аббревиатуры. Масти и ранги карт, уровни ставок получались в результате магических битовых операций. Что мешало обернуть их функцией с понятным названием — загадка. Пришлось многое постигать экспериментально, пытаясь угадать предназначение той или иной операции.


(Запомните этот фрагмент кода. Ниже мы покажем его современную версию)

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

Первый прототип имел существенный недостаток — работал на смартфоне настолько медленно, что играть было попросту невозможно. Забегая вперёд, скажем, что количество итераций при вычислении оптимального хода в зависимости от уровня игрока варьируется от 25000 до нескольких миллионов, причем многие из вызовов — рекурсивны.
“Перепиши на С!” — советовали мне некоторые знакомые, мотивируя тем, что джава тормозная, а вот на С всё будет летать. Рука опять тянулась к канделябру, но на этот раз хотелось врезать уже себе, так как в этом случае еще несколько месяцев оплаченной работы пришлось бы выбросить. Такой вариант никак не радовал, а из оружия у нас был только гладкоствольный рефакторинг и мелкокалиберная оптимизация. Его мы и применили.

Закрепляемся на рубеже


Очевидно, что игра с тугодумным ИИ не интересна пользователю, поэтому первым делом было решено ускорить алгоритм для уменьшения задержек до разумных пределов. В качестве минимального устройства мы брали HTC Desire, в качестве “среднячка” — Samsung Galaxy S2. Также хотелось удостовериться, что порт алгоритма был сделан верно и оптимизация его не нарушит. Для достижения этой цели были “допилены” оригинальные исходники Марьяжа. Программа была научена проигрывать расклад всеми уровнями игроков на разных конвенциях и записывать результат в XML файл. Для этого пришлось провести долгую и кропотливую работу по отделению интерфейса от логики в Delphi. Аналогичный XML мы получали и из нашего Java кода, затем результат сравнивали. Таким образом, мы получили около миллиона игр, 70 тысяч из которых были отобраны в качестве эталонных. После каждого шага оптимизации мы прогоняли их заново.

Что же было сделано для оптимизации скорости расчетов?
  • Мы отказались от использования EnumSet, EnumMap. Казалось бы, это одни из самых быстрых коллекций в Java, но даже в них затраты на лишние проверки и вызовы дополнительных методов были слишком высокими;
  • Был написан собственный контейнер CardSet, который хранил карты в массиве из 4-х short-ов (сразу по мастям) и использовал битовую арифметику;
  • Для вычисления длины масти (и, соотвественно, всего множества карт) а так же младшей и старшей карты использовались предварительно рассчитанные массивы;
  • Одним из главных пожирателей скорости оказались итераторы. Даже постоянное преобразование из массива 4-х мастей в массив карт и проход по этому массиву выполнялся быстрее, чем вызов самого простого итератора;
  • В самых критичных местах пришлось отказаться от использования классов (включая массивы и Enum-ы) вообще и все перевести на примитивные типы и битовую арифметику. В некоторых случаях оказалось быстрее хранить данные в long и постоянно извлекать из него отдельные байты посредством битовой арифметики, чем хранить их отдельно в массивах. На виртуальной машине Android даже такие небольшие выделения памяти очень сильно ударяют по производительности, если вызываются очень часто. Разница видна и на Oracle JVM.


В итоге нам удалось достигнуть оптимизации скорости в десятки раз (от того, что одна игра считалась несколько секунд на Core i7 до того, что сейчас за секунду просчитывается в среднем 5 игр на самых сложных уровнях). И мы обошлись без переписывания даже части алгоритмов на C, что существенно упростило отладку и тестирование. Сейчас наш продукт работает достаточно быстро даже на HTC Desire, а если и задумывается, то показывается прогресс расчетов. Такого в Марьяже не было, хотя когда компьютеры еще были достаточно слабыми, ходов приходилось ждать по нескольку минут.

Вот что получилось в итоге из того кода, который был приведен в начале статьи:



И вот как он выглядит вживую:



Переходим в наступление


На момент выхода второго прототипа на маркете уже существовали реализации преферанса, поэтому хотелось не ударить в грязь лицом и сделать что-то действительно хорошее. Для начала мы просили знакомых сыграть пару партий и внимательно наблюдали за ходом игры. В итоге интерфейс был существенно изменён, а в игру был добавлен новый уровень сложности — школьник. Изначально нового уровня сложности не планировалось, но после того, как мой друг закончил пулю с более чем 200 в горе и швырнул в меня телефон, я понял что нужно что-то совсем простое. Текущий школьник не просто плохо играет, он еще и помогает игроку! Чтобы удержать пользователя в игре, мы добавили режим “Путешествие”, в котором предложили сыграть в 20 городах с постепенно возрастающей от города к городу сложностью соперников. Мы считаем, что это нам удалось. По данным гугл аналитики средняя длина сессии составляет около 10 минут и более 70% игроков играют в данном режиме. Продвижения как такового мы не делали, так как Admob не рекламирует азартные игры, а заниматься скупкой закачек, не получая тех же денег взамен, явно не стоит. Пробовали купить промо в ЖЖ, результата это не дало. И тем не менее, после публикации на Google Play и анонса на паре форумов мы попали в “Top 10” карточных игр в Украине и в “Top 20” в России в течении первого месяца, отхватив тем самым солидный кусок рынка. За три месяца нашу игру скачало более 50 000 пользователей. Отмечу так же, что статья о Преферансе на вики написана автором конкурирующего продукта и добавить свою ссылку нам не удалось.



Партизанское движение


Как и любой продукт, наша игра игра имеет группу хейтеров, переодически испускающих лучи ненависти на форумах и в коментариях на Google Play. Их объединяет одна и та же мысль: “Я N лет играл в преф и обыгрывал всех в своём дворе, а тут проигрываю? Мухлёж!” Оказывается, у нас и боты играют сообща, и картами они меняются, да и вообще карты мы специально раздаем плохие… Спасибо Google, который дал возможность отвечать на коментарии! Рейтинг, конечно, этим не исправишь, но хоть морально стало легче.

Помощь местного населения


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

Битвы, которые мы проиграли


  • Изначально хотелось получить не только аудиторию стран бывшего СССР, но и хотя бы небольшую часть тех, кто в преферанс никогда не играл. Для этого сделали дизайн в стиле казино, по умолчанию поставили рубашку “Bicycle 808” а не “Шарлеманя”. Не удалось — запад не хочет играть в преф;
  • Сделали локализацию на сербский, так как игра там популярна. После локализации аудитория не выросла, а осталась такой же малой (1%);
  • Бесплатная версия приложения. Частенько прилетают единицы без коментариев или же с обвинениями в том, что мы требуем деньги в случае проигрыша. На фоне конкурента, который принуждает ставить ему 5 звездочек, не давая продолжить игру, закрыв диалог (за полтора месяца рост составил 0.7 с 3.8 до 4.5), мы имеем солидный удар по рейтингу. Забавно наблюдать, как при практически равном количестве закачек, предложение конкурентов прорейтинговали втрое больше, при этом даже негативные коментарии имеют 5*. Куда смотрит Google? Вопросы, вопросы;
  • В определённый момент, под давлением профи, мы улучшили школьника. Он перестал помогать, и в нас полетели камни в виде единиц. Многие игроки используют школьников как источник монет, поэтому такой шаг им не понравился. Исправились мы довольно быстро.


Личный состав


После военного трибунала, первые полгода над проектом работал один программист полный рабочий день, а так же ночь и выходные. Так же был нанят дизайнер, который бросил нас, сделав 50% работы, мотивируя отказ тем, что решил завязать с фрилансом и выйти на постоянку. Следующие полгода (а зарелизили мы 31 декабря 2012 в 23-48) этот же программист работал по вечерам и выходным дням, через три месяца к нему присоедилился еще один молодой, но очень толковый напарник, который изначально взял на себя анимации, а потом выполнял всевозможные задачи.

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

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

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

Планы по захвату мира


Останавливаться на достигнутом мы не собираемся — уже ведутся работы над iOS версией, а также версией Online. Ссылки не оставляю, ищущий да обрящет :)
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 86

    +2
    Раз уж вы настолько погрузились в исходники, может новую версию и для РС сделаете?
      +3
      Сейчас идёт портирование игры на Unity3D, поэтому можно ожидать версию под PC и не только. Всё будет, но постепенно.
        0
        А чего ж вы сразу на юнити не стали писать? Очевидно же, что думать только о дроиде невыгодно. Надо сразу iOS + Android,
          0
          1) Писали изначально под Андроид, так как его хорошо знали;
          2) Версия на Юнити не пойдет на некоторых устройствах так как нужно достаточно много памяти. После первого релиза мы обнаружили, что у пользователей игра вылетает с out of memory, при этом пик был до 20 мегабайт. Текущая версия на юнити, которая в разработке, тянет до 50.
          3) Для покупки лицензий (нам надо про версия) необходимо около $5000. Вкладывать такую сумму сразу было страшно, так как сложно было спрогнозировать успех игры.
          –1
          Простите, а зачем 3D?
      +1
      Насчет исходников: много лет доступны исходники OpenPref.
      Насчет конкурентов: их не море, но они есть. В он-лайн это Трильяж-Клуб, в Г-Маркете Преферанс. Впрочем, уверен, что вы про них знаете.
      Я уже почти 20 лет нежно люблю эту игру. Перепробовал разные варианты приложений, ни к одному душа так и не легла. Но развитие этой темы категорически приветствую, поскольку это способствует её популяризации.
        +3
        Да, про Play-On-Smart мы в курсе, именно про них и написано в статье. Работа над онлайн версией игры ведётся паралельно с портированием на Unity. Кстати, буквально вчера один из авторов Марьяжа Лев Натансов вышел на связь и выразил желание помочь в совершенствовании алгоритмов.
          +1
          У Play-On-Smart довольно много огрехов, хочу сказать. Впрочем, за 5 минут изучения вашей версии тоже нашел огрехи. Мелкие, конечно, пока не углублялся. Например, в первой партии я упорно вистовал до прикупа, и лишь потом осознал, что у меня в четырех мастях семёрки, а не тузы. Похожи шибко. Благо, игроки из «Урюпинска» настолько тупые, что там где заведомо «без трех» в итоге «своя» получилась.
          Я не раз задумывался, каким бы я хотел видеть компьютерный преферанс.
          Первое, самое главное мое условие — возможность «заморозки» игры. Если посередине партии мне нужно резко сорваться по делам, телефон перезагрузится или даже захочу продолжить с планшета (хотя это уже перебор), то игра должна начаться аккурат с того места, на котором прервалась, с той же раздачей на руках, с теми же ходами после раздачи и на той же руке. Помню, как я троллил роботов-партнеров от Play-On-Smart: не нравится мне прикуп на моем мизере, фигак ТаскКиллером игру прибил, запускаю заново и — вуаля — все про мой мизер уже забыли.
          Второе условие — возможность поиграть с живыми людьми, ибо с роботами можно играть для тренировки извилин и совсем от нефиг делать. А удовольствия ну никакого.
          К сожалению, эти два требования совместимы чуть менее чем полностью.
            +1
            Про колоду нам пишут замечания, в планах есть добавление атласной колоды. Текущая колода была выбрана из-за того, что она хорошо отображается на всех экранах, даже довольно мелких.
            Далее про Урюпинск — мы сегодня выпустили апдейт 1.2.3 в котором явно указали силу соперников в городах. В первом городе играют школьники, которых, как написано в статье, в оригинальном Марьяже не было. Если вы хорошо играете — Лондон и аспиранты вас ждут :)

            Заморозка игры есть в том виде, как вы хотите. После каждого хода идёт сохранение.
            Вохможность поиграть с живыми людьми — будет обязательно.
        +2
        Главным показателем юзабельности первоначальной ДОСовской версии Марьяжа для меня стало то, что я без труда научил играть старенького дедушку.
        Дам ему на тестирование вашу версию
          +1
          В самых критичных местах пришлось отказаться от использования классов (включая массивы и Enum-ы) вообще и все перевести на примитивные типы и битовую арифметику. В некоторых случаях оказалось быстрее хранить данные в long и постоянно извлекать из него отдельные байты посредством битовой арифметики, чем хранить их отдельно в массивах. На виртуальной машине Android даже такие небольшие выделения памяти очень сильно ударяют по производительности, если вызываются очень часто. Разница видна и на Oracle JVM.
          А всё потому что в яве структур нет (которые value-типы и размещаются на стеке). Делали бы на Mono for Android, проблем бы большинство решилось без таких костылей.
            +1
            Делали на том, что знали и что не требовало покупки лицензий. Опять же, сейчас при портировании на Unity3D столкнулись с тем, что придётся отказаться от поддержки ARMv6. На такое мы пойти пока не готовы, так как такие пользователи есть и обижать их не хотим. Поэтому версия на Unity пока что пойдёт только владельцем айфонов и айпадов, а мы будем следить за рынком.
              –1
              Вы как-то неправильно кодите на Unity. Думаю, наш проект — куда более сложный графически и по требованиям к железу. И для дроида он собран для ARMv6.
                0
                Сейчас разрабатываем на 4 версии Unity, поддержки 6 арма в ней нет. То что ваш продукт сложнее с графической точки зрения — это очевидно. Но пока у пользователей есть первые нексусы и дизаеры, юнити версия им не светит.
                  –1
                  Аа… мы-то на 3.5 сделали. Четверку еще не смотрел.
            0
            Марьяж был лучшим компьютерным ИИ в преферансе.

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

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

              0
              Если верить гугл аналитике, обыграть пару Аспирантов (в старой версии Марьяжа — Мастеров) могут менее 3% от пользователей. В то же время более 20% не могут обыграть пару Студентов с первого раза. Хотя, безусловно, опытный игрок разденет любой уровень ИИ, кроме Шулера.

              А онлайн — конечно же только с живыми людьми, даже 1 бота садить за стол смысла нет.
                0
                Преферанс это не игра с тем кто знает твои карты — знал бы прикуп жил бы в Сочи.

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

                Это я к тому говорю, что сравнивать количество пользователей которые играют онлайн постоянно, с теми кто попробовал — совершенно неправильно.

                Я и сейчас регулярно расписываю пулю, но предпочитаю свои деньги отдать сервису, где мне гарантируют адекватных игроков при вменяемой сервисе. И мои партнеры так же. И это те люди, которые играют постоянно. т.е. те кто приносит доход сервису
                  0
                  Это я к тому говорю, что сравнивать количество пользователей которые играют онлайн постоянно, с теми кто попробовал — совершенно неправильно.

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

                  Мы только в начале этого пути, постараемся грамотно реализовать алгоритм выбора соперника по уровню игрока, хотя, сами понимаете, в самом начале партнёры могут попасться разные.
              0
              Игра очень нравится. Когда она появилась — был очень счастлив, так как долго не мог найти преферанса под андройда. Вчера очередной раз играл, а сегодня статья на Хабре.
              Из сильно раздражающих минусов — весьма заметные поддавки на низких уровнях.
                +4
                Из сильно раздражающих минусов — весьма заметные поддавки на низких уровнях.

                Как написано в статье, в одной из версий игры мы слегка обучили школьников и получили шквал критики и волну единиц. Убрать низкие уровни нельзя, так как среднестатистический пользователь скачает, проиграет и удалит. Я понимаю, что профи играть скучно, особенно в первых трёх городах, но других вариантов нет. Рекомендую поставить пулю до 5 и пройти начальные уровни за 15 минут.
                  0
                  Может, для пропуска города сделаете по одной «уровневой» задачке, как то: поймать мизер, вкатить не менее N вагонов и прочее.
                  И кстати — в «Марьяже» была специальная «тормозилка» — чтобы комп не ходил слишком быстро, несколько манипуляций с DeDe и ODebug ускоряли игровой процесс в разы. В гудроидную версию она тоже перекочевала?

                  PS: как тут не верить в совпадения, если минут за 10 до публикации вашей статьи я поставил себе ваш преферанс?
                    0
                    Может, для пропуска города сделаете по одной «уровневой» задачке, как то: поймать мизер, вкатить не менее N вагонов и прочее.

                    Это всё хорошо, но более ориентировано на профи, да и надо дождаться карт на руке.
                    И кстати — в «Марьяже» была специальная «тормозилка» — чтобы комп не ходил слишком быстро, несколько манипуляций с DeDe и ODebug ускоряли игровой процесс в разы. В гудроидную версию она тоже перекочевала?

                    Нет у нас такого. У нас наоборот, если есть единственный вариант хода, то ИИ ходит мгновенно. На слабых девайсах пользователям это не особо нравится, так как явно видно, что больше карт в этой масти нет.
                0
                Отличная игра, писал уже об этом в маркете.
                Но не хватает варианта «Я ошибся», например ткнул случйно не 8черв, а 8 буб.
                Можно ввести подобную фичу? Пусть ограниченно — скажем один раз за партию и пусть компьютер удостоверится что выбранная масть (или может мизер случайно кликнул) не соответсвует тому, что на руках.
                  0
                  Да, есть такая просьба. Пока что не придумали как реализоать её красиво: переспрашивать каждый раз явно плохо, надо принимать решение анализируя карты игрока. Но мы помним про это.
                    0
                    Если делать откат на ход назад — то можно держать в памяти 2 сохранения — предыдущий ход и предпредыдущий. Ну и в гуи завести кнопочку я ошибся = загрузке предпредыдущего сохранения. Чтобы не читерили — счетчик использований кнопки с ограничением + урезка выигрыша в партию в зависимости от частоты использования. Так не годится?
                      0
                      Откат назад засветит вам карту противника, если вы не первая рука. Не охота делать костыли и усложнять логику, придумаем элегантное решение, основанное на рассчётах (к примеру, предупреждать о недоборе более чем 4) — реализуем.
                  0
                  Так а ссылок нет? Посмотреть нельзя?
                  Регулярно играю на гамблере в ленинградку. И хотя клиент достаточно спорный и играть можно только с реальными людьми (ботов нет), но более толкового исполнения я не встречал. К тому же они из года в год усовершенствуют игру.
                    0
                    Поищите в googleplay по фразе «Преферанс», а дальше — по иконке профиля автора поста.
                    +1
                    Было бы интересно почитать исходники DOS-версии. Играла в нее когда-то. Хотя бы узнать что находится в премиум-меню, для входа куда нужна была регистрация.
                      0
                      У нас нет исходников DOS версии. В Windows версии есть дополнительная панель для разработчика, которая позволяет натравить ботов друг на друга и проиграть один и тот же расклад разными уровнями соперника.
                      0
                      С удовольствием прочитал статью, ребята, огромное спасибо за вашу работу! Я перепробовал уже много версий преферанса под андроит и pc, но на pc до сих пор играю в Marriage 303 под дос. Как меня папа в него научил играть, так мы с ним до сих пор в него и рубимся) Под андроид очень хотел проферанс, но перепробовал кучу версий и ничего не понраивлось, совершенно. Недавно нашёл вашу версию и доволен на 9 из 10. Сделано всё очень здорово, но помимо уже указанных недочётов, добавлю всё-таки одно замечание: начиная с уровня «сочи» в путешествии становится заметным такая картина, что сыграв, к примеру, восьмерную, то ближайшие 2-3 раздачи можно быть уверенным, что расклад будует примерно 3 — 3 — 3 — 1… причём карты будут средней масти 10, В, Д, К и будет такая ситуация, что невыгодно ничего — играть никак, а на распасах живым уйти если и удастся, то как минимум малой кровью. В реальной игре это нормально и даже проигрывая понимаешь, что это «расклад батенька, расклад». А тут, когда понимаешь, что это постоянно такое происходит начинаешь думать о том, чтобы найти разработчиков и рукой тянешся к канделябру ;)
                        0
                        Начиная с Сочи, у нас добавляется один Бакалавр, который играет чуть лучше Студента. Тоесть ИИ начинает выигрывать больше. Относительно раскладов, как мы уже писали и неоднократно — они у нас, по умолчанию, случайные. Нам нет смысла что-то подтасовывать. Если есть желание — могу прислать код класса, отвечающего за раздачу карт, убедитесь сами. ИМХО, надо тренироваться :)
                          0
                          Если не сложно, то пришлите, я бы хотел убить свои сомнения и мог спокойно дальше тренироваться :)
                          0
                          Оставил коммент в google play. Чуть более развернуто прокомментирую тут.
                          Вы продаете игру на google play. Представленно как бесплатно. Платной версии игры на google play нет.
                          По результатам маленького теста:
                          1) Игра предлагает 3 варианта действия с главного экрана: Путешествие, где открыт только первый город (дальше только при выигрыше?), Учебка, где максимум студенты и Премиум, который ведет на google play с оплатой 2.99Евро для отмены рекламы и открытие учебки.
                          2) Попробовал поиграть со студентами: 6 как 8 на нормальных раскладах это ВСЕГДА. То есть заклад на все. Сиди, не вистуй и жди карты. Как способ сгонять пульку для удовольствия не катит.
                          3) Путешествие это классно для аркад, головоломок. Я не хочу сидеть над игрой часами, чтобы получить возможность играть с нормальными противниками. При этом, как я понял и могу ошибаться, в Путешествии выдается 500 монет и если их все проиграешь, то надо покупать или играть опять начальные уровня с дуболомами?

                          Резюме для меня:
                          1) В данном варианте игра НЕ БЕСПЛАТНАЯ. Бесплатная часть игры ограничена ниже всякой играбельности.
                          2) Покупка полной версии только через in-app purchase. Я так не покупаю.
                          3) Игры/приложения которые умалчивают о том, чтобы поиграть/использовать (а не попробовать) надо платить через in-app purchase в описании сразу отправляются в топку.

                          Вопрос залу:
                          Есть ли какие-то разумные доводы не продавать полную версию игры через google play, а только через in-app purchase? На ум приходит только борьба с распространением апк через форумы (пиратство), но мне кажется что таким образом теряется больше покупателей, чем приобретается.
                            0
                            в Путешествии выдается 500 монет и если их все проиграешь, то надо покупать или играть опять начальные уровня с дуболомами?

                            Вроде как города открываются за заработанные монетки, причем все до выбранного города (т.е. не выгодно открывать по одному, лучше открыть как можно более «дорогой» город — остальные до него должны открыться сами).
                              +5
                              1) Да, города открываются при выигрыше, либо же можно открыть при наличии монет. Цена премиума — 100 рублей для России, это меньше чем 2.99 евро. Просто сделали «красивую цену» для всех стран.
                              2) Не согласен с вами, студенты ошибаются. Да, они играют неплохо, как минимум лучше чем все бесплатные аналоги.
                              3) Вы правы, если ваш баланс ниже нуля в Путешенствии, то надо либо докупать монет (либо же устанавливать приложения с TapJoy) либо начать сначала.

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

                              Есть ли какие-то разумные доводы не продавать полную версию игры через google play, а только через in-app purchase?

                              Есть. Одну версию программы проще поддерживать чем две. Покупка отдельной версии игры ничем не отличается чем покупке премиум версии через in-app. Большинство игр сейчас работают по той же схеме. Более того, многие игры изначально стоят минималку + содержат в себе n-app. Надеюсь, ответил на все ваши вопросы.
                                –3
                                2) Не согласен с вами, студенты ошибаются. Да, они играют неплохо, как минимум лучше чем все бесплатные аналоги.


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

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


                                Во-первых вы показываете рекламу, так что про полную бесплатность не надо. Во-вторых, я не против платной версии, я не готов покупать через in-app в бесплатном приложении. В-третьих, если вы продаете платную версию под видом бесплатной, то указывайте пожалуйста это в описании.
                                Проблема продажи преферанса как головоломки/аркады в том, что это совсем не подходит для тех кто умеет играть. Если для того чтобы попасть в интересные уровни Angry Birds/Cut the Rope требуется 5-30секунд на простой уровень и они никуда не пропадают, то у вас надо потратить достаточно большое время, а потом опять (если проиграл) играть сначала в НЕИНТЕРЕСНЫЙ преферанс, чтобы заработать монет.

                                Я не против вашей стратегии получения прибыли от приложения (может она более выгодная и таких как я слишком мало), я постарался объяснить, почему я ваше приложение удалил, не заплатил вам 3евро (я живу в Австрии) и оценил ваше приложение только в 3 звезды на маркете.
                                  +2
                                  Оптимальная стратегия пас на висте в независимости от карт. То что они еще ошибаются при розыгрыше делает все только хуже.

                                  Это не правда.

                                  Во-первых вы показываете рекламу, так что про полную бесплатность не надо.

                                  Реклама — это копейки. Она скорее для того, чтобы подстегнуть пользователя к покупке полной версии. Более того, в отличии от конкурентов, мы не показываем рекламу всё время во время игры (а только по завершению раунда и выборе городов) и не пишем в описании «Пожалуйста, время от времени кликайте на рекламу». Всё сделано для того, чтобы играть было удобно и ничего не отвлекало в процессе принятия решений.

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

                                  Игра бесплатная. За деньги можно купить некоторые фичи, которые не влияют на игровой процесс.

                                  а потом опять (если проиграл) играть сначала в НЕИНТЕРЕСНЫЙ преферанс

                                  Погодите, вы проиграли и вам еще не интересно? Что то не складывается. Повторюсь, мы не ограничиваем пользователей, играть можно сколько угодно долго и со всеми уровнями соперников.
                                    –2
                                    Погодите, вы проиграли и вам еще не интересно? Что то не складывается.


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

                                    Игра бесплатная. За деньги можно купить некоторые фичи, которые не влияют на игровой процесс.


                                    Извините, но основная играбельная фича вашей программы не Путешествие, как вы хотите считать, а Учебка с выбранным уровнем оппонентов. И эта функция является платной. Мне не нужна преферанс-аркада.
                                      +1
                                      Извините, но основная играбельная фича вашей программы не Путешествие, как вы хотите считать, а Учебка с выбранным уровнем оппонентов.

                                      Это ваша точка зрения.

                                      И эта функция является платной.

                                      Да, эта функция платная. Мы считаем, что это нормально.
                                      Мне не нужна преферанс-аркада.

                                      Значит наша игра — не для вас.
                                        +1
                                        С этим не поспоришь :) Это ваше право учитывать или не учитывать отзывы возможных покупателей.
                                          0
                                          С этим не поспоришь :) Это ваше право учитывать или не учитывать отзывы возможных покупателей.

                                          Именно. Понравится всем — невозможно. Мы постарались сделать игру так, чтобы большинству было интересно.
                              0
                              Компьютерный преф все время начинаю играть и почти сразу прекращаю. Проблема в том, что возможность тыцнуть мышкой мимо «8 червей» в «мизер» или вместо «9 пик» в «9 треф» — очень и очень ненулевая.
                                0
                                Был как то в командировке, дал свой ноут нашему водителю что бы во время простоя поиграл в преферанс. Как он ругался!!! :)))
                                Он неплохо играл, но точпад ноутбука подкидывал ему сюрпризы — то незапланированный мизер, то снос чего то нужного
                                0
                                Спасибо за игру, давно отец научил в ДОСовский марьяж, когде еще с дискеты загружали.
                                Что мне очень не понравилось, это 7-10 — я привык к тому, что на карте должно быть кол-во мастей, а не большая масть (из-за этого несколько раз з тузом перепутал).
                                  0
                                  Будет новая колода совсем скоро. Просто на мелких экранах привычная всем атласная колода выглядит не очень. Туз мы отдельно задизайнили, должен выделяться.
                                  0
                                  Скажите, а какая, в результате, наисвежайшая версия для PC? Неужели, все еще 2.44 (2007)?
                                    0
                                    Да, более новой версии нет. У нас, пока что, еще более старый алгоритм, но скоро мы его обновим. Будет 2.44+ (с правками от Льва Натансона)
                                      0
                                      Где её взять, подскажите…
                                      0
                                      Подскажите, где в игре настройки находятся? Многие правила в преферансе договорные. В «путешествии» даже тип игры, вроде как выбрать нельзя (хотя, возможно, я плохо смотрел).
                                        0
                                        Рядом с кнопкой «Старт» — есть шестерёнка. Жмём на неё :)
                                          +1
                                          Точно. Спасибо. Хорошо закопали :)
                                          Имхо, настройки стоит в основное меню вытащить. Установка договорных правил, это первое что обычно делает человек в подобном приложении (речь не про совсем новичков сейчас).
                                            0
                                            И как-то странно вы основной режим назвали: «учебка». Учебка, имхо, это ваш тур по городам, где новички могут поучиться играть. А вот режим, в котором можно зайти и играть на нужной тебе сложности как-то странно учебкой называть.
                                              0
                                              И как-то странно вы основной режим назвали: «учебка». Учебка, имхо, это ваш тур по городам, где новички могут поучиться играть.

                                              Это вы просто по городам пока далеко не зашли. Туда, без подготовки, мы бы не рекомендовали сразу идти, так как начиная с Сочи можно проиграться. Поэтому хорошая стратегия для старта — потренироваться на студентах, а потом путешествовать.
                                                0
                                                Я пока никуда не заходил. Я на работе. Вечером попробую. Но, думаю, 10 лет опыта игры в преферанс позволит мне играть на эксперте. По крайней мере, все приложения, которые я видел были интересны только на максимальном уровне сложности. Хотя я далеко не профи.
                                                  0
                                                  Если вы играли в Марьяж, то наш ИИ один к одному. Думаю, с аспирантами есть смысл сыграть.
                                                –2
                                                лол, еще один как я :) Нас уже двое :)
                                                  0
                                                  Трое =)
                                                    0
                                                    Трое, мне совершенно не интересно играть в этом режиме с городами. Куда приятнее просто сыграть небольшую пульку по нужным правилам. Например: Сочи, пулька до 20, жлобский вист, пасы 1,2,3,3..., выход 6,7,7… подсадом не разрешен, не сталинград, 10 проверяется, ответственный последний вистующий и поехали )
                                                      0
                                                      Трое, мне совершенно не интересно играть в этом режиме с городами. Куда приятнее просто сыграть небольшую пульку по нужным правилам. Например: Сочи, пулька до 20, жлобский вист, пасы 1,2,3,3..., выход 6,7,7… подсадом не разрешен, не сталинград, 10 проверяется, ответственный последний вистующий и поехали )

                                                      Такая возможность есть в учебке. Заходите, выбирайте соперников, настройки — и вперёд!
                                                        0
                                                        Да я так и делаю, купил платную. Но настроек маловато…
                                                          0
                                                          Но настроек маловато…

                                                          Чего не хватает? Возможно мы можем легко добавить. К примеру, в этом релизе добавили (6,7,8,6,7,8,… ) по просьбам игроков.
                                                            0
                                                            Вист-Пас-Полвиста не настраивается. Ещё что-то было по мелочи. Основное есть.
                                                              0
                                                              Вист-Пас-Полвиста не настраивается.

                                                              Нет в оригинальной версии исходников.
                                                                0
                                                                У меня в версии 2.3 15.07.99 есть
                                                                  0
                                                                  У нас сейчас версия еще более ранняя. Эта опция есть только в интерфейсе, но реально она не работает. Как я уже писал выше, Лев Натансон прислал нам версию 2.44+ которую мы обязательно портируем. Если будет работать — добавим.
                                              +1
                                              Купил сразу полную версию. Потому как лучше марьяжа ИИ не было, пробовал почти все. Даже было желание попробовать повторить, но после декомпиляции стало понятно, что там адовые исходники. Не думал, что создатели так легко могут поделиться ими =).

                                              Соглашусь с StasTs, сделано не очень удобно для профи. Странно, что под словом «Учебка» подразумевается обычная игра с выбором противников. ИМХО, вы можете не соглашаться, я только выскажусь.

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

                                              И вопрос, а в первых играх расклады не подставные? В первую партию слишком уж карта шла.
                                                0
                                                Соглашусь с StasTs, сделано не очень удобно для профи.

                                                Профи менее 10%, ориентироваться на них с точки зрения маркетинга — глупо.

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

                                                Уровень ИИ уже на уровне Сочи для многих — непреодолим. Если проигрываешь в городе со сложностью в 2*, то логично что дальше будет только сложнее. Кроме того, многие играли в Марьяж и помнят уровень соперников.

                                                И вопрос, а в первых играх расклады не подставные? В первую партию слишком уж карта шла.

                                                Расклады случайные по умолчанию. Но если вы играли в трёх первых городах, то там сидят школьники, которые помогают вам сыграть. Если вы видите, что у вас на руке чистые 6, можно смело заказывать 7. Но студенты такого уже не простят.
                                                  0
                                                  Профи менее 10%, ориентироваться на них с точки зрения маркетинга — глупо.

                                                  Спрорное утверждение. Если вы написали действительно сильный ИИ, выпустите отдельную, более дорогую, pro версию, без свистелок. Я думаю, профи оценят.

                                                  Если вы видите, что у вас на руке чистые 6, можно смело заказывать 7.

                                                  Вы бы сами в преферанс поиграли. Заказывать нужно ту игру, которую вы, с большой долей вероятности, сможете сыграть. Считать, что противники дураки — порочная практика, имхо. Не нужно новичков к этому приучать.
                                                  Преферанс — не покер, тут только расчет. Блеф, как правило, не проходит.
                                                    0
                                                    Если вы написали действительно сильный ИИ

                                                    ИИ написали много лет назад Лев Натансон и Андрей Серов, мы лишь адаптировали для мобильных устройств.
                                                    выпустите отдельную, более дорогую, pro версию, без свистелок

                                                    Там внизу кнопочка «Премиум» для такого случая. Более того, мы советуемся с Дмитрием Лесным по поводу стратегии игры, идея с Путешествием ему так же понравилась.

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

                                                    Я играю, каждый день :) Вы просто пока что не играли со школьниками, а моя фраза относится только к ним. Они не думают, а ходят первой подходящей картой. Тоесть если вы зашли с козырного туза, они скинут короля, а на мизере могут зайти с крупной карты. Школьник он и есть школьник. Студенты такого не простят.
                                                    0
                                                    Профи менее 10%, ориентироваться на них с точки зрения маркетинга — глупо.

                                                    Не спорю. Я больше о том, что название «Учебка» путает.

                                                    Кроме того, многие играли в Марьяж и помнят уровень соперников.

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

                                                    Расклады случайные по умолчанию. Но если вы играли в трёх первых городах, то там сидят школьники, которые помогают вам сыграть. Если вы видите, что у вас на руке чистые 6, можно смело заказывать 7. Но студенты такого уже не простят.

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

                                                    Ну и сразу фичиреквест — добавьте в учебку статистику и историю партий.
                                                      0
                                                      Могут не заметить что алгоритмы от марьяжа

                                                      Второе предложение из описания на маркете гласит:
                                                      Различные уровни сложности, основанные на алгоритмах от гуру преферанса Дмитрия Лесного совместно с Львом Натансоном и Андреем Серовым (авторами Марьяжа для Windows), гарантируют увлекательную игру как новичкам, так и профи.

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

                                                      Ну и сразу фичиреквест — добавьте в учебку статистику и историю партий.

                                                      Есть в плане, будет сделано.
                                                  +1
                                                  Отец до сих пор играет в Марьяж Ж)
                                                    0
                                                    Хотел бы задать Вам вопрос, как с специалистам «в теме».

                                                    Я бы с удовольствием попробовал написать алгоритмический движок для игры в преф, если бы была какая-то инфраструктура и стандарты записи.
                                                    Например, у шахмат все движки могут получить позицию в формате FEN (Форсайта-Эдвардса) и выдать на выход топ 10 ходов с оценкой каждого хода.
                                                    Такие движки легко сравнивать, легко подключать в какой нибудь Фритц.

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

                                                      0
                                                      Например, у шахмат все движки могут получить позицию в формате FEN (Форсайта-Эдвардса) и выдать на выход топ 10 ходов с оценкой каждого хода.

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

                                                      Какой нибудь стандарт записи позиции, численная оценка хода и т.д.?

                                                      Сложно сказать, скорее всего нет.

                                                      Как вы сравниваете свой алгоритм с другими ИИ?

                                                      Я качаю с маркета всё что вижу. Другии ИИ, которые есть сейчас, я обыгрываю довольно легко (ктоме тех случаев где они откровенно жульничают). А вообще у нас есть своя система, которая позволяет сыграть партию между ботами с пошаговым логированием. В идеале, если кому то интересно, можно просто сравнивать результаты розыгрыша.
                                                        0
                                                        А может быть ввести такой стандарт? Я бы с удовольствием посоревновался с движком Марьяжа. А Вы как раз его переписали. Если бы отделить движок от визуальной части плюс стандартизировать вход-выход — как бы это было здорово для развития ИИ префа.
                                                        Если Вам интересно этим заняться, я бы так-же мог поучаствовать в разработке аналога FEN для префа.
                                                          0
                                                          Если вам интересно, напишите мне в личку имейл и я могу вам прислать примеры наших «стандартных» логов. А движок, от визуальной части, конечно же, отделён. Можно довольно легко прикрутить любой другой ИИ при желании.
                                                      0
                                                      Планирую купить платную версию. Но вот вопрос — после переустановки игры при смене прошивки покупать придется опять иди нет?
                                                        0
                                                        Нет, не придется
                                                          0
                                                          Но монеты, заработанные в путешенствии — пропадут, так как пока всё храним локально. Полная версия привязана к учётной записи Google, поэтому можно смело менять прошивки и играть на любом количестве устройств.
                                                        0
                                                        На фоне конкурента, который принуждает ставить ему 5 звездочек, не давая продолжить игру, закрыв диалог
                                                        А это случаем не нарушает правила Гугл-Маркета? Можно ли отправить жалобу?

                                                        уже ведутся работы над iOS версией
                                                        Здорово. А есть понимание сроков?
                                                        0
                                                        Спасибо. Извините.
                                                          0
                                                          Спасибо за продукт, отличный. Замечания напишу в треде об iOS.

                                                          Те, кому не нравится путешествие, могут выставить пулю до 5, и пройти N городов за час. Я быстро дошёл до своего уровня, хи-хи (Арзамас, 2.5 из 5).

                                                          Английский перевод, мнэ, не производит впечатления.

                                                          Если не секрет, а академик получает долю за свою интеллектуальную собственность? Это было бы справедливо.

                                                          Only users with full accounts can post comments. Log in, please.