튜토리얼 8 — 게임 홈페이지와 게시
홈페이지: site/
games/<id>/site/ 폴더(index.html 페이지와 이미지)는 이 사이트에서 게임의 페이지가 되고, 직접 배포하면 내 도메인의 루트가 돼요(게임은 play/에 있어요). 예시: Rainbow Islands, Sapiens.
- 게임의 색감과 실제 이미지로 꾸미세요. 스크린샷(
bin/jumphp shot), 스프라이트, 타일을 써요. - 게임으로 가는 큰 링크:
href="play/". - 검색 노출:
<title>,<meta name="description">, Open Graph(1200 × 630og:image),<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는 방법을 알고 있습니다(JumPHP의 AGENTS.md §13).
디렉터리 이미지
assets/thumbnail.png(16:9)예요. 없으면 사이트가 홈페이지의 og:image 이미지를, 그것도 없으면 게임 아이콘을 쓰고, 그것도 없으면 브라우저에서 게임 화면을 직접 촬영해요.
사이트가 모든 게임에 더해 주는 것
- 설치: 모든 게임을 (휴대폰과 컴퓨터에) 앱처럼 설치할 수 있어요. 아이콘은
assets/icon.png예요. - 공유: 휴대폰의 공유 시트, 컴퓨터에서는 소셜 네트워크로 공유해요.
- 플레이어의 평점(1~5점, 계정 불필요)과 플레이 횟수 카운터.
- 소스와 온라인 에디터.
- 버전(🕘): 게임을 바꾼 모든 커밋이에요. 플레이어는 항상 최신 게시 버전을 플레이해요. 이전 버전은 다시 플레이하거나, 샌드박스에서 이어서 작업하거나, 복원(작성자는 에디터에서 “GitHub로 보내기”)하거나 포크할 수 있어요.
- 플레이어가 계정이 있든 없든 남기는 댓글, 아이디어 상자, 신고된 문제. 익명 메시지는 내가 승인해야 표시돼요. 사이트 상단의 **종 아이콘 🔔**은 내 게임에 달린 새 메시지와 승인을 기다리는 메시지의 수를 보여 줘요. 그 페이지(알림)에서 모두 볼 수 있고, ✓ 승인, 해결로 표시(문제의 경우), 삭제 버튼이 있어요.
게시
저장소의 기본 브랜치에 푸시할 때마다 1분 안에 게시돼요. 스튜디오의 프로젝트 페이지에서 게시 상태와 오류를 확인할 수 있고, 디렉터리에서 게임을 숨길 수도 있어요.