본문 바로가기
다이어리/내일배움 개발일지

게임개발캠프 - 개인과제(A) 5일차

by E.Clone 2024. 1. 5.

과정명 : 내일배움캠프 Unity 게임개발 3기

전체진행도 : 10일차

부분진행도 : Chapter2.1 - 5일차

작성일자 : 2024.01.05(금)

개발일지 목록 : 클릭


1. 진행중인 과정에 대해

콘솔 텍스트 던전 RPG 게임의 요구사항을 모두 반영하여 제출까지 완료하였다.

 

2. 오늘 학습에 대해

오늘 팀원들끼리 각자 작성한 게임 코드를 리뷰하는 시간을 가졌는데, 각자의 스타일이 상상 이상으로 달라 충격을 받았다.

내 경우에는 한개 파일에 순차적으로 필요한 코드를 모두 때려박아 넣으며 최대한 주어진 사양(UI디자인)을 훼손하지 않는는 방향성을 가졌다.

팀원 한 명의 코드는 한 파일 안에 코드를 모두 작성하였지만 그 안에서도 다양한 확장안을 생각하고 여러가지 이유를 들어가며 생각치 못한 부분에서도 분리를 확실히 해 두었고, UI의 커스텀 디자인에도 상당히 신경 쓴 모습을 보여주었다.

다른 팀원의 코드는 나와 비슷하게 순차적으로 코드를 작성했지만 프로그래머의 입장에서 리뷰하기에 좋은 가독성 높은 코드를 작성하는데에 주력하는 것이 보였다.

또 다른 팀원의 코드는 장면과 기능을 담은 여러가지 파일을 구성하여 메인이 되는 코드 내에는 호출 하나만으로 그 씬이 모두 구현되게 하는 등 내가 보기에는 신기한 스타일을 하였는데, 이전에 윈도우 API로 게임을 만들어본 경험이 있어 이런 스타일을 쓴다고 하신다. 외에도 enum 을 한계까지 활용하는 모습 등 확장성에 극단적으로 좋은 모델로 보였다.

코드의 구성 외에도 아래와 같은 여럿 아이디어를 얻었다.

  • 아스키 아트를 사용하여 그림을 넣기
  • 종료 시에도 저장되도록 하기
  • 데이터 저장형식을 json으로 하기
  • 아이템에 고유 번호 매기기
  • 체력을 0 아래로 내려가지 않게 하기
  • 아이템의 정보를 저장할 데이터 파일을 따로 만들어두기

그리고 VSCode에서 C#을 사용할 수 있었다는 사실, Visual Studio의 파일 리스트 창을 Code처럼 왼쪽으로 옮길 수 있다는 사실 등 자잘한 팁도 여러가지 획득.

그리고 코드 리뷰에서 질문을 받으며 Linq 관련 질문을 받았는데, '링크...? 링크가 뭐지'하며 혼란 상태에 걸렸었는데, 나중에 찾아보고 Linq였구나 알게 되었다. 파이썬을 다룰 때에는 in이나 where 비슷한 것들은 너무 자연스럽게 사용하는 기능들이었기 때문에 C#강의의 Linq 파트를 빠르게 대충 넘겨 알아듣지 못했었는데, 이와 비슷하게 용어 관련으로는 많이 혼동이 오는 편. 예)프로퍼티, 필드 등

그 외에도 '싱글톤'이라는 것에 대한 개념도 없어 리뷰 타임에 그런것도 있구나 생각하며 듣고있었다.

싱글톤

특정 클래스의 인스턴스를 1개만 생성되는 것을 보장하는 디자인 패턴이며, 생성자를 통해 여러 번 호출이 되더라도 인스턴스를 새로 생성하지 않고 최초 호출 시에 만들어두었던 인스턴스를 재활용하는 패턴이다.

 

3. 앞으로의 과제

오는 주차에는 이번 주차 개인 프로젝트를 베이스로 팀 프로젝트를 할 것 같다. 디자인이나 기능 개선 및 추가 등을 주 목적으로 예상하고 한 주간 팀 프로젝트를 진행한다. 잘 소통해가며 프로젝트를 무사히 마치기를 목표한다. 당장 구체적인 과제는 없고, 주말을 활용하여 C# 문법 후반부 복습을 할 예정이다.

 

4. 참고자료

반응형