Skip to content

maru3172/2DGPTermProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 

Repository files navigation

2DGPTermProject

2D Game Programming Term Project 2021180023

Project 2021180023

게임의 간단한 소개

"1942"와 유사한 생존 게임으로, 플레이어가 전투기를 조종하여 몰려오는 적의 공격을 피하는 게임,

주요 기능은 플레이어 조작과 충돌 판정, 가까운 적에게 유도되는 탄이다.

플레이 예시 스크린샷

스크린샷 2-24-10-21


개발 계획/일정/실제 진행

9주차 - 계획 적용 및 건의 사항을 바탕으로 내용 보완 (100%)

10주차 - 추가 내용 보완 및 게임 프레임워크, 게임 루프 수립, 추적 탄 구현 개발 진행, 피드백 반영 (100%)

11주차 - 플레이어 이동 및 공격 구현 및 추적 탄 구현 개발 진행 (100%)

12주차 - 적의 공격 및 이동 (90%)

13주차 - 충돌 판정으로 플레이어 피격 시 목숨 감소 적용, 씬 전환 (100%)

14 ~ 15주차 - 배경 화면 이동 구현, 기능 테스트 및 최종 유지보수 (90%)

주차별 커밋 수

스크린샷 2-24-12-10

커밋 수
9/22 ~ 9/28 5
9/29 ~ 10/5 3
10/6 ~ 10/12 5
10/13 ~ 10/19 6
10/20 ~ 10/26 17
10/27 ~ 11/2 5
11/3 ~ 11/9 0
11/10 ~ 11/16 11
11/17 ~ 11/23 16
11/24 ~ 11/30 1
12/1 ~ 12/7 5
12/8 ~ 12/14 13

1차 -> 2차 변경 : 가까운 적에게 유도되는 탄 추가

변경 이유: 게임이 너무 단조롭고 차별화된 점이 없다 판단하여 수정


사용된 기술

Python 프로그래밍

Pico2D 라이브러리 활용

게임 프레임워크 (gfw) 사용

객체 지향 프로그래밍

애니메이션 및 스프라이트 처리

충돌 감지 메커니즘

상태 관리 (게임 상태: 타이틀, 플레이, 게임오버)

=============================================================================

참고한 것들

Pico2D: 2D 그래픽 렌더링

GFW (Game Framework): 게임 상태 및 오브젝트 관리

SDL(Simple DirectMedia Layer) 기반 라이브러리

=============================================================================

수업내용에서 차용한 것

입력처리 (키보드 이벤트 처리)

게임오브젝트 설계

게임프레임워크 구조

충돌처리 알고리즘

2D 렌더링 기초

=============================================================================

직접 개발한 것

CollisionChecker: 충돌 감지 및 처리 클래스

EnemyGen: 적 생성 로직

LivesSprite: 플레이어 생명 표시

게임 상태 전환 메커니즘 (TitleScene, MainScene, GameOverScene)

적 패턴 (좌우 왕복, 하강)


아쉬운 것

시간이 지나면 맵을 다른 지역으로 바꾸게 하고 보스를 추가하고 싶었으나 타 과목과 병행하여 시간 관리가 안 되어 못 하였습니다.

적당한 사운드를 찾지 못해 사운드를 넣지 못 하였습니다.

앱 스토어에 판다면 보충할 것들은 맵과 적 개체를 다양하게 만들어 분량을 늘리고, 플레이어의 무기를 교체할 수 있는 기능을 추가할 것 같습니다.

적이 좌, 우로 알아서 움직이는 기능은 버그로 인하여 넣지 못 했습니다.

플레이어의 탄이 적이 죽은 위치에 잠깐 동안 계속 쏘는 버그가 있는데 결국 문제가 해결되진 못했습니다.

다른 과목들을 공부하면서 게임 개발에 대한 전반적인 지식을 접목시켜볼 좋은 기회였으나 시간 관리, 특히 두 개의 텀프로젝트를 진행하면서 게임을 개발하는 것은 쉽지 않았습니다.


수업에 대한 내용

게임 프레임워크에 대한 구조를 배워 게임 개발의 전반적인 로직을 이해했고, 프레임워크를 통해 다양한 게임 제작의 가능성을 확인했습니다.

Behavior Tree AI에 대해 기본을 배웠지만, 실제 구현 방법까지는 깊이 있게 학습하지 못해 아쉬웠습니다.

강의 자료가 실습 코드 중심으로 되었던 것이 아쉬웠습니다. 강의 시간에 사용된 PPT 자료를 좀 더 공유하면 좋을 것 같습니다.


출처

https://www.taptap.io/kr/app/33601228 - TapTap, 1942 Air Force Classic Fighter Game Play ScreenShot

About

2D Game Programming Term Project 2021180023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages