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

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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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

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


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


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

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


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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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

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

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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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

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

Онлайн браузерка ресурсами одного человека Игры, Браузерные игры, Онлайн, Разработка, Gamedev, Длиннопост

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


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


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

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


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

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

Лига Разработчиков Видеоигр

7.5K постов22.6K подписчика

Добавить пост

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

Вы смотрите срез комментариев. Показать все
7
Автор поста оценил этот комментарий

почему разместил не на .ио?

раскрыть ветку (2)
2
Автор поста оценил этот комментарий
А почему надо размещать на .ио?
раскрыть ветку (1)
6
Автор поста оценил этот комментарий

узнаваемость как минимум) io games - это уже некоторый бренд)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку