Доработка и техническая поддержка платформы с ретро-играми

Может ли разработчик быть максимально полезен для легаси-проекта даже при скромном бюджете
Клиент: Платформа браузерных ретро-игр Classic Reload.
Задача: Настроить рекламные блоки и обновить дизайн, в условиях ограниченного бюджета и критического легаси улучшить UX, производительность и удобство запуска игр, сохранив монетизацию.
Технологии: Drupal 7, PHP, кастомная Drupal-тема, JavaScript.
Результат: Редизайн интегрирован поверх легаси-темы, эмулятор вынесен на отдельную страницу, добавлена клавиатура для мобильных устройств, улучшена навигация по категориям. Клиент получил точечные правки и честное предупреждение о рисках безопасности Drupal 7.
О клиенте
К нам обратился владелец проекта Classic Reload — платформы для запуска старых игр в браузере через специальные плееры (эмуляторы). Бизнес-модель клиента проста: он скупает подобные сайты, монетизирует их через рекламу и получает прибыль. Изначально задача казалась мелкой — настроить рекламные блоки и красиво их расставить. Но, как это часто бывает с легаси-проектами, мелкая правка вскрыла огромный пласт технического долга, с которым нам придётся иметь дело и пытаться лечить точечно.

Платформа работает как маркетплейс, где инвестор (покупатель) находит выгодное предложение от девелопера (продавца), а сделку организует профессиональный брокер. Брокеры проводят глубокую аналитику, оформляя её в виде детальных карточек — «инвест-решений». В карточке собраны все ключевые данные: цена, локация, доходность, стратегия, риски, условия ипотеки. За успешную сделку брокер получает комиссию.
Техническое состояние проекта на старте
Тема
Сайт работает на Drupal 7, поддержка которого официально прекращена в январе 2025 года. Изначальная тема была контрибной (готовой и выложенной на drupal.org), но позже предыдущие разработчики написали для неё много кастомного кода. Так как бюджета и намерения фундаментально решить проблему у клиента не было, нам пришлось добавить туда ещё больше кастомных стилей под новый дизайн.
Эмуляторы
Уникальность платформы заключается в запуске игр через эмуляторы. И они стали ключевой архитектурной проблемой. Всего на сайте работают четыре эмулятора:

  • старый — для одной половины игр;
  • новый — для второй половины игр;
  • псевдо-эмулятор для игр с сайта Archive.org — хранилища различного цифрового контента, в том числе и ретро-игр. Клиент решил не хранить файлы игр у себя, а тянуть их напрямую с Archive.org. API нам никто не давал, поэтому мы просто парсим файлы. Эта интеграция ещё сильнее запутала систему;
  • эмулятор для HTML-игр с ресурса WGPlayground, встраиваемых через iframe.
Проблемы интерфейса управления (UX для админа)
Страница создания и редактирования игры представляет собой одну гигантскую форму с 30–40 полями, идущими сплошным полотном, без всякой группировки. Работать с ней невероятно сложно.
Что мы сделали на проекте
Несмотря на то, что на полный рефакторинг нет бюджета, мы провели несколько важных работ, чтобы улучшить пользовательский опыт и выполнить задачи клиента:
Реализовали редизайн «поверх»

Клиент принёс новый дизайн, и мы интегрировали его в существующую старую тему. Мы не трогали ядро, только освежили внешний вид новыми стилями.
Реорганизовали структуру страниц

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

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

Раньше игра запускалась в окне на той же странице, где висело 6–7 рекламных блоков. Это тормозило загрузку и раздражало пользователей. Мы повесили на страницу игры кнопку «Запустить», которая ведёт на новую вкладку с эмулятором. На новой вкладке мы оставили всего 2–3 рекламных блока, а окно самого эмулятора стало больше. Это решило проблему производительности и удобства игры.
Мелкие правки и поддержка

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

Мы не могли не предупредить клиента о рисках. Был случай, когда на одном из проектов на Drupal 7 сайт взломали и внедрили майнер. Это реальная угроза для сайтов на неподдерживаемых версиях CMS. Мы написали клиенту предупреждение о необходимости перехода на Drupal 10, особенно после инцидента с майнером.
Что было сделано на проекте
  • Интеграция нового дизайна в устаревшую кастомную тему Drupal 7.
  • Рефакторинг логики запуска игр. Результат: вынесение эмулятора на отдельную страницу.
  • Оптимизация рекламной нагрузки в виде сокращения количества рекламных блоков на странице запуска игры.
  • Доработка структуры сайта: добавление новых категорий и разделов для улучшения навигации.
  • Реализация нестандартного способа загрузки контента (игр) с Archive.org без использования официального API.
  • Текущая техническая поддержка и исправление багов по запросу.
Что получил клиент
  • Обновлённый внешний вид без затрат на капитальную перестройку ядра сайта.
  • Улучшение пользовательского опыта. Играть стало удобнее благодаря выделенной странице под эмулятор.
  • Потенциальный рост доходов от рекламы. Это обусловлено тем, что игра не закрывает рекламные блоки на старой странице, а реклама пусть и в меньшем объёме, но остаётся на новой странице запуска.
  • Быстрое решение точечных задач. Мы оперативно реагируем на просьбы клиента по скриптам и багам.
  • Честное предупреждение о рисках. Мы рассказали клиенту о критических уязвимостях безопасности на Drupal 7 и угрозе взлома (вплоть до внедрения майнеров), взяв на себя ответственность экспертов, а не просто исполнителей.
Какую экспертизу получила веб-студия
Этот проект — отличный кейс по работе в условиях жёстких бюджетных ограничений и критического легаси. Мы подтвердили свою экспертизу в следующих аспектах:
  • Работа с «зоопарком» легаси-кода
    Мы вносим правки так, чтобы хрупкая архитектура не обрушилась.
    01
  • Диагностика архитектурных рисков
    Мы видим проблемы не только на поверхности, но и в связке «старый эмулятор-новый эмулятор-парсинг с Archive.org». Понимаем, к каким последствиям приводит такое дублирование логики (например, необходимость вносить изменения дважды).
    02
  • Миграция пользовательских сценариев
    Опыт выноса ключевого функционала (эмулятор) на отдельную страницу с сохранением монетизации — это необычная задача, с которой мы справились успешно.
    03
  • Опасность устаревших систем
    Кроме понимания, что Drupal 7 не поддерживается разработчиками CMS, мы понимаем и последствия его использования в сегодняшней практике и умеем объяснить эти риски клиенту, даже если он не готов платить за полную переделку.
    04
Подпишитесь на рассылку
Мы регулярно выпускаем новые статьи и кейсы
Отправляя эту форму, вы даёте согласие на обработку персональных данных ООО “Дроп Софт”
в целях обработки заявки и обратной связи.