팀프로젝트 B04조 - 死신
[게임 다운로드 링크] (http://naver.me/G4xkBzhe)
유니티 : 2022.3.2f1(LTS)
기본 해상도 : 760 : 1280
- 스크립터블 오브젝트
- 이경현 : 게임 플레이 화면
- 김민석 : 로딩 UI , 게임시작화면 UI
- 노동균 : 데이터(ScriptableObject), 시스템 설계 담당
- 김강현 : 레벨 선택 씬
- 박민혁 : 게임 레벨디자인
스크립트를 오브젝트화 시켜 사용하려는 객체에 필요한 기능만 부여해줄 수 있어 기능 유지보수가 용이하다.
- Layer 기반 충돌검사 - 유니티엔진 자체적으로 지원하는 필터링 기능을 통해 Object의 충돌관리를 따로 스크립트를 쓰지않고 관리 가능
- 충돌 기능 통합 - Base가 되는 벽돌게임의 큰 특징으로 인해 어느 스테이지에서든 충돌이 발생되기에 따로 Scriptable Object로 구현하여 해당 충돌에 필요한 기능만 조립하듯이 구현함
- 벽돌게임 필수 기능
-
1). Win,Lose 로직 2). 충돌 및 충돌 후 반사 3). Player 4). Block(Monster) 5). Ball
- 추가 기능
-
1). 아이템 2). SoundManager 및 해당 Manager를 사용해 UI를 통한 조절 3). 레벨 디자인 - 기존 벽돌게임에 밍밍하듯 첨가된 갤러그 스타일 4). LoadingScene - 화면전환 시 마다 실행되는 씬 구현 5). Dialog 출력을 통한 스테이지의 패턴 변화 감지 가능 6)
1.Art
(1).StartScene
background image - pinterest
ui image - 유니티 에셋 스토어 골드메탈
title image - 자체제작
(2).SelectScene
StageObj -itch.io/ animated pixel-art assets/elenetari
BackGround Image - Zuhria Alfitra
(3).LoadingScene
background image - pinterest
(4).Stage
ㄱ.김강현
Bullet - https://kr.freepik.com
Monster - https://www.flaticon.com
ㄴ.김민석
monster - 유니티 에셋 스토어
background - pinterest
ㄷ.박민혁
background - pixabay.com - Darkmoon_Art
monster -Characters Cards pack 01 - 유니티 에셋스토어
ㄹ.이경현
pixelfont - 유니티 에셋 스토어
UI - 유니티 에셋 스토어
ㅁ.노동균
2.Sound
(1).StartScene
배경음악 - 유니티 에셋스토어 \ Unity Technologies
(2).SelectScene
오브젝트효과음 - https://pgtd.tistory.com
(3).LoadingScene
(4).Stage
ㄱ.김강현
배경음악 - amb_bell
몬스터 효과음 - https://pgtd.tistory.com
ㄴ.김민석
ㄷ.박민혁
배경음악 - Horror Elements - 유니티 에셋스토어
Amb_scary.wav
ㄹ.이경현
AborInTheByshes - https://opengameart.org/
Death Sound - https://opengameart.org/
groovy - https://opengameart.org/
ㅁ.노동균
ActionRPGBattleMusic - 유니티 에셋스토어 \ Unity Technologies
05 Horns Of War Loop
06 The Ambush Loop
07 Enemy Approaches Loop
Horror Elements - 유니티 에셋스토어 \ Unity Technologies
Amb_Run_1
Amb_Run_2
SR_Piano_room
(5) 그외
Weapon :
FREE Casual Game SFX Pack - 유니티 에셋스토어 \ Unity Technologies
DM-CGS-39
UI :
FREE Casual Game SFX Pack - 유니티 에셋스토어 \ Unity Technologies
DM-CGS-48
-
-> 모호한 업무 분담으로 인한 기능적 충돌 / 함수 참조 위치가 정리되지 않고 불특정함
-> 명확한 업무 분담 후 불필요한 요소 모두 정리 후 해당 기능을 담당하는 Manager로 따로 정리해서 생성
-
-> 팀원 간 하드웨어 차이로 의심되는 코루틴 내 오류
-> 해당 기능 사용 하는 메서드 내에서 시간을 멈추는 기능을 제거하고 다른곳에 이식해줌 - > 팀원 중 AMD CPU사용 하는 2명인 이상이 없었으나 , Intel CPU를 사용하는 나머지 팀원에게 해당 이슈 발생
-
-> Win, Lose UI가 Active될 때 이벤트를 통해 관리 하고있어 그대로 씬이 전환되면 GameManager에 그대로 전달되어 Time.Scale이 돌아오지않음
-> OnDisalbe() 통해 오브젝트가 비활성화될때는 이벤트에서 삭제할 수 있게 변경함.
-
-> 추가된 기능이 특정 컴포넌트에만 영향을 끼치게 되있어 Awake()될 때 사용하는 오브젝트가 특정 컴포넌트를 소지하지 않고있어 발생
-> 기능 추가 구현 시 기능을 명확하게 명시 후 , 위와 같은 문제 발생을 피하기위해 모든 작업에 예외처리를 하게됨