
I am Ironman
브라우저에서 즐기는 아이언맨 슈팅 게임
TypeScriptPhaser.jsWebpackVercel
프로젝트 소개
I am Ironman은, Pygame 기반으로Phaser.js 기반으로 제작한 2D 미니 슈팅 게임이다.

게임 특징
생존 시간과 조작에 따라 아래와 같은 규칙으로 플레이가 진행된다.
- 생존 시간과 적의 종류에 따른 차등으로 점수가 증가하는 스코어링 방식
- 에너지 게이지를 충전해 사용하는 스킬 발동 시스템
- 피격 시 플레이어의 생명력 감소 시스템
키 조작법
키보드로 아래와 같이 조작한다.
- 위치 조정:
←→↑↓ - 리펄서 발사:
Space bar - 유니빔 발사:
B - 게임 재시작 여부:
Y|N
개발 정보
두 차례에 걸쳐 개발된 프로젝트로, 개발 기간과 기술 스택이 아래와 같이 나뉜다.
개발 기간
- 1차(2022.05.): 코딩 교육 프로그램 참여 당시 개발한 체험용 프로토타입
- 2차(2024.08.): 개발 언어 컨버팅/포팅 및 기능 업그레이드
기술 스택
1차와 2차의 기술 스택은 아래와 같이 다르다.
- 1차:
PythonPygame - 2차:
TypeScriptPhaser.jsWebpackVercel
개발 특징
주요 개발 특징은 아래와 같다.
- 상황에 따른 콘텐츠의 이미지 변환으로 애니메이션 효과 적용
- 상황별 사운드 효과 적용
- 인트로-플레이-게임오버 등 씬(Scene)을 구분하여 게임 흐름을 원활하게 조정
- 콘텐츠 충돌 감지 기능을 이용해 상호작용 구현
- 보조 그래픽 도형으로 이미지의 실제 콘텐츠 부위별로 맞춤화하여 충돌 감지 영역을 세분화하고 기존의 이미지 전체를 충돌 영역으로 감지하는 단점을 보완
- 클래스(Class) 기반 모듈화를 적용해 코드의 재사용성과 유지보수성을 향상시킴
- HTML5 기반의 라이브러리(Phaser.js)를 활용해 웹 플랫폼에서 실행 가능하도록 개발
- Vercel을 활용하여 외부에서 접속 및 실행 가능한 형태로 배포