Как стать автором
Обновить

Комментарии 84

Поражен вашим упорством. Надеюсь, у вас все получится. Хотя, особо в этом и не сомневаюсь.
Но, сразу небольшой фидбэк:
1) Выделите из 200к денюжку на нормальную верстку: шрифты нормальные, убрать треш типа такого https://habrastorage.org/files/277/f71/ebc/277f71ebc6284b5bbd78686f0afda00b.png (для непосвещенных, красная рамку я НЕ дорисовывал)
2) Сделайте при первом входе некую обучалку (типа, нажмите сюда, затем сюда, и т.д.)
1) Верстку я сам поправлю. Т.к. следить надо было сразу за всеми частями, некоторые моменты сделаны хуже, чем хотелось бы.
2) К релизу будет, уже в планах

Спасибо!
К сожалению не нашел ссылку на игру, можно как-то посмотреть?
я не автор, но — consulwar.ru
За ссылку меня в бан уже отправили :-) Еле упросил что бы без ссылок опубликовать после этого.
Комментатор выше все верно дал, но теперь я беспокоюсь за сохранность его аккаунта.
признаюсь я заботливо статью сразу сохранил в PDF ибо каждый такой материал на вес золота и очень нужен. А уж с остальным разберемся )
Спасибо
За ссылку меня в бан уже отправили :-) Еле упросил что бы без ссылок опубликовать после этого.


Сталкивался с такой-же ситуацией. Мне пояснили следующее:

Если хотите разместить ссылку на свой сайт в тексте публикации — то это можно сделать в категории «Я пиарюсь». Если категория другая — делаете публикацию без ссылки и добавляете ссыль в комментарии.

Так что за комментатора выше можно быть спокойным :)
Крокодил за заставке — копия ренектона из лола практически 1 в 1. Как так получилось?
У нас много чего так получилось с отсылкой к другим вселенным :-)

Отношение к пользователям…
Извините если это оскорбило лично вас.
В целом вся игра в таком стиле, присутствует ненормативная лексика и остальное.
Так что если пользователю не нравится сначала — экономит время нам обоим :-)
Спасибо.
У них своя тема.
НЛО прилетело и опубликовало эту надпись здесь
Тут явно виден стеб над современными лэндингами, какие могут быть обиды?
Мне больше понравились «отзывы игроков» :)
На странице support разместите «Нам наплевать на вас. Нет, правда.»
В техподдержке вас всегда поддержат или дадут ответ (я).
Отвечаю 100% всем.
Скажите, где вы всему этому научились? Весь проект в одиночку/вдвоём — это очень круто.

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

Картинка со схемой — да, по ней смотрим основные изменения и проверяем связанность частей.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо :-)
Выложи побольше принскринов игры, чтобы людям посмотреть, что получилось.
Меня за это забанили как раз :-) Иначально в после были
Может отдельный пост в «Я пиарюсь» сделаю. Этот хотел более техническим сделать.
Подскажите пожалуйста, какой софт использовали для построения подобных схем?
Я не совсем понял вопрос. В целом я описал в статье набор инструментов.
Meteor на беке и фронте, Mongo в качестве базы данных. Различные плагины для метеора для ряда вещей.
Весь код пишу в Sublime Text 3.

Конкретизируй вопррос, пожалуйста.
Я спрашивал именно о схеме . Какой-то сервис для построения minndmap-ов?
В качестве инструмента взаимодействия друг с другом выбрали realtimeboard — онлайн доску, на которой можно писать текст, размещать картинки, рисовать и всё это удобно связывать друг с другом.


Это было в тексте статьи :-)
Не заметил, спасибо большое.
С внедрением героев и альянсов могут быть неочевидные грабли — сложно просчитать все эффекты и удержать баланс игры.
Ну и отслеживание всяикх ботоводов — тоже интересное занятие, или вы собираетесь разрешать скрипты?
А мы это сразу заложили.
С ботоводами всё ок. От этого толку почти нуль :-) Плюс будут введены случайные события, на которые грамотно отреагировать только человек может.
С альянсами тоже есть куча крутейших идей, гибридов из разных игр.
В целом мы делаем так, что бы твинки были бесполезны.
Ровно как для приятной игры не было бы смысла сидеть по будильнику.

