UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

Салют, котаны. В процессе разработки игр мы столкнулись с тем, что приходилось самим реализовывать раз за разом кучу второстепенного функционала. И с каждым новым проектом эти проблемы появлялись снова и снова. А хотелось бы чего-нибудь вроде...Battle.Net?! Как минимум, хотелось, чтоб у игроков был один общий аккаунт между всеми нашими играми. Затем можно навесить поверх этого систему друзей и кросс-чат. Дальше-больше.

Почитать про нас можно в прошлых статьях.

Для нашей последней игры Hero Masters мы начали работу над таким сервисом. Изначально технологически мы строили это дело вокруг технологий, с которыми раньше работали: consul.io для сервис дискавери, Rethinkdb как основное хранилище, небольшие резвые сервисы на node.js. В какой-то момент мы осознали, что разработчиков, которые сталкиваются с похожей проблемой, довольно много. Ведь хочется работать именно над игрой, а не тратить уйму времени на, конечно важные, но не кор фичи. Так и родился UnnyNet.

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

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

Немного про технологии

Под капотом у нас Nakama от Heroic Labs. Эти парни как и мы прошли через Y Combinator и предоставляют интересное решение для гейм-девелоперов. Nakama написана на Go. Для вас, как разработчика, это не особо важно. Но если возникнут какие-то проблемы или вам нужно будет что-то допилить, то в коде легко разобраться и добавить необходимое. А сборка бинарника происходит одной командой ٩(◕‿◕。)۶

Также Nakama предоставляет возможность самим писать небольшие модули на Lua, если вам не хватает какого-то функционала из коробки.

Дополнительные сервисы у нас написаны на node.js.

Клиент на React.js.

Решение пока только для Unity3d (Android + iOS). Но работаем над возможностью встроить в WebGL/HTML5 игры.

Добавить плагин в ваш проект - дело пары минут:

Фичи

На данный момент есть чат, гильдии, ачивки, лидерборды, система друзей.

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

В чате разработчик может создать несколько различных каналов и задать картинку для них, если хочет.

Ачивки, в целом, похожи на оные и в других системах.

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

Разработчик может назначить тип ачивки (разовая, инкрементная и т.п) и количество очков в награду.

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

Лидерборды, собственно, тоже обычные:

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

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

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

Сотрудничество с PlayMaker

Недавно мы начали сотрудничать с тулзой для визуального программирования - PlayMaker .

Теперь интегрировать UnnyNet стало ещё проще!

UnnyNet: решение для быстрой интеграции чата, гильдий, ачивок и прочих социальных фич в вашу игру на Unity3d

Что дальше?

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

Заключение

На данный момент мы ищем небольшие инди команды, которые хотели бы опробовать продукт. Интересно ваше мнение, в какую сторону развивать сервис, какие фичи вы хотели бы увидеть следующими.

3939
40 комментариев

Спасибо за материал.

Можно такой вопрос, чем ваше решение лучше аналогичного от Google Play Games Services / GameCenter?

1

Для Android нужно прикручивать GPG, для iOS их ГеймЦентр и т.д, а тут всё в одном месте. Плюс, Ачивки/Лидерборды - это лишь часть функционала. Я не припомню, чтоб GPG предоставлял чат и систему друзей ^_^

2

о, это крутая тема! С полгода назад искали варианты чего-то подобного для своей игры. Обязательно глянем.

1

Чем не устроили GameSparks, PlayFab и другие уже существующие решения?

1

Основная идея была в простоте добавления решения. Юнинет полностью автономен, включает в себя и UI, и серверное решение, т.е не придётся даже собирать окна. Ну и мы не чарджим разработчиков за базовый набор фич, что очень важно для инди. При этом нет ограничений никаких по CCU, MAU.

Для нашей последней игры Hero Masters мы начали работу над таким сервисомА зачем? Игра обычная "стенка на стенку" с автоматическим всем, то есть персонажи сами бегают и воюют, а игрок иногда рисует, свапает и тапает. Зачем для игры, где толком играть нельзя, нужен свой типа лаунчер?

Так это не лаунчер. Это плагин (если мы говорим про Юнити), позволяющие добавить в игру всякие социальные фичи типо чата. Или я вас не правильно понял? о_О

2