게임/Unity

[Unity] RedRunnder 오픈소스 분석

Nakuri 2022. 12. 14. 03:31
728x90

https://github.com/BayatGames/RedRunner

 

GitHub - BayatGames/RedRunner: Red Runner, Awesome Platformer Game.

Red Runner, Awesome Platformer Game. Contribute to BayatGames/RedRunner development by creating an account on GitHub.

github.com

 

게임을 보통 어떤 구조로 어떻게 만드는지 궁금해서 살펴보고, 참고할 수 있을 만한 부분들을 정리했다.

 

  • 오브젝트 상속 관계
    • abstract Charactor class
    • abstract Enemy class
    • abstract Collectable class
    • abstract Block class

  • 캐릭터와 장애물의 충돌 등의 상호작용
    • 장애물 스크립트에서 캐릭터 체크(Tag or GetComponent null check)
    • 캐릭터 스크립트의 Die(), GetDamage() 등을 호출

  • Manager Class
    • Game, UI, Audio, MapGenerator

  • GameManager 설계
    • 이벤트 : 리셋, 스코어, 오디오
    • 멤버 : 캐릭터, 스코어, 게임상태, 돈
    • 메소드
      • 저장 기능 (여기선 에셋 사용)
      • 게임 상태 제어(시작, 정지, 종료 등)
      • 초기화 (이벤트 활용)
      • UI

  • 스크립트 폴더 구성
    • Charactor
    • Enemies
    • Collectables
    • UI : UIScreen, UIEventScript
    • TerrainGeneration
    • Skeleton
    • Manager
    • Utility
    • Other

  • 스크립트당 한 개의 클래스
  • Enum이나 Const는 따로 클래스로 묶어서 관리
  • 캐릭터의 이동 및 점프는 CrossPlatformInputManager(Unity StandardAsset 활용)

'게임 > Unity' 카테고리의 다른 글

[Unity] Rider Debugging  (0) 2023.03.28
[Unity] \uFFFD Warning  (0) 2023.01.31
[Unity] 화면 외부에서 오브젝트 생성  (0) 2022.11.27
[Unity] 다중 오브젝트 풀링 (Multiful Object Pooling)  (0) 2022.11.06