Skip to content

rlawlgns3433/Strikers1945

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strikers 1945

원작 게임 Strikers 1945를 모작한 프로젝트입니다.

개발 기간

2024-03-05 ~ 2024-03-17

개발 인원

1인 / 김지훈

개발 환경

프로젝트 소개

Strikers 1945는 제2차 세계대전을 배경으로 하고 있으며, 플레이어의 전투기를 통해 적의 공격을 피하고 반격하면서 레벨을 진행해 나가는 것이 목표입니다. 전투기의 기본 공격과 강력한 '폭탄' 공격을 이용해 다양한 적 유닛과 보스와 맞서 싸우는 게임입니다.

주요 일정 관리

중간 버전 : 2024-03-05 ~ 2024-03-10

  • 플레이어 동작 : 8방향 움직임
  • 적 움직임 구현 : Sin파, 귀환, 회전 ,돌진 랜덤 이동
  • 다양한 종류의 적 출현 : 움직임과 공격 패턴을 달리 적용한 다양한 패턴
  • 보스 몬스터 구현 : 한 가지 패턴 사용 (최종 버전에는 여러 패턴을 적용)
  • 아이템 드랍 및 적용 : 파워업, 폭탄, 생명, 골드
  • 애니메이션 적용

최종 버전 : 2024-03-11 ~ 2024-03-17

  • 오브젝트 풀링 적용 : 플레이어, 적 총알
  • 데이터 테이블화 : 플레이어, 적, 아이템
  • 적 공격 패턴 구현 : 전방 발사, 회전하며 발사, 스프레드, 타게팅, 레이저
  • 플레이어 헬퍼 : 가장 가까운 적을 찾아 발사
  • Button, InputField 개발
  • 기록 저장 및 랭킹
  • 인 게임 UI 개발

주요 구성 및 기능

  • 적의 6가지 공격 패턴, 6가지 움직임 패턴

첫 번째 주요 기능은 적의 공격과 움직임 패턴입니다. 제가 선택하고 구현한 적은 총 5종류이며 일반 적 3종류, 중간 보스 그리고 보스 각각 1종류입니다. 하지만 적은 여러 공격 패턴과 움직임 패턴을 가질 수 있고 이를 함수 객체를 이용해 랜덤하게 선택하여 사용할 수 있게 구현하였습니다. 이로써 다양한 패턴을 가진 적을 마주할 수 있습니다.

  • 객체지향 기법

두 번째 주요 기능은 객체지향 기법입니다. 먼저, 상태 패턴을 사용하여 플레이어의 다양한 상태 변화에 따라 게임을 관리하였습니다. 팩토리 메서드 패턴을 이용해 적 유닛 또는 아이템을 게임 내에 생성 시 기존 코드를 변경하지 않고도 확장성을 갖출 수 있었습니다. 오브젝트 풀링 기법은 게임 성능을 최적화하기 위해 사용하였습니다. 이 기법을 플레이어와 적의 총알에 적용해 필요한 만큼의 객체를 생성하고 재사용함으로써 메모리 할당과 해제가 되는 오버헤드를 줄일 수 있습니다. 이러한 디자인 패턴과 기법을 적용하여 유지보수하기 쉬운 게임을 개발할 수 있었습니다.

  • 애니메이션, 이벤트 시스템

세 번째주요 기능은 애니메이션과 이벤트 시스템입니다. 먼저 애니메이션에 대해 소개해드리면, 스프라이트 시트를 사용하여 GPU가 하나의 텍스처 파일 내에서 프레임을 빠르게 전환할 수 있어 렌더링 성능이 개선되는 효과를 볼 수 있었습니다. 또한 여러 애니메이션 프레임을 하나의 텍스처로 통합하여 메모리 사용량을 줄일 수 있었습니다. 화면우측 하단에 InputField에 대한 처리와 Button 클래스의 예시를 볼 수 있습니다. 이 UI 컴포넌트들은 사용자의 입력 이벤트와 상호작용을 하는데, 각각의 클래스는 독립적인 기능을 가지고 있습니다. 따라서 UX를 개선하기 위해 디자인 변경을 필요로 할 때 해당 클래스만 수정하여 사용할 수 있습니다.

시연 영상

Strikers1945 시연 영상