그래비티 플립 핀볼 아케이드(Gravity Flip Pinball Arcade)는 하향 중력에만 의존하던 기존 고전 핀볼의 단조로움을 상하 반전 중력(Gravity Flip) 물리 제어와 상단 천장 플리퍼 시스템을 통해 입체적이고 역동적인 아케이드 액션으로 해결하는 브라우저 전용 물리 게임입니다.
개발자 전용 IDE 다크 테마(VS Code 스타일) 인터페이스를 바탕으로 코드 컴파일 파이프라인과 런타임 디버깅 요소를 핀볼 테이블의 범퍼, 드롭 타깃, 슬링샷과 유기적으로 결합하였으며 모바일 터치 제스처·가상 조이스틱·키보드 방향키 조작을 모두 완벽하게 지원합니다.
🕹️ 실제 구현 기능 (Core Features)
- 상하 반전 중력(Gravity Flip) 동역학 시스템:
G-FLIP발동 시 중력 가속도 벡터가 즉시 반전되어 공이 상단 커널 스페이스(Kernel Space)로 솟구칩니다.- 상단 천장에 설치된 듀얼 천장 플리퍼(Ceiling Flippers)가 활성화되어 중력 반전 중에도 공의 추락을 방지하고 상부 궤도를 유지할 수 있습니다.
- 중력 반전 상태에서 획득하는 모든 범퍼 및 타깃 득점에는 즉시 2배(2x)의 보너스 스코어 승수가 적용됩니다.
- 콜 스택 에너지(Call Stack Energy) 게이지:
- 무제한적인 중력 반전 남발을 방지하는 밸런스 시스템으로 1회 반전 시 25%의 에너지가 소비됩니다.
- 마이크로서비스 범퍼 타격 시 +15% 충전되며 브레이크포인트 전원 클리어 시 즉시 100% 완전 충전됩니다.
- 개발자 IDE 테마의 인터랙티브 테이블 기믹:
- 마이크로서비스 범퍼 3기 (AUTH, API, CACHE): 타격 시 고유한 주파수의 신디사이저 벨 사운드와 함께 고탄성 척력을 발생시킵니다.
- 브레이크포인트 드롭 타깃 (BRK 01 ~ 04): 4개의 단위 테스트 타깃을 모두 격추하면 전원
PASS [OK]상태로 전환되며 +5,000점의 컴파일 완공 보너스와 승수 증가가 부여됩니다. - 롤오버 센서 (F - L - I - P): 상단 궤도 진입로의 4개 레인을 순차 통과하여 점등을 완료하면 +3,000점 오버드라이브 점수가 주어집니다.
- 예외 처리기 킥백 코일 (Exception Handler): 좌측 아웃레인으로 공이 빠졌을 때 코일이 작동해 공을 테이블 상공으로 튕겨 올려주는 1회성 자동 구출 기능이 제공됩니다.
- 멀티모달 입력 제어 (화면 터치 스와이프 · 가상 조이스틱 · 방향키):
- 방향키/키보드:
◀/▶또는A/D로 좌우 플리퍼,▲/W/Space로 중력 반전,▼/S길게 누르기로 플런저 충전 및 발사,X/C/Ctrl로 테이블 넛지(Nudge). - 화면 터치 스와이프: 화면 하단 좌/우 영역 직접 탭으로 플리퍼 조작, 상단으로 쓸어올리면(Swipe Up) 중력 반전, 하단으로 쓸어내리면(Swipe Down) 정상 중력 복귀, 좌우 쓸어넘김으로 테이블 넛지.
- 가상 조이스틱(Virtual Joystick): 좌우 조작으로 플리퍼 가동, 하단 드래그로 플런저 스프링 장전, 상단 튕김(Flick Up)으로 중력 반전.
- 터치 액션 버튼 바: 하단에 직관적인 대형 플리퍼, G-FLIP, LAUNCH, NUDGE 전용 버튼 상시 배치.
- 방향키/키보드:
- 프로젝트명 접두사 로컬 스토리지 연동 (
gravity_flip_pinball_):gravity_flip_pinball_high_score: 역대 최고 점수 영구 보존.gravity_flip_pinball_scores: 상위 10위 랭킹(점수, 콤보 배수, 중력 반전 횟수, 달성 일자) 전당 보존.gravity_flip_pinball_stats: 누적 플레이 횟수, 누적 범퍼 타격 수, 해결된 브레이크포인트 수 통계 집계.gravity_flip_pinball_settings: 사운드 활성화 및 스캔라인 효과 설정값 보존.
- Web Audio API 절차적 사운드 신디사이저:
- 외부 음원 파일 로딩 없이 순수 웹 오디오 오실레이터를 통해 솔레노이드 기계음, 범퍼 배음 차임, 중력 반전 주파수 스윕, 런타임 실패 글리치 음을 100% 실시간 합성합니다.
👥 대상 사용자 (Target Audience)
- 클래식 아케이드 핀볼의 손맛과 새로운 물리 트릭(상하 반전 기믹)을 즐기고 싶은 게이머
- 코딩, 터미널, IDE 다크 테마의 감성을 좋아하는 소프트웨어 엔지니어 및 테크 애호가
- 스마트폰 터치 스와이프와 가상 조이스틱으로 대중교통 이동 중 가볍게 아케이드 게임을 플레이하고 싶은 모바일 사용자
- 인터넷 연결이 불안정한 환경에서도 설치 없이 브라우저 단독으로 고득점 경쟁을 펼치고 싶은 이용자
💡 활용 사례 (Use Cases)
- 휴식 시간 두뇌 회전: 반복적인 업무나 개발 작업 중 3~5분 동안 가볍게 집중력을 환기하는 아케이드 세션.
- 물리 제어 반사신경 훈련: 상하로 급변하는 중력 방향에 맞춰 상단과 하단 플리퍼를 번갈아 대응하며 순간 판단력과 동체 시력 향상.
- 로컬 랭킹 챌린지: 사무실 동료나 친구와 동일한 기기에서 최고 컴파일 라인 점수(Lines Compiled)를 두고 전당 순위 경쟁.
⚠️ 기술적 제약 사항 (Limitations)
- 본 게임은 브라우저의 HTML5 Canvas 2D 컨텍스트와 2D 오일러 수치 적분(Euler Sub-stepping) 방식을 사용하므로 실사 3D 전자기장 시뮬레이션과는 차이가 있습니다.
- 사운드는 Web Audio API의 자동 재생 정책(Autoplay Policy)에 따라 사용자의 최초 화면 터치 또는 키보드 조작이 발생한 직후부터 출력됩니다.
- 점수 및 통계는 브라우저의 LocalStorage에 저장되므로 시크릿 모드 사용 시 브라우저 종료와 함께 기록이 초기화될 수 있습니다.
📖 사용 방법 (How to Play)
- 볼 발사 (Launch):
- 키보드
Space또는▼ (아래 방향키)를 길게 눌렀다 떼거나 우측 플런저 게이지를 아래로 드래그 후 놓으면 공이 상단 루프로 힘차게 발사됩니다.
- 키보드
- 플리퍼 조작 (Flippers):
- 키보드
◀ / ▶(또는A / D), 화면 좌/우 하단 직접 탭, 또는 전용FLIP L / FLIP R버튼을 눌러 공을 튕겨냅니다. - 중력이 상단으로 반전되었을 때는 상단 천장 플리퍼가 동일한 키에 연동되어 상부 드롭을 방어합니다.
- 키보드
- 중력 반전 (Gravity Flip):
- 콜 스택 에너지가 25% 이상일 때
▲ (위 방향키),W,G, 화면 상단 스와이프(Swipe Up), 또는G-FLIP버튼을 눌러 중력을 천장 방향으로 뒤집습니다. - 반전 상태에서는 모든 득점이 2배가 되므로 고득점 찬스에 적극적으로 활용하세요.
- 콜 스택 에너지가 25% 이상일 때
- 테이블 넛지 (Nudge):
- 공이 중앙 드레인이나 아웃레인으로 빠지려 할 때
X,C, 화면 좌우 스와이프, 또는NUDGE버튼을 눌러 미세한 척력을 가해 궤적을 바꿀 수 있습니다.
- 공이 중앙 드레인이나 아웃레인으로 빠지려 할 때
- 스코어보드 확인 (Scoreboard):
- 우측 상단
SCORES버튼을 눌러 로컬 전당 순위와 누적 통계를 확인할 수 있습니다.
- 우측 상단
❓ 자주 묻는 질문 (FAQ)
Q1. 중력 반전(Gravity Flip)은 언제든 사용할 수 있나요?
A1. 상단 HUD 중앙의 ‘콜 스택 에너지(Call Stack Energy)’ 게이지가 최소 25% 이상 충전되어 있어야 발동할 수 있습니다. 에너지는 시간 경과에 따라 자동으로 회복되며 테이블 중앙의 마이크로서비스 범퍼를 타격할 때마다 15%씩 빠르게 충전됩니다.
Q2. 모바일 스마트폰 환경에서도 조작이 편리한가요?
A2. 네, 완벽히 지원됩니다. 화면 좌우 반절 탭 조작, 직관적인 상하 스와이프 제스처, 정밀 조향이 가능한 가상 조이스틱, 대형 소프트 터치 버튼 바가 모두 준비되어 있어 한 손 또는 양손으로 쾌적하게 조작할 수 있습니다.
Q3. 최고 기록과 플레이 전적은 어디에 저장되나요?
A3. 모든 기록은 사용자의 웹 브라우저 로컬 저장소(LocalStorage)에 gravity_flip_pinball_ 접두사를 가진 독립 변수로 안전하게 저장됩니다. 외부 서버로 개인정보나 데이터가 전송되지 않으며 원할 경우 스코어보드 창에서 언제든지 기록을 초기화할 수 있습니다.
WebMiniApps