I am Ironman 스크린샷

I am Ironman

브라우저에서 즐기는 아이언맨 슈팅 게임

TypeScriptPhaser.jsWebpackVercel

프로젝트 소개

I am Ironman은, Pygame 기반으로 Phaser.js 기반으로 제작한 2D 미니 슈팅 게임이다.

I am Ironman

게임 특징

생존 시간과 조작에 따라 아래와 같은 규칙으로 플레이가 진행된다.

  • 생존 시간과 적의 종류에 따른 차등으로 점수가 증가하는 스코어링 방식
  • 에너지 게이지를 충전해 사용하는 스킬 발동 시스템
  • 피격 시 플레이어의 생명력 감소 시스템

키 조작법

키보드로 아래와 같이 조작한다.

  • 위치 조정:
  • 리펄서 발사: Space bar
  • 유니빔 발사: B
  • 게임 재시작 여부: Y | N

개발 정보

두 차례에 걸쳐 개발된 프로젝트로, 개발 기간과 기술 스택이 아래와 같이 나뉜다.

개발 기간

  • 1차(2022.05.): 코딩 교육 프로그램 참여 당시 개발한 체험용 프로토타입
  • 2차(2024.08.): 개발 언어 컨버팅/포팅 및 기능 업그레이드

기술 스택

1차와 2차의 기술 스택은 아래와 같이 다르다.

  • 1차: Python Pygame
  • 2차: TypeScript Phaser.js Webpack Vercel

개발 특징

주요 개발 특징은 아래와 같다.

  • 상황에 따른 콘텐츠의 이미지 변환으로 애니메이션 효과 적용
  • 상황별 사운드 효과 적용
  • 인트로-플레이-게임오버 등 씬(Scene)을 구분하여 게임 흐름을 원활하게 조정
  • 콘텐츠 충돌 감지 기능을 이용해 상호작용 구현
  • 보조 그래픽 도형으로 이미지의 실제 콘텐츠 부위별로 맞춤화하여 충돌 감지 영역을 세분화하고 기존의 이미지 전체를 충돌 영역으로 감지하는 단점을 보완
  • 클래스(Class) 기반 모듈화를 적용해 코드의 재사용성과 유지보수성을 향상시킴
  • HTML5 기반의 라이브러리(Phaser.js)를 활용해 웹 플랫폼에서 실행 가능하도록 개발
  • Vercel을 활용하여 외부에서 접속 및 실행 가능한 형태로 배포
◈ 제작기I am Ironman 게임 개발기 시리즈 읽기