Хочешь скрипт? Да пожалуйста. Скажи нам — мы постараемся включить этот функционал в проект и так :-) Или изменим механику.
Игра, всё же, для удовольствия, а не для рутины.
ZPG классная тема тема, ИМХО. Нужно лишь создать условия, в которых и ботоводам и очным игрокам было одинаково интересно.
Meteor! Отлично! Для своего проекта тоже использовал метеор и нисколько не пожалел. Удачи вашему проекту.
Вы — молодец (-:
Хотелось бы ещё какое-то описание серверной части, железячной стороны
А для шаблонизатора гляньте на handlebar-helpers…
Spacebars это тот же handlebars, только подкрученный под метеор :-)
По серверной части всё просто — VPS'ка 4 ядра, 4гб оперативы. Я тут не так силён что бы что-то расписать хорошо.
А по серверной части что узнать бы хотели?
Так и я о том же, просто там уже полно хелперов и не надо свои писать, типа Вашего «eq», я об этом (-:
Собственно это я и хотел узнать — примерные параметры сервера, который должен выдержать 5000 он-лайн (-:
Когда будет 5000 онлайн я смогу с уверенностью сказать.
Пока же это расчеты в вакууме.
Вероятно большей проблемой будет канал от сервера, и надо будет что-то с этим делать. Посмотрим.
подскажите, а какой софт используется для мониторинга сессий, CPU, Response time (на скриншоте)?
kadira.io
Я использую бесплатную версию.
Но, судя по всему, она мне выдает не совсем корректную информацию.
На скриншотах написано 21 session/host — я не совсем понимаю что имеется ввиду.
Приложение запущено на 4 ядрах, т.е. 4 инстанса. На момент снятия скриншота онлайн был около 90 человек.
Вероятно показывает нагрузку только одного ядра, а остальное платно :-(
Выбрал его, т.к. подключался за пару команд.
А так для ноды очень удобен keymetrics.io например. Он круто интегрируется с PM2 и позволяет свои метрики выплевывать в реальном времени.
Хотел рассмотреть игру поближе, а тем закрытый бета-тест и нужен пригласительный код. Печаль, и скорее всего больше игрой интересоваться не буду. (к моменту публикации статьи стоило делать уже открытый тест)
Учитывая, что статья не в хабе «Я пиарюсь», всё довольно-таки логично. Описывается ведь не сама игра, а процесс.

Ну, а если появилось желание попробовать — разве жалко отдать 100 рублей для доступа к бета-тесту?
уже 1000 %(
Это как же не внимательно нужно читать, чтобы такое не заметить:

Что-то поменяли. По указанной ссылке предлагали купить акции, 1 за 1000р.

UPD. А, ясно, предлагали купить акции Boomstarter. А переход на страницу описанной браузерной игры был недоступен, что ли.
Не путайте акции бумстартера с вложениями в проект игры
Да, так и есть. Почему-то до этого не открывалась страница поддержки описанного проекта(
В принципе я даже ссылку на игру не оставлял.
Я писал пост как технический, пытаясь рассказать о многообразии решений.
А texic вам что-то рисовал или просто помогает с рекламой?
Он размещал информацию о нас у себя и так же играет :-)
Расскажите, как вы делаете анимацию с метеором? Или вы не исопльзуете реактивность для анимации?
А в чем проблема?
Я не пытаюсь потролить или ещё что то.
Просто скажите какой-нибудь более конкретный момент, а я отвечу как можно сделать анимации в нем.
Я сам не делал, но почитав ru.discovermeteor.com/chapters/animations мне показалось, что анимации достаточно сложны в реализации, если дело касается реактивности. Ну и с spacebar я слабо представляю, как добавлять новый полученый элемент в шаблон с анимацией (если читать только оф доку)
Я такие анимации не использовал.
На самом деле тут особо не отличается от других подходов — отловил событие — заанимировал :-)
Просто по умолчанию сразу идет отрисовка. Это, так сказать, отключается.
мм, а как вы отключаете? Или вы в iron-router и before action делаете манипуляции?
Банально можно не писать реактивно, то, что не должно быть реактивно.
Т.е. если есть часть страницы, которая заполняется с анимациями, в шаблоне мы можем оставить её пустой.
Далее в коде повесить событие на получение/изменение данных на странице — и уже работать с этим так же как и без метеора.
Ну теперь я обязан попробовать Meteor...)
Расскажите про аппаратную часть, пожалуйста. У вас все на одном сервере размещено? Какая конфигурация сервера? Или может облако? В связи с последними законами, сервера должны быть в России. Какую компанию выбрали, в качестве платформы?
Это интересно.
Ещё рано по аппаратной говорить.
Да, на одном.
FirstVDS, 4 ядра, 4гб оперативы. Там довольно легко тарифы веперед-назад сменять, так что, в принципе, как облако.
Если нагрузки вырастут что хватать не будет, арендуем сервер у них же, вероятно.
Но, как говорил, должно хватит на 5 000 онлайн человек, что довольно много. Главное что бы канал не проседал.
Спасибо за ответ!

У нас был сервер на FirstVDS совсем недавно…
19 августа сервер был недоступен 37 минут, перешли на vscale.io.
Я раньше размещался у vps.net, бывало несколько раз в год лежали. Даже при том что вроде как «облако».
Проблемы случаются в любых отказоустойчивых системах :-)
Ну и пока у нас нет требования 100% аптайма.
В любом случае, желаю вам 100% аптайма и широкого канала)
Спасибо!
И еще, на сколько мне известно, тарифный план там изменить нельзя. Только создав новый сервер с новым тарифом.
Если KVM то нельзя.
А так я уже перезжал, всё быстро и удобно.
Вы используете OpenVZ виртуализацию? Она ведь не гарантирует, что у вас будет проплаченное количество ресурсов системы.
Ну и? :-)
У меня загрузка сейчас 5%. Если она будет хотя бы 50% в пиках — я задумаюсь.
Мы пишем на Java, и техподдержка FirstVDS сразу нам указана на то, что с Java приложениями либо используйте KVM, либо переезжайте: мол на OpenVZ запрещено размещать Java приложения…

