Skip to content

2023년 2학기 게임프로그래밍입문 Project#2 PyGame

Notifications You must be signed in to change notification settings

Seo-BJ/GPI_TermProject2

Repository files navigation

PyGame-TermProject

2023년 2학기 게임 프로그래밍 입문

수학과 서범준 Project #2 Desighn & Develop Your Own

목표 : 파이게임을 이용해서 탑다운 슈터 장르 게임을 제작하기

게임 디자인 및 구조 : 기본적인 탑다운 슈터 장르에 레벨업 요소, 무작위요소, 제한된 체력 등을 추가하여 5분 동안 생존 해야하는 소위 뱀파이어 서바이버(로그라이크 탑다운 슈터) 장르dlek.

시간이 지날수록 등장하는 적이 많아지며, 플레이어는 적을 처치하면 경험치를 얻고 레벨업을 할 수 있다. 레벨업 시 무작위 3개의 파워-업 요소 중 하나를 선택한다. 5분이 지나거나 플레이어 체력이 0이 되면 게임은 종료된다. (게임 오버)

플레이어는 WASD로 이동, 마우스와 좌클릭으로 발사체(에너지볼트)를 발사할 수 있다. 적의 종류는 2개로 박쥐와 마녀이다.박쥐는 빠른 속도로 플레이어에게 다가와 피해를 준다. 마녀는 원거리에서 투사체를 플레이어에게 발사해 피해를 준다.

맵은 Tiled 프로그램을 이용하여 제작하였다. 게임 내 사용한 에셋들은 플레이어 에셋은 무료 에셋이며 다른 에셋들 (적, 맵, 사운드)는 유료 에 셋으로 구입하여 사용하였다.

코드 설명 : Bat, witch는 각각 박쥐와 마녀에 대한 스크립트이다. 이동, 에니메이션, 공격, 데미지 입음 등의 다양한 기능들이 포함되어 있다.

GameManager는 게임을 전반적으로 관리하며 게임 루프가 이곳에서 실행된다.

gameSetting은 게임 내 변수들을 모아 관리한다.

levelUpUI 는 플레이어 레벨업 시 나타내는 UI와 파워업 시스템을 포함하고 있다.

menu는 게임 실행시 나타나는 메인 메뉴를 담당한다.

pauseMenu는 ESC키를 눌러 일지정지 메뉴를 불러올 수 있고 이를 담당한다.

player는 이동, 에니메이션, 공격 등을 할 수 있는 플레이어를 만드는 스크립트이다.

playerUI는 체력바, 타이머, 경험치바를 관리. 업데이트 등을 한다.

projectile은 플레이어가 발사하는 발사체를 담당한다. 속도, 관통 횟수등의 변수를 기반으로 발사체를 생성한다. spritesheet는 에니메이션 재생을 위해 긴 sprite png 파일을 잘라서 이어서 에니메이션을 만들어낸다. witch_projectile은 마녀가 발사하는 투사체를 담당한다. 작동방식은 projectile과 비슷하나 조금 더단순하다. (projectile의 하위호환 버전)

작동 환경 : 윈도우10 OS에서 작성, 테스트, 실행하였다

About

2023년 2학기 게임프로그래밍입문 Project#2 PyGame

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages