TIL(Today I Learned)

[Unity] 팀 프로젝트 : 3D 퍼즐 게임 기획 - TIL#34

Najdorf 2024. 2. 8. 21:22
728x90

(각 팀원의 개인정보 보호를 위해 '팀원1'과 같은 가명으로 작성하였음.)


3D 퍼즐 게임 기획

프로젝트 정하기

팀원들의 최초 의견

팀장 : 기본적으로 3D 퍼즐 게임을 하고 싶은데, 2D를 한다면 로그라이크를 할 것 같습니다.

팀원1 : 2D 로그라이크를 선호하는데, 3D 퍼즐 게임은 아직 어떻게 만들어야 할 지 감이 잘 잡히지 않습니다.

팀원2 : 2D 프로젝트를 선호하고, 로그라이크를 만들어보고 싶습니다.

팀원3 : 2D 프로젝트를 선호하고, 3D 퍼즐 게임을 하게 된다면 레벨 디자인이 중요한데 잘 할 수 있을지 걱정됩니다.

팀원4 : 2D 프로젝트를 선호하고, 3D로 하게 된다면 서바이벌 보다는 퍼즐로 할 것 같습니다.

추가 메모 (고려사항)

  • 팀원4님 폴리곤 제작 가능 (블렌더 능력자)
  • 2D 로그라이크 : 익숙한 맛
  • 3D 퍼즐 게임 : 도전적인 시도가 될 것임
  • 개발 기간이 약 4일로 매우 짧다는 것을 감안해야 한다.

최종 투표

2D 로그라이크 - 0표

3D 퍼즐 - 5표 (결정!!)

(팀장의 코멘트 : 이렇게 보면 제가 팀장의 직권으로 강압적으로 밀어붙인 것 같지만… 전혀 그렇지 않습니다. 2D 로그라이크를 진행할 팀들이 많아져 짧은 시간 내에 도전적인 결과물을 만들자는 팀원들의 의견을 잘 종합한 최종 결과입니다.)

3D 퍼즐은 기본적으로 1인칭 시점으로 진행될 것입니다.


게임의 핵심 플레이 아이디어

  1. 방탈출 퍼즐 게임 - Escape Simulator
  2. 포탈과 비슷한 게임 - Portal 시리즈
  3. 미로? - Forgotten Ways
  4. 공포 탈출 게임 - Poppy Playtime, 8번 출구(공포?)
  • 방탈출인데 루프가 되는 시스템이면 괜찮을 것 같다. (관련 게임 : cube escape paradox, 8번 출구)
  • 공포 요소를 추가하면 저렴한 그래픽이라도 분위기에 뭍히는 경우가 있는데, 그것을 활용하면 좋을 것 같다. (관련 게임: 발디의 수학교실, 리썰 컴퍼니)
  • 그럼 어떤 종류의 공포를 지향해야 할까? 공포 게임은 해외 커뮤니티에서는 보통 두 가지 종류로 구분 짓는 경향이 있다. Horror(대놓고 갑툭튀), Terror(분위기만 무서움, 심리적 공포).
  • 우리가 지향하는 공포는 심리적 공포만 일으키는 Terror 장르로 결정했다.

투표로 공간 루프 방탈출 3D 퍼즐 게임으로 결정됐다!

(플랫포머 요소가 중점이 되진 않지만 과제에 크게 어긋나지 않는 틀이라고 생각했다.)


필수 구현 사항

  1. 퍼즐 디자인
  2. 플레이어 캐릭터 및 컨트롤
  3. 퍼즐 해결 시스템
  4. 장애물 및 트랩
  5. 목표 지점
  6. 게임 진행 상태 및 저장
  7. 사운드 및 음악

배경과 게임 컨셉의 아이디어

  • 게임 ‘8번 출구’는 지하철 통로
  • 리미널 스페이스 활용?
  • 친숙한 공간에서 게임이 진행되면 무서울 것 같다
  • 처음에 모던한 느낌의 공간에서 진행될 수록 공포스러워지는 연출을 추가하면 무서울 것 같다.
  • 외계인한테 감금당해서 루프를 돌고 있는데, 갖혀 있는 상황에서 정보들을 조합해서 방을 탈출하는 게임이면 어떨까?
  • 일반적인 집이 배경이라면?

게임 진행의 아이디어

  1. 방을 뒤지면 여러 단서가 나오는데 그런 단서들을 찾아야 진행되는 선형적인 방식
  2. 특정 요구 조건을 만족시켜야 루프가 되지 않고 다음 방으로 넘어가는 방식
    • 일정 횟수 틀리면(예: 루프가 될 때마다 어두워진다던가 하는 방식) 게임 오버
    • 스토리는 간접적으로 (독백이 없음, 주변 사물의 정보들로 추측할 수 있음)
  3. 방탈출 게임처럼 아이템 조합
  4. 방탈출 퍼즐이 어려워도 좋다
  5. 시간 루프는 어떨까? (아침으로 돌아가는)
  6. 시간 안에 어떤 조건을 충족해야 빠져나가는 게임
  7. 챕터마다 테마를 다르게 해서 등장하는 퍼즐 유형을 다르게 함
  8. 멀티엔딩은 어떨까? (관련 게임: Please, don’t touch anything)

퍼즐 아이디어

퍼즐 종류 별

  1. 열쇠 찾기
  2. 아이템 조합
  3. 비밀번호 추측
  4. 수학문제(!)
  5. 사운드 문제
  6. 언어학 문제 (배경하고 연관?)
  7. 시간 퍼즐
  8. 착시 문제 - (관련 게임: Superliminal)
  9. 물리 퍼즐 - (관련 게임: Half-Life 시리즈)

