[PORTFOLIO] 방과후 6시

suyoung·2023년 5월 2일
0

portfolio

목록 보기
2/4

이 프로젝트는 GIGDC에 출품하기 위한 목적으로 만들어진 프로젝트입니다. 이 프로젝트의 특징이라면, 같은 학교 학생이 아닌, 타학교 학생들과 기획, 그래픽, 프로그래밍 분야로 나눠 개발을 진행 했다는 점입니다. 보통 온라인으로 진행했지만, 매 주 회의를 진행하여 개발을 진행했습니다.

안녕하세요!
2022년에 개발한 게임 프로젝트, 방과후 6시에 대해 설명하겠습니다.

방과후 6시는 세 분야(그래픽, 기획, 개발)로 나눠 사람을 구한 뒤 개발을 진행한 프로젝트 입니다.
대략 1월부터 7월까지 개발을 진행했고, 매 주 회의를 진행하는 방식, 개발하는 분들과는 스크럼방식을 이용해 하루에 한번 개발을 진행하도록 했습니다.
이 프로젝트 또한, 유니티를 처음 접해봤기에 많은 우역곡절을 겪었던 프로젝트입니다...

도중에 개발 팀원분께서 해외로 나가는 일이 있어서, 하던일을 이어 받아 개발을 했던 경험이 있네요 ㅎ..

이 프로젝트는 유니티 엔진을 이용해 2D로 구현했습니다.

  1. 45도 카메라 각도
  2. 쯔꾸르 방식의 타일맵 형식 게임
  3. 호러, 퀴즈 방식의 게임

3가지의 특징을 가지고 개발을 진행했습니다.

프로젝트 당시에 개발자 모두 유니티엔진에 대한 지식이 적었기 때문에, 씬을 같이 건드리는 경우도 많아 깃 충돌이 참 많이 발생했다.. 나에게 이 프로젝트는 프로그래밍 규칙을 만드는 습관을 만들 수 있도록 도와준 프로젝트인 것 같다!

  1. flow chart

게임 시작 후 게임의 목표를 깨기 전까지 적대 NPC와 또다른 방해물을 피해 모든 학생들을 풀어줘야한다.

  1. 주요 개발 알고리즘_stage 1,3
  • 몹 NPC 자동화 알고리즘

    1. Raycast2D를 이용하여 몹의 정면 부분을 검사한다.
    2. 벽이나 오브젝트를 부딪힐 경우에 상하좌우를 검사한다.
    3. 오브젝트나 벽이 없는 부분을 랜덤으로 결정하여 그 방향으로 몹이 이동한다.
    4. 플레이어를 일정 범위네 발견하면, 2,3번을 무시한채 플레이어를 따라간다.
    5. 위 방법을 반복한다.
      ** MonsterCollision.cs 스크립트를 열어보면 위 알고리즘을 쉽게 알 수 있다.
  • stage

    • 마우스를 이용해 칠판을 선택할 때 UI 오브젝트를 등장하도록 구현
    • 힌트에 해당하는 오브젝트의 경우 마우스 모양 변경
    • Camera.main.SceneToWorldPoint 함수를 이용해 현재 입력되고 있는 마우스의 위치를 파라미터로 전달하여 변수값에 돋보기 오브젝트를 위치시킨다.
    • 플레이어가 유령 NPC와 대화를 할 시, 충돌 범위 안에서 스페이스 바를 눌러 대화창이 뜨도록 구현한다.
    • Json파일을 이용하여, 데이터를 저장한다.
    • 플레이어가 정답을 입력할 경우, 공포 요소를 추가한다.
  1. 개발 이미지

  2. URLs

    동영상 : https://www.youtube.com/watch?v=I2tkKil4oQg
    github : https://github.com/GIGDC/Game_development_project

  3. 회고

    나를 제외한 모든 팀원이 3학년이었기에 학기가 바빴기도 했고, 조금씩 일정이 늦어졌던것 같다. 팀장으로 더 책임감을 갖으며 열심히 하려고 노력했던 프로젝트였다. 한명의 해외 일정으로 2달도 안남은 기간동안 잠도 잘 자지 못하고, 개발을 완성하려고 더더욱 노력했던 것 같고, 완성했을 때 이렇게 뿌듯했던 적이 없었다!
    이 프로젝트로 팀장의 역할이 부족했음을 알고, 더 발전하는 계기가 되었다.

profile
게임 개발자 지망생

0개의 댓글