코드브레이커 (Code Breaker)
코드브레이커는 픽셀 우주선으로 에러 코드 적을 격추하는 아케이드 슈팅 게임입니다. 일반 스테이지와 보스 스테이지가 교차하며, 20스테이지 도달 시 ALL COMPILED 클리어로 종료됩니다.
기본 구성
- 캔버스 크기:
360 x 400 - 플레이어는 하단 고정 위치에서 좌우 이동 + 연사 공격을 수행합니다.
-
적/플레이어는 픽셀 아트 배열(
enemyPixel,playerPixel)로 그려집니다.
조작 방법
- 키보드: 좌/우 이동, 스페이스 발사(연사 간격 제한 포함).
-
모바일: 좌/우 터치 버튼 + 발사 버튼으로 동일 입력을
대체합니다(
leftBtn,rightBtn,fireBtn). -
발사 간격은
180ms로 제한되어 무한 난사가 아닌 리듬형 연사입니다.
스테이지와 적 패턴
-
일반 스테이지는 기본 7열 편대이며, 스테이지가 오를수록 행 수가 증가합니다
(
rows = 3 + floor(stage / 6)). - 적은 좌우로 이동하다가 가장자리 도달 시 하강하고 방향을 반전합니다. 하강한 적이 플레이어 위치를 넘으면 즉시 게임 오버입니다.
-
매 5스테이지마다 보스가 등장하며, 체력은
stage * 4로 증가합니다. -
적 이동 속도는 스테이지가 올라갈수록 빨라지며,
threshold = max(4, 40 - stage * 2)로 제어됩니다.
총알·피격·점수
-
플레이어 총알 속도는 고정(-6), 적 총알 속도는
2.5 + stage * 0.1로 스테이지에 따라 빨라집니다. -
적 사격 확률도
0.006 + stage * 0.001로 증가해 후반 탄막이 두꺼워집니다. - 일반 적 처치: +10점, 보스 처치: +500점
-
적 처치 시 코드 조각 텍스트 파티클(
<div>,404,const등)이 분산되는 연출이 들어갑니다.
클리어/실패와 랭킹
-
모든 적을 제거하면 다음 스테이지로 넘어가고, 스테이지 20 이상에서
승리(
gameWin()) 처리됩니다. -
피격 또는 적 침투 시 실패(
gameOver())하며 모달에서 점수를 확인합니다. -
랭킹 저장은
saveGameScore("invader", nickname, finalScore)를 사용합니다. (UI명은 코드브레이커지만 gameId는 invader) - 닉네임은 최소 2자이며, 다시 시작 시 스테이지/점수가 초기화됩니다.
플레이 팁
- 후반엔 적 하강 속도보다 총알 회피가 중요하므로 중앙 고정보다 짧은 좌우 진동 이동이 안정적입니다.
- 보스전은 체력이 높아 장기전이므로 피격 회피 우선으로 플레이해야 누적 점수가 크게 오릅니다.
- 연사 제한(180ms)을 기준으로 발사 리듬을 익히면 불필요한 입력 손실을 줄일 수 있습니다.