상세한 퍼즐의 방식

  1. 책장 책 순서 배열 - 하노이 탑 쌓기
  2. 비밀번호 찾기 - 숫자 야구처럼 4자리 숫자 찾는 퍼즐
  3. 특정 책에서 정보 얻기

반복될 방의 구조는? 거실(부엌 포함) - 침실 - 화장실의 구조를 가진 단순한 방

 

기본적인 상호작용 가능한 사물에는 어떤 게 있어야 할까?

TV, 침대, 식탁, 라디오, 컴퓨터, 소파, 의자, 냉장고, 세탁기, 전자레인지, 싱크대, 책장, 욕조, 변기, 세면대, 거울, 시계 등

프로젝트 이름 아이디어

  1. The extraordinary room
  2. 추후 논의할 예정

스토리 아이디어

  1. 외계인한테 납치당해서 실험당하는 플레이어의 이야기. 플레이어 본인은 인지를 못하는데 시간과 공간이 묶여있음
  2. 주인공이 평상시대로 출근하는데 이상현상이 발생하고 루프 현상을 점점 깨닫게 되고 탈출을 시도하는 스토리

⇒ 전체적으로 스토리가 중요한 게임은 아니라서 나중에 결정하기로 하고 보류

기타 세부적인 아이디어

  • 복도, 계단, 구조가 엇비슷한 방에서 루프를 돌리면 어떨까
  • 시스템 적으로 루프가 되는 계단에서 정답 채점
  • 숨겨진 통로를 뭔가를 조합해서 발견한다
  • 새로운 공간에서 반복
  • 물건의 조각을 맞춰서 맞추기 (사진 조각 등)
  • 계단에 힌트 붙여놓기 (아파트 주민 공지 같은 느낌)
  • 계단에서 정보를 얻어서 집에서 해결을 하는 퍼즐 (예: 층간 소음 공지면 집에서 라디오 끄기 등)
  • 목표는 아파트를 빠져나와서 회사 출근?
  • 엘레베이터는 기본적으로 점검 중, 나중에 타면서 탈출? 미믹?
  • 계단 위로 가는 길은 어떻게 처리하지?
  • 사일런트 힐 4 참고해도 괜찮을 것 같다.
  • 창문 탈출의 경우 플레이어는 원래 할 수 있지만 외부 요인에 의해 못하는 불가피한 상황을 만들어 해결하기
  • 게임을 처음 시작할 때 BGM은 없는 상태로 시작하나 계단을 내려가거나 올라갔을 때 루프를 처음으로 경험하고 나면 메인 BGM을 키는 방식으로 플레이에 진전이 있다는 연출을 써도 좋을 것 같다.
  • 특정 조건에 이웃집 문 개방 이벤트 추가하면 어떨까?
  • 주인공 집은 602호, 이웃집 601호로 정하면 묘하게 현실적일 것 같다.
  • 이웃집은 백룸 같은 비현실적인 공간이 들어가서 퍼즐의 요소 중 하나로 포함해도 괜찮을 듯 하다.
  • 거울은 어떻게 처리할까? 1. 플레이어가 안 보인다, 2. 다가가면 부서진다, 결론: 그냥 넣지 말자

역할 분담

우선적으로 할 것:

맵, 플레이어, 상호작용 퍼즐(+오브젝트), 이상 현상(프리팹), 게임 시스템, 맵, 플레이어(+상호작용 키), 사운드

목록 :

인벤토리(아이템), 조작, 상호작용, 게임 매니저, UI(독백, 아이템 정보), 기본적인 설정창

다같이 : 각자 퍼즐, 이상현상 하나씩 맡기

팀장 : 사운드

팀원1 : 게임 매니저, 루프 기능

팀원2 : 인벤토리(아이템)

팀원3 : 플레이어

팀원4 : 맵, 상호작용


기타 메모

플레이어 세부 구현 사항 플레이어 조작, 상호작용, 인벤토리(최소 손에 들고 다니게 하기)

맵 구현 방식: 루프는 플레이어 위치만 변경? 레벨 별 씬을 다르게 하기? if 계단에서 문제를 못 맞춘다면 -> 플레이어 위치만 교묘하게 변경 else -> 씬을 변경

이상현상의 종류: (단순히 게임 분위기만을 연출하기 위함)

게임 시스템: 퍼즐을 풀 때 조건 체크

퍼즐 (배경은 한 층에서 반복) 진전이 되는 건 시계로 알려주기 튜토리얼 : 계단에서 스테이지 진전이 일어나는 것을 깨닫게 하기 위함 시계 : 전체적인 스테이지 진척도


프로젝트 진행 스케줄

  1. 맵, 플레이어 구현
  2. 계단에서 루프하게 기능 구현
  3. 상호작용 가능한 오브젝트 추가
  4. 퍼즐 추가, 정답 채점 기능 추가
  5. 레벨 디자인, 레벨 양산
  6. 엔딩 만들기

컨벤션 규칙

[Feat] : 새로운 기능 추가

[Fix] : 버그 픽스

[Design] : 디자인 변경

[Style] : 코드 포멧 변경, 세미콜론 누락

[Refactor] : 리팩토링

[Comment] : 필요한 주석 추가

[Docs] : 문서 수정

[Test] : 테스트 추가, 테스트 리팩토링

[Rename] : 파일,폴더명 변경,수정 및 이동

[Remove] : 파일 삭제

[Add] : 새 프로젝트 생성

[Chore] : 작은 수정사항

 

Git Branch는 ‘Main -> Dev -> 개인 Branch’ 의 구조로 진행

각자 테스트 Scene을 하나씩 만들어서 주기적으로 병합하는 방식으로 협업 진행.

 

728x90