Для тех кому интересны текстовые RP/RPG

Всем привет. Меня зовут Игорь. Основатель сайта role-me.net.
Я не серийный предприниматель, у меня нет острова, и я даже не какой-то супер шарящий чел, обычный джун. Решил как-то вечером сделать небольшой сайт для таких же любителей попереписываться, погонять в ролки по гарри поттеру, наруто и т.д. Цели коммерциализироваться проект нет, довести до окупаемости на сервер - да. Но еще больше хотелось бы собрать друзей, единомышленников, семью (перед глазами Торрето).
Немного о сподвижении.

За это время успел посидеть на форумах, в пабликах, мессенджерах и специализированных сервисах. Где-то было уютно, но всё держалось на энтузиазме пары администраторов. Где-то возможностей было столько, что перед первой игрой приходилось изучать интерфейс как инструкцию к микроволновке. А где-то сайт выглядел современно, но пользоваться им с телефона было больно.

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

Так появился role-me.net - небольшой сайт для текстовых ролевых игр. Не стал заморачиваться над именем и SEO это моя слабая сторона, и самая скучная для меня часть, так как за жизнь я настраивал SEO у трех сайтов. Благо что-то вычитал сделал, настроил. Но как мне подсказали у конкурента с аналогичным название слишком много "времени в интернете" и он уже топчик хоть и закрылся или нет, в общем он какой-то мертвый и жизнь там идет только из-за подписчиков, но сами функции вроде бы как мертвы, могу ошибаться. Я смирился, так как уже купил домен, над которым тоже много не хотел думать. Мне надо было сделать скорее внутри качественно чем такие вещи (которые я почему-то недооцениваю).

Что я хотел сделать

У проекта изначально не было задачи собрать в одном месте вообще все возможные функции.

Наоборот, хотелось оставить только то, что действительно нужно для игры:

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

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

В итоге сайт получился довольно простым снаружи, хотя внутри простоты уже давно нет.

Карточки сюжетов вместо длинных стен текста

Основная лента построена на карточках.

В карточке видны баннер, короткое описание, и теги. Ессть кнопка сохранить с Fandom/Orginal бейдж. Пользовательский текст и теги сохраняются на исходном языке. Добавил локализацию сайта, мало ли, но только системные вещи, сами карточки если написаны на русском нет смысла переводить, ибо там будет сленговая речь и выйдет что попало.

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

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

Переписка и сама игра разделены

Обычные личные сообщения и ролевая переписка — это разные пространства. Ролевые сообщения это по сюжета. Личка - ну это классическая личка в профиле, как и на любых форумах, она предназначена для каких-то личных вопросов.

В самих чатах, уже есть форматирование текста, цитирование, копирование сообщений, поиск по переписке, импорт и экспорт чата.
Импорт и эспорт сделал платными, всякие не обязательные приколюхи типа смены банеров или для любителей писать супер огромные посты, которые скорее подходят для фанфиков на мой взглд, чем ролок сделал за отдельный тариф, кстати достаточно символический и не обязательный. Функционал сайта раскрваывается спокойно и без этих штук. У меня пока мало народу, но из тех кто играет спокойно %80 спокойно сидят и не жалуются.

Анонимность без полного исчезновения человека

На сайте есть режим инкогнито.

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

При этом я не хотел, чтобы анонимность выглядела как сломанная картинка или пустое место. Поэтому у скрытых пользователей есть единая аватарка с перечёркнутым глазом.

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

Получился компромисс между приватностью и нормальным человеческим общением.

Сайт не является просто растянутой мобильной версией

Мобильный и компьютерный интерфейсы проектировались отдельно.

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

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

Два языка, но без машинного перевода творчества

Интерфейс Role Me работает на русском и английском языках.

Что находится под капотом

Основная часть проекта сделана на:

  • Next.js с App Router;
  • TypeScript;
  • React;
  • Tailwind CSS и CSS Modules;
  • Prisma;
  • реляционной базе данных;
  • серверных API-маршрутах и отдельных сервисных модулях.

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

Проект собирается и разворачивается как обычное современное веб-приложение. Есть отдельные проверки бизнес-логики, ограничение запросов, обработка загрузок и базовые защитные механизмы.

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

Что получилось в итоге

Сейчас Role Me готов примерно на 99%.

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

Я не считаю сайт убийцей форумов, Telegram или других ролевых площадок. У каждого формата своя аудитория.

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

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

Посмотреть сайт можно по адресу role-me.net.

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

2