85

Онлайн браузерка ресурсами одного человека

Всем привет! В этом посте я хочу рассказать о том, как я разрабатывал онлайн-игру, а также поделиться результатом своей работы для обсуждения/критики/предложений. Итак, игра - World of Frogs

Немного предыстории:

По профессии я back-end разработчик, пишу на C#, работаю в сегменте разработки enterprise приложений. Но шарпистом-бэкендщиком я был не всегда - я увлёкся разработкой, участвуя в развитии одного из многочисленных пиратских WoW-серверов из славного Новосибирского Академгородка. Когда в 2011 году я решил начать работать, то, оценив рынок вакансий в своём городе, я пришёл к выводу, что пробиться в серьёзный геймдев вряд ли выйдет, а потому нужно копать в сторону c# или java и уже совсем в другой области. Так я на 5 лет забыл про то, чем так увлекался и что побудило меня войти в сферу IT.


Идея пришла мне в голову около года назад, после того как приехавший ко мне в гости друг показал нашумевший slither.io - тогда мне очень понравилась идея онлайн (что всегда интересней), полностью браузерной (чистый html + js - никаких флэшей) игры с низким порогом вхождения, весьма залипательной, но при том выглядящей достаточно просто для того, чтобы потянуть усилиями одного человека.


Идея зрела не один день, пока не вылилась во что-то конкретное - решил я, что формат должен быть похож на выше упомянутую игру-вдохновитель, но при этом мне хотелось принести некий кусочек чего-то подобного на WoW - набор опыта, рост по уровням, изучение способностей, PvP, PvE. Почему в качестве главного героя я выбрал лягушку? - этого я, честно говоря, уже и не помню. Вероятно, потому что лягушки прикольные :)

В качестве иных обитателей болота были выбраны тараканы и мухи.


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

Осваивая движок, я научил лягушку ходить, прыгать и бить языком

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

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

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

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

Для того, чтобы избавить игрока от лишних телодвижений и ввода ненужной информации, первоначальный вход в игру был реализован с главной страницы по одному нажатию кнопки мыши. Но т.к. онлайн-игра, как правило, предполагает возможность различать игроков между собой, был введён механизм генерации ников в виде случайного сочетания прилагательного + существительного из заранее заданного словаря. Как результат, незарегистрированному игроку может выпасть ник вида Могучий Бурундук, Жадный Лось, Дрожащий Тапок, Грозный Орангутан и т.п. :)

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

Для более комфортного привыкания к игре, было выключено нападение агрессивных NPC на игроков ниже 3-го уровня. Помимо этого убийство низкоуровневых игроков не приносит опыта, а убитые, в свою очередь, не теряют свой опыт.


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


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

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


Посмотреть игру можно на её сайте: http://frogs.world

Для обсуждения проблем, внесения предложений и иных фидбэков была создана группа в VK: https://vk.com/frogs.world

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества