게임을 링크로 공유한다는 것은 플레이어가 한 번만 탭하면 다운로드할 것도 설치되지도 않은 채 플레이한다는 의미입니다.
소규모 게임이나 프로토타입의 경우, 그 격차는 실제로 플레이할지 여부를 결정하는 가장 큰 요소입니다.

이 가이드에서는 터치 컨트롤, 게임을 하나의 파일로 유지, 처음 10초, 진행 상황 저장 및 페이지가 실행되는 위치를 다룹니다.
터치 컨트롤은 선택 사항이 아닙니다
브라우저 게임이 실행되지 않는 가장 일반적인 이유는 키보드가 필요하기 때문입니다.
링크로 전송된 게임은 이를 수신한 대부분의 사람들이 휴대폰에서 실행하게 됩니다. 화살표 키를 사용할 수 없고 WASD를 사용할 수 없으며 플레이어는 몇 초 안에 WASD를 닫습니다.
<div class="pad" aria-label="Controls">
<button data-dir="left" aria-label="Left">←</button>
<button data-dir="right" aria-label="Right">→</button>
<button data-act="fire" aria-label="Fire">•</button>
</div>
.pad { display: flex; gap: 0.75rem; justify-content: center; padding: 1rem; }
.pad button {
width: 4rem; height: 4rem; border-radius: 1rem;
font-size: 1.5rem; touch-action: manipulation;
}
@media (pointer: fine) { .pad { display: none; } }
두 가지 세부 사항이 많은 작업을 수행합니다. 조작 터치 동작은 브라우저가 탭이 두 번 탭 확대/축소인지 확인하기 위해 기다리는 것을 중지합니다. 그렇지 않으면 모든 입력에 눈에 띄는 지연이 추가됩니다. 그리고 포인터 쿼리는 마우스가 있는 장치의 패드를 숨기므로 데스크톱 플레이어는 키보드 버전을 얻습니다.
버튼을 정말 크게 만드세요. 4렘은 넉넉하지 않고 엄지 손가락으로 작동하는 최소값입니다.
가능한 한 파일에 보관하세요.
자체 포함된 페이지에는 외부 종속성이 없으므로 로드되지 않은 스타일시트, 변경된 경로의 스크립트, 이동할 때 작동하지 않고 로컬에서 작동하는 자산 등 전체 실패 클래스를 제거합니다.
소규모 게임의 경우 가장 강력한 배송 방법입니다. 스타일과 스크립트를 인라인하고 작은 자산을 직접 인코딩합니다. 자체 포함된 HTML 파일 및 단일 HTML 파일 게임의 기술입니다.
단점은 파일 크기입니다. 수백 킬로바이트 이상의 자산을 별도로 로드하고 진행 상태를 표시하는 것이 하나의 큰 페이지보다 낫습니다.
처음 10초가 모든 것을 결정한다
플레이어는 어려운 수준에서 종료하지 않습니다. 그들은 무엇을 해야 할지 알 수 없었기 때문에 처음 10초 만에 그만 두었습니다.
첫 번째 상호 작용을 명확하고 즉각적으로 만드십시오. 메뉴가 있는 타이틀 화면도 없고, 읽을 지침도 없고, 입력할 이름도 없습니다. 페이지가 나타난 후 1초 이내에 무언가가 움직이거나 무언가를 탭할 수 있는 것이 분명해집니다.
지침을 앞쪽에 두기보다는 필요한 곳에 두십시오. 기계공이 가장 중요한 순간에 한 줄 힌트가 아무도 읽지 않은 문단보다 더 잘 가르칩니다.

진행 상황 저장 중
귀하가 직접 호스팅하는 페이지에서 브라우저 저장소는 해당 장치 방문 사이에 점수 또는 저장을 유지합니다. NOS 공유 링크에서 플레이어는 소유자가 저장한 것부터 시작하고 자신의 진행 상황은 다시 로드할 때까지만 지속됩니다.
localStorage.setItem('best', String(score));
const best = Number(localStorage.getItem('best') || 0);
유용하지만 신뢰할 수 없습니다. 장치별, 브라우저별이며 플레이어가 지울 수 있습니다. 약속한 저장 시스템이 아니라 복귀 플레이어가 최고 점수를 유지할 수 있도록 편의를 위해 사용하십시오.
여러 장치에서 살아남아야 하는 모든 것에는 계정과 서버가 필요합니다. 이는 다른 프로젝트입니다. 로컬 스토리지의 배경입니다.
페이지가 부족한 경우
한계를 분명히 하십시오.
네트워크 멀티플레이어에는 플레이어 간에 메시지를 전달하는 서버가 필요합니다. 한 장치의 핫시트는 괜찮습니다. 다른 곳에서 친구와 대결하는 것은 아닙니다.
플레이어 전체의 리더보드에는 점수를 저장하기 위한 중앙 위치가 필요합니다. 지역 최고 점수가 작동합니다. 전역 테이블은 그렇지 않습니다.
대규모 자산 로드는 로드 상태가 없으면 어색하고 단일 파일에 있는 경우에는 어색합니다.
안티치트는 존재하지 않습니다. 페이지의 모든 내용은 플레이어가 읽고 변경할 수 있으므로 브라우저에서 제출된 점수는 신뢰할 수 없습니다.
퍼즐, 프로토타입 또는 친구에게 보내는 게임에는 이러한 것들이 중요하지 않습니다.
주소에 넣어두세요
터치 컨트롤을 추가하고, 독립성을 유지하고, 첫 번째 탭을 명확하게 만들고, 공유 링크를 생성하세요.
플레이어가 한 번 탭하면 재생됩니다. 이것이 전체적인 장점이고 큰 장점입니다.