RU

Урок 8 — Главная страница игры и её публикация

Главная страница: site/

Папка games/<id>/site/ (страница index.html, картинки) становится страницей игры на этом сайте и корнем вашего домена, если вы разворачиваете игру у себя (сама игра при этом лежит в play/). Примеры: Rainbow Islands, Sapiens.

  • в цветах игры и с её настоящими картинками: скриншоты (bin/jumphp shot), спрайты, тайлы;
  • большая ссылка на игру: href="play/";
  • поисковая оптимизация: <title>, <meta name="description">, Open Graph (og:image 1200 × 630), <h1>, alt у картинок, структурированные данные VideoGame;
  • абсолютные адреса пишутся как https://{{DOMAIN}}/…: сайт подставляет вместо них настоящий адрес;
  • удобство на телефоне (ширина 390 пикселей, без горизонтальной прокрутки).

Проверьте её командой bin/jumphp build:site <id>, затем bin/jumphp siteshot <id>.

Описание на всех языках

Сайт существует на 14 языках (fr en es de it pt nl pl ru uk tr ja zh ko): он показывает описание игры на языке посетителя. Напишите его в config/game.yaml на как можно большем числе этих языков (как минимум fr и en):

game:
  description: "Арканоид: 3 жизни, новая стена на каждом уровне."
  descriptions:
    fr: "Un casse-briques : 3 vies, un nouveau mur à chaque niveau."
    en: "A brick breaker: 3 lives, a new wall every level."
    es: "Un rompeladrillos: 3 vidas, un muro nuevo en cada nivel."

Если перевода на язык посетителя нет, показывается описание проекта.

Сайт игры на других языках

site/index.html — страница на основном языке игры (её <html lang>). Каждый перевод кладётся в site/<код>/index.html (например, site/en/index.html): та же страница в переводе, с относительными путями на одну папку выше (../images/…, игра в ../play/). Здесь посетитель видит страницу на своём языке, если она есть. Каждая страница перечисляет все языки (<link rel="alternate" hreflang="…">) и содержит небольшое меню языков; sitemap.xml даёт по одному адресу на язык. Ваш Claude умеет это делать (AGENTS.md §13 из JumPHP).

Картинка для каталога

assets/thumbnail.png (16:9). Если её нет, сайт берёт картинку og:image главной страницы, затем иконку игры, а при её отсутствии фотографирует саму игру в браузере.

Что сайт добавляет к каждой игре

  • Установить: каждая игра устанавливается как приложение (на телефоне и на компьютере) со своей иконкой (assets/icon.png);
  • Поделиться: системное меню «Поделиться» на телефоне или соцсети на компьютере;
  • оценки игроков (от 1 до 5 звёзд, без аккаунта) и счётчик запусков;
  • исходники и онлайн-редактор;
  • версии (🕘): каждый коммит, изменивший игру. У игроков всегда последняя опубликованная версия; старую можно снова сыграть, взять в песочницу, восстановить (автору: из его редактора, «Отправить на GitHub») или сделать её форк;
  • комментарии, ящик идей и проблемы, о которых сообщают игроки, с аккаунтом или без. Анонимные сообщения появляются только после вашего одобрения. Колокольчик 🔔 вверху сайта считает новые сообщения о ваших играх и те, что ждут вашего одобрения; его страница (Уведомления) перечисляет их все, с кнопками ✓ Одобрить, Отметить решённой (для проблемы) и Удалить.

Публикация

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