게임개발/Unity

24-10-15 Unity 2D 팀 프로젝트 01

몰록 2024. 10. 15. 20:54

오늘부터 다시 팀 프로젝트 주간의 시작

 

팀 프로젝트 주제는 추억의 게임 재해석(?) 인데, 똥피하기, 닷지, 벽돌깨기중 하나를 선택해서 진행한다.

 

우리조는 나의 추진으로 닷지를 선택해, 탄막 슈팅게임을 만들어보기로 했다

 

조원 두분이 꽤나 코딩실력이 상당하신데, 특히 한분이 여러가지 기능들을 많이 사용해 코드를 최적화 하는 모습을 잘 보여줬다.

(튜터님께 피드백을 받아보니 취업활동에도 지장이 없을 코드라고 한다.)

 

인상깊었던 점 : 

위에 오지게 긴 대괄호 내용

특히 이렇게 Init 메소드를 사용해 Awake보다 더 우선적으로 초기화를 해주는 패턴이 인상깊었다.

/// <summary>

이렇게 /// <summary> ///</summary> 로 주석을 달아 마우스를 함수에 올리면 주석이 표시가 되도록 하는것도 활용하면 매우 도움이 될것같다. 앞으로 같이 코드를 고민해보며 하는 과정을 잘 지켜보면 배울점이 참 많을것같다.

 

 

플레이어 스프라이트 애니메이션과 적

 

싱글벙글하며 찍은 플레이어 스프라이트

 

회의할땐 피그마 잼을써봤는데, 이걸 활용해 간이로 와이어프레임을 짜보고 역할 분담을 해보는게 재밌고 효과적이다.

앞으로 팀 활동을 할때 애용하게 될것같다. 

 

프로젝트를 구상해보고 객체지향 강의도 들어보니 고민되고 햇갈리는것들이 많았다.

 

이런 2d 탄막 슈팅게임은 적들이 다양한 방식으로 생성될수 있는데, 갤러그와 스페이스 인베이더를 예시로 들면,

플레이어가 랜덤하게 나타나는 탄막을 피하다가, 그 구간을 지나면 적들이 특정한 패턴으로 움직이며 나타나서 자리를 잡아간다.

아케이드 게임 갤로그의 예

갤러그를 예시로 들면 적들이 특정 방향에서 나타나 빙글빙글 도는 패턴을 보여주다 특정한 자리를 찾아가 고정된다.

 

고정된 이후엔 스페이스 인베이더처럼 좌우로 약간 움직이며(자리를 잡은 모든 적들과 함께) 가끔씩 탄을 쏜다.

이런걸 구현하기 위한 데이터를 객체지향적으로 어떻게 구현할지가 고민된다.

 

특정 적 집단의 이동을 가지는 데이터를 누가 잡을지, 그리고 적들의 목적지 배열을 어떻게 데이터화해 누가 그걸 들고 실행시킬지가 관건인것이다. 그리고 목적지에 도착된 이후에 어떻게 행동을 할것인지도 또 다르다.

 

갤러그의 경우엔 한마리씩 빙글 돌며 플레이어 방향으로 돌진해 화면에서 사라지고(그걸 놓친 플레이어는 점수를 잃는샘)

스페이스 인베이더의 경우엔 애초에 등장할때부터 정해진 배열로 등장해 점차 아래로 내려온다

 

어떻게 디자인하느냐에 따라 다르지만, 이렇게 적들이 움직이는 기능을 여러가지 객체들이 가진 데이터로 실행시키는것이 효과적인지도 의문이 들기도 한다.(하지만 곧 객체지향에 설득될것이다)

 

하지만 지금은 질문을 던지는 시간이 아니라 실천을 하는 시간..

아니 그 이전에 TIL을 재출하는 시간이다.

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

24-10-17 Unity 2D 팀 프로젝트 03  (0) 2024.10.17
24-10-16 Unity 2D 팀 프로젝트 02  (1) 2024.10.16
24-10-10 Unity 2D 입문 04  (0) 2024.10.11
24-10-10 Unity 2D 입문 03  (0) 2024.10.10
24-10-08 Unity 2D 입문 02  (6) 2024.10.08