MMORPG без лишних деталей: год спустя

bc3bc434903946e597c195d13f44eab3.pngЗдравствуй, сообщество.Прошёл год, с моего рассказал о нашей независимой браузерке: MMORPG без лишних деталей. За этот год произошло много разных событий, которые тебе, сообщество, не интересны — мало ли кто что в своей игрушке делает. Поэтому рассказывать о них я не буду.

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

Поскольку ещё в начале разработки было решено стать максимально открытыми для всех, то, когда потребовалось собирать статистику, мы поступили просто: открыли доступ к ней всем желающим, включая игроков.Лежит она вот тут: the-tale.org/statistics/ и обновляется раз в сутки. Единственный недостаток — все суммы выражены в игровой валюте, но правила перевода указаны, так что не пугайтесь.

Вот, например, график наших месячных доходов.

1dad26a2ef304d7a93021e33a5f36dc8.png

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

Для самых любопытных вот небольшая выдержка (на 26 марта 2015 года):

монетизация запущена 4 августа 2013 года; всего 10000 регистраций; хоть раз заплатил каждый 10-ый пользователь; за всё время заработано около 10 000$ (после вычета комиссий и налогов); рекорд в месяц: 2500$; ARPPU большую часть времени колеблется около 5$; Наша игра, с большего, текстовая. Все действия героя и важные события описываются небольшими фразами в его журнале (то, что происходит прямо сейчас) и дневнике (недавние важные события). На текущий момент у нас 433 уникальных типа фраз на все случаи жизни.Чтобы не мучать игроков однообразным контентом, понадобилось реализовать продвинутый шаблонизатор текста, учитывающий зависимости слов и их морфологические признаки.

Продемонстрировать его работу лучше всего на примере.

В зависимости от значений переменных, вот такой шаблон: Вчера [mob] [укусил|mob] [hero|вн].

Может стать как фразой: Вчера гиена укусила Халлра.Так и: Вчера светлячки укусили привидение.

Разберём пример подробно Вчера — обычный текст. [mob] — переменная, вместо которой подставится название монстра. [укусил|mob] — слово, зависимое от переменной, часть его свойств будет изменяться в зависимости от свойств названия монстра (например, число). Генератор текста автоматически распознаёт свойства формы слова и пытается их сохранить (например, будет распознано и сохранено прошедшее время). [hero|вн] — переменная, вместо которой подставится имя героя. Дополнительно указано, что имя должно быть в винительном падеже. Примеры использования и подробное описание формата можно посмотреть на сайте игры — новые фразы придумываются и оформляются игроками.Код генератора открыт и лежит на гитхабе: github.com/Tiendil/utg/

Кстати, наша база фраз общедоступна, поэтому если вдруг вам понадобится 100500 способов описать как один персонаж шинкует другого, то у нас они есть.

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

© Habrahabr.ru