Трудно представляю почему. А у вас нет проблем на этот счет? (node.js)
Ещё рано по аппаратной говорить.

Пока проблем нет.
Спасибо за статью, отличная работа! И да, вы псих ещё раз)

Главная страница тоже на метеоре и на том же инстансе/сервере? Почему спрашиваю: теоритически, если игровой сервер отвалится (и все остальные инстансы, глядишь ддос) или надо срочно выключить сервер, хорошо бы, чтобы в такие моменты до пользователя можно было донести информацию/причину и не только. Нужно ли такое разделение в принципе?
Сейчас да. В целом вы правы — потом что-нибудь такое сделаем.
Zav, а почему был выбран iron-router а не flow-router? Iron уже не поддерживается длительное время, в итоге если возникнут какие-то проблемы с очередным релизом Метеора, то придётся форкать пакет и править самому.

Ты написал среди плюсов метеора — средство для дебага, можешь как-то расширить описание?

Ну и вопрос исключительно «о себе». Ты написал что это был первый проект на метеоре, нет ли после запуска ощущения, что многое можно было сделать иначе и лучше? Просто у меня после запуска первого проекта на метеоре было ощущение, что я многое сделал не правильно. И сейчас подправляю многие вещи. Вот и интересно, есть ли такое же впечатление? Просто метеор немного не обычен и думать в разработке на нём надо порой иначе.
Касательно роутера. Я взял первый, который решал задачу хорошо.
По сути у меня сейчас всего 1 роут: '/game/:menu?/:side?/:item?'
Дальше, по сути, контроллер решает что делать. Переехать на любой другой роутер не займет много времени, если возникнут проблемы.

По дебагу — имел ввиду что есть уже готовые решения. Например: github.com/kadirahq/meteor-debug

нет ли после запуска ощущения, что многое можно было сделать иначе и лучше?

Лучше можно сделать всегда. Первые две недели разработки я узнавал как делать привычные мне действия на метеоре — принципиально оно не отличается от разработки на чем угодно другом, просто позволяет некоторые моменты отдать на волю движка. Например 2 way data binding довольно хорош. При желании можно получить больше контроля, но если не надо, то метеор берёт на себя задачу полностью.

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

Выбором я доволен, в целом. Метеор — удобный инструмент.
Кстати, вот еще вопрос о котором сразу не подумал.
А как сделан механизм постройки зданий? Т.е. вот я пользователь нажал «построить», дальше постройка должна быть готова через Х минут. setTimeout тут может принести множество неожиданностей, например обновили/перезагрузили сервак и таймауты потерялись. Просто timestamp-подобный флаг времени, когда можно начать использовать здание?
Создается новый документ в коллекции query (очередь строительства), в котором указан тип, название, время старта и время окончании строительства.
Когда клиент запрашивает какое-то действие, проиходит актуализация информации — проверяется очередь, и если вермя прошло, создается запись в коллеции buildings.
Бета-тест когда-нибудь завершится?
Да, активно подготавливаем новую версию с кучей крутейших штук.
Уже скоро (относительно).
Спасибо за оперативный ответ )
В чем высший смысл ввода промокодов на -300 000 металла?
Новая вакансия, качественно лучше предыдущей: https://moikrug.ru/vacancies/1000027249
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории