Pull to refresh

MMORPG без лишних деталей

Reading time4 min
Views30K


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

Про игрушку


«Сказка» — это многопользовательская браузерная Zero Player Game с действующей моделью сказочного мира.

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

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

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

От советников зависит экономика городов и их расовый состав. Сами же города (и другие строения) влияют на карту мира. За счёт этого она всегда изменяется: на месте равнин появляются горы, засушливые пустыни сменяются болотами.

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

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

Кроме интересного геймплея в игре присутствует оригинальный мир, который мы всячески холим и лелеем (в основном этим занимаются Саша и Лена). Знакомятся с ним игроки через отрывки рассказов легендарных личностей, например:

такие
…Ты уверен, о умнейший из самых глупых представителей своей расы? Ты хочешь купить язвенный гиматий?.. А цену ты себе представляешь?.. Что?! Если бы у меня не было этого плаща, то я бы так и сказал, уж поверь мне, Каиниллину. У меня есть всё. Да только язвенный гиматий – вещь, мягко говоря, на любителя. Но, коль скоро ты настаиваешь… Прошу. Взгляни на эту вещицу…

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

Прощаю великодушно. Мало того, я понимаю твои чувства. Язвенный гиматий, плащ из кожи язвомора, покрытой мерзкими коростами – это, на внешний вид, редкая дрянь. Иногда даже, в сырую погоду, эта кожа продолжает источать нечто отвратное, похожее на… Фу. Даже говорить не хочется. Но, я так понимаю, тебе порекомендовали этот плащ, как отличную защиту? Что ж, вещь, безусловно, полезная. Если ты достаточно… не брезглив. Будешь брать?..
Купец Каиниллин «Торг с путешественником»

или такие
Шёл я как-то в город орков… Да не знаю я, как он сейчас называется, переименовали… Песок вокруг, ночь, прохладно… Да, в пустынях, что б ты знал, ночами холодно! Молодёжь… И тут откуда ни возьмись появляется этакая человекоподобная горилла лысая. В одних штанах из кожи, на поясе высушенные человеческие головы… Знаешь, такие как бы скукожившиеся до размера кулака? Почерневшие?.. Чего это у тебя булькает? Нормально себя чувствуешь?.. Ладно. Так вот. Ростом полтора меня. На руках когти, что твои серпы. Морда оскаленная, и по зубам видно — не травоядное оно. Только я сталь из ножен вытянул…

Единственный раз Переяр пожалел, что на охоту пошёл. Потом я узнал — шайтан на меня налетел. Он мне первым ударом обе ноги перебил, сволочь. Вторым кишки мне выпустил. Я, перед тем как кончиться, успел ещё увидеть, как они этаким фонтаном мясным взлетают… Ну кто-кто? Кишки!.. Да мои! Ну чьи ещё-то?.. Что!? Я, Переяр, вру?! Ангел мой, хранитель, к жизни меня вернул. Да я, что б ты знал, шайтана этого, бестию, на следующий день по следам его догнал. Вон видишь в банке что-то заспиртовано? Угадаешь что?…
Из бесед у камина со старым Переяром

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

Несвязный набор интересных фактов


  • разработка заняла 9 месяцев вечернего прототипирования + 2 года фултайм работы одного программиста;
  • игрушка полностью написана на Python (в качестве веб-фреймворка используется Django);
  • за 2 года разработки был 41 релиз, что составляет примерно одно обновление в 2-3 недели;
  • около половины кода составляют тесты (их больше 3000);
  • «чистый» код (без тестов и миграций) занимает 40к строк или 1.5 мегабайта;
  • код игры постепенно выкладывается под BSD лицензией, со временем будет открыт весь (список выделенных библиотек можно посмотреть, например, тут), сейчас это генераторы имён, карты, текста, квестов;
  • на текущий момент в игре 2400 зарегистрированных игроков, из них 450 активных, 90 подписчиков;
  • около 30% игроков в игру привели друзья;
  • с момента включения платежей (август 2013) мы заработали 1800$ :-)
  • за всю историю платило 190 игроков (8% от всех);
  • средний платёж: 5$;
  • больше 60% дохода составляет подписка;
  • на разработку за 2 года ушло примерно 1500$ (еда и жильё сюда не включены).

И ещё немного текста


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

Нам, конечно, очень хочется продолжать, но для этого нужна ваша поддержка. Поэтому этот пост можно считать не только рассказом об игре, но и приглашением к народному финансированию. Наша игровая валюта — печеньки — приходите ;-)

Также мы с радостью пообщаемся (а можем и посотрудничать) со всеми заинтересованными в технологиях и механиках, использующихся в игре.
Tags:
Hubs:
Total votes 74: ↑66 and ↓8+58
Comments34

Articles