그린티타임

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

WeDIT (We Do it together)

과제 팀명

그린티타임

지도교수

이*희 교수님

개발기간

2022년 3월 ~ 2022년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2018XXX0** 현*린(팀장)

서울시립대학교 컴퓨터과학부 2018XXX0** 김*현

서울시립대학교 컴퓨터과학부 2018XXX0** 루**치

서울시립대학교 컴퓨터과학부 2018XXX0** 이*울

서울시립대학교 컴퓨터과학부 2014XXX0** 장*현

서론

개발 과제의 개요

개발 과제 요약

 ◇ 다인 협력 게임으로 플레이어들은 협력하여 미션을 클리어 하며, 다음 스테이지로 나아간다.
 ◇ 장르: 인디, 캐주얼, 액션, 시뮬레이션
 ◇ 클리어 조건: 각 스테이지의 미션을 수행하여, 엔딩 스테이지까지 도달한다. 
 ◇ 게임 방법
     - stgae1: 자동차 운전과 버튼을 이용한 미션. 첫 스폰 지역에 있는 자동차를 운전하여 길 끝에 있는 빌딩에 도착하여, 버튼을 이용한 미션을 진행한다.  
     - stgae2, 5(엔딩 stage): 플레이어 점프 조작을 이용한 미션. 점프 컨트롤을 이용하여, 구름을 띄엄띄엄 있는 구름을 밟고 앞으로 나아간다.
     - stage3, 4: 플레이어 잡기 조작을 이용한 미션. 공, 모자, 과일 오브젝트를 잡아서, 특정 구역으로 옮기는 미션을 수행한다.

개발 과제의 배경

   ◇ 게임산업의 상승세
     - 최근 게임산업은 성장세가 지속되고 있다. 2021년 전 세계 게임 이용자는 약 30억 명으로 전년 대비 5.3% 증가했다.
     - ‘21년 국내 게임 시장 규모(매출액 기준)는 전년 대비 7.4% 증가한 18조 원이며, 모바일 게임 시장 규모가 55%의 점유율을 차지하여 10조 원 규모가 될 것으로 보인다.
     - 코로나19 팬데믹으로 게임의 사용자층이 넓어지면서 이전 2, 30대 남성에 집중되었던 게임 이용자의 스테레오 타입이 파괴되고 게임에 대한 부정적인 인식이 개선되었다. 따라서 본 프로젝트에 대한 소비자층 역시 넓을 것으로 보인다.
   ◇ 게임 스트리머의 활발한 활동
     - 영상 플랫폼이 활발해지면서 게임을 리뷰하고 플레이하는 스트리머들에 대한 인기가 높아지고 있으며, 스트리머가 플레이하는 게임을 구입하거나 플레이하는 사람도 늘어나고 있다. 실제로 최근 출시되는 게임들은 유튜브 스트리머에게 광고를 맡기는 추세이다.
   ◇ 유니티 엔진의 우수성
     - 아이폰이나 안드로이드 스마트 폰 게임 제작에 많이 사용되는 엔진으로 최근의 많은 개발자에게 주목받고 있다. 유니티 엔진의 최대 장점이라면 웹, 안드로이드, iOS, 콘솔까지 다방면의 플랫폼을 적용하여 개발이 용이하다는 것이다.

개발 과제의 목표 및 내용

 1. 개발 과제의 목표
   ◇ 다인 플레이가 가능한 게임을 제작한다.
   ◇ 다양한 게임을 배급하고 관리하는 플랫폼인 STOVE에 본 프로젝트로 제작한 게임을 등록한다.
 2. 개발 과제의 내용
   ◇ UI : [게임 시작, 설정, 캐릭터 선택, 나가기]
     - 게임 시작 : [ 방 만들기 / 방 들어가기 ]
       · 방 만들기: 호스트가 방을 생성할 수 있으며 생성된 방에 대한 설정값을 변경할 수 있다.
       · 방 들어가기: 공개 방의 경우에는 비밀번호 입력 없이 방에 들어갈 수 있다. 사설 방의 경우에는 비밀번호 입력해야 방에 들어갈 수 있다. 비밀번호는 방의 이름으로 설정되며 호스트는 설정을 통해 비밀번호를 변경할 수 있다.
       · 시작: 호스트만 시작 버튼을 누를 수 있으며 게임을 시작할 수 있다.
     - 설정 : [ 배경음악 / 효과음 / 화면 밝기 ]
       · 슬라이더 바를 조정해 배경음악 / 효과음 / 화면 밝기를 변경할 수 있다.
     - 캐릭터 설정 : [ 캐릭터 선택 ]
       · 주어진 캐릭터 중 사용자는 본인이 플레이하고 싶은 캐릭터를 선택할 수 있다.
     - 나가기 : [ 게임 종료 ]
   ◇ 게임 조작
     - 플레이어 조작
       · W: 앞으로 걷기
       · S: 뒤로 걷기
       · A: 왼쪽으로 몸의 방향 돌리기
       · D: 오른쪽으로 몸의 방향 돌리기
       · Space: 점프
       · F: 자동차 탑승 / 하차
       · 마우스 좌클릭: 물건 잡기 / 놓기
       · 마우스 우클릭 상태로 드래그: 시점 전환
     - 운전
       · W: 전진
       · S: 후진
       · A: 왼쪽으로 방향 돌리기
       · D: 오른쪽으로 방향 돌리기
     - ESC
       · 설정: 슬라이더 바를 조정해 배경음악 / 효과음 / 화면 밝기를 변경할 수 있다.
       · 종료: 로비로 이동할 수 있다.
       · 게임으로 돌아가기
   ◇ 게임 플레이
     - 게임 시작
       · 자동차 있는 차고에서 시작한다. 플레이어가 자동차에 탑승하면, 차고 문이 열린다. 이때 플레이어 한 명이 자동차를 운전해서 도로에 있는 장애물을 치울 수 있다.
     - 첫 번째 스테이지 미션
       · 도로에 놓여있는 거대한 장애물: 자동차를 이용해서 치울 수 있다.
       · 버튼 미션 : 모두 플레이어가 버튼이 있는 창고에 들어가면 창고 문이 자동으로 닫힌다. 문이 닫힌 후 벽에 여러 색상의 조명이 나타난다. 플레이어는 벽에 비친 조명과 같은 순서의 버튼을 정확하게 눌러야 한다. 미션을 성공하면 뒷문을 열리고 다음 스테이지로 넘어갈 수 있는 구름을 확인할 수 있다. 구름을 밟으면 다음 구름이 나타나는 구름다리를 지나면 스테이지2를 도달할 수 있다.
     - 두 번째 스테이지 미션
       · 다음 스테이지로 넘어가기 위해 정확한 구름들을 찾아야 한다. 가짜 구름을 밟을 경우 바닥으로 떨어져서 스테이지2로 돌아간다. 두 번째 스테이지에 있는 건물에 숨겨진 버튼을 밟을 경우 정답 구름들의 색상이 바뀐다. 플레이어는 색상이 바뀐 구름을 확인하고 정확한 구름들을 선택해 다음 스테이지에 도달하면 도달하지 못한 플레이어들도 모두 다음 스테이지에 자동 스폰된다.
     - 세 번째 스테이지 미션
       · 세 번째 스테이지에서는 다음 스테이지로 넘어가기 위해 2개의 모자를 획득해야 한다.
       · 모자를 찾기 위해서 첫 번째로 플레이어는 맵 곳곳에 숨겨져 있는 색깔 공들을 찾아야 한다.            · 색깔 공들은 같은 색깔의 통 위에 올려두어야 한다.
       · 정확한 위치에 공들을 두면 첫 번째 모자를 찾기 위한 공간에 들어갈 수 있게 된다.
       · 앞에 있는 버튼을 작동시켜 공중에 떠 있는 모자를 바닥으로 떨어뜨릴 수 있다. 
       · 두 번째 모자의 경우 맵에 있는 버튼을 눌러 풍차를 작동시키고 허수아비 손에 있는 모자를 떨어뜨릴 수 있다.
       · 획득한 모자를 알맞은 위치의 발판으로 옮기면서 세 번째 스테이지의 미션을 완료할 수 있다.
     - 네 번째 스테이지 미션
       · 네 번째 스테이지에서는 맵 곳곳에 버튼과 과일들이 놓여있다.
       · 플레이어는 여러 개의 버튼 중 실제로 작동하는 버튼을 찾아 버튼을 작동시켜야 한다.                · 맵에는 총 2개의 상자가 있는데 각 상자에는 가져와야 하는 과일의 이름이 붙어있다.
       · 두 상자에 알맞은 과일을 각각 가져다 둠으로써 네번째 스테이지의 미션을 해결할 수 있다.
       · 모든 미션을 해결한 후 가로막고 있던 장애물이 사라지면서 마지막 스테이지로 넘어갈 수 있다.
     - 마지막 스테이지
       · 모든 플레이어가 네 번째 스테이지와 다섯 번째 스테이지를 연결하는 구름다리를 지나오면, 화면이 어두워지며 마지막 엔딩인 팀명과 팀원의 이름이 담긴 크레딧을 확인할 수 있다.
     - 게임 종료
       · 크레딧이 떠오르고 15초 후에 모든 플레이어가 자동으로 로비로 이동된다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
 ◇ 게임산업의 상승세
   - 최근 게임산업은 성장세가 지속되고 있다. 2021년 전 세계 게임 이용자는 전년 대비 5.3% 증가한 약 30억 명으로 추산된다.
   - ‘21년 국내 게임 시장 규모(매출액 기준)는 전년 대비 7.4% 증가한 18조 원이며, 모바일 게임 시장 규모가 55%의 점유율을 차지하여 10조 원 규모가 될 것으로 전망된다.
   - 글로벌 게임 시장과 비교 시, 국내 게임 시장의 경우 PC나 모바일 게임 시장에서는 세계 상위권을 유지하고 있다.
 ◇ Unity의 주목 상승
   - 메타버스가 게임산업의 새로운 트렌드로 떠오르면서 3D 모델링에 대한 관심도 높아지고 있다. 이에 따라 대표적인 게임 엔진인 언리얼 엔진과 유니티가 주목받고 있다. 이들은 게임뿐만 아니라 영화 산업에서도 주목받고 있다.
   - Unity의 경우 영화 <반지의 제왕>의 특수효과를 담당했던 Weta Digital의 3D 제작부분을 16억 2,000만 달러에 인수했다. 이로 인해 게임산업과 영화 산업에서 유니티의 입지가 확대될 것으로 보인다.
   - 유니티 엔진은 아이폰이나 안드로이드 스마트 폰 게임 제작에 많이 사용되는 엔진으로 최근의 많은 개발자에게 주목받고 있다. 유니티 엔진의 최대 장점이라면 웹, 안드로이드, iOS, 콘솔까지 다방면의 플랫폼을 적용하여 개발이 용이하다.
  • 특허조사 및 특허 전략 분석
 1. "게임 캐릭터 조작" 관련 특허
   ◇  텐센트 테크놀로지(센젠) 컴퍼니 리미티드. 가상 환경에서 가상 캐릭터를 제어하기 위한 방법 및 장치, 디바이스 그리고 매체. 1020220027239. 2020.11.10 2022.03.07
   ◇  텐센트 테크놀로지(센젠) 컴퍼니 리미티드. 가상 캐릭터 제어 방법 및 장치, 디바이스, 및 저장 매체. 1020217036000. 2021.03.15. 2021.12.102안
 2. "시뮬레이션" 관련 특허
   ◇  주식회사 비플렉스. 3D 시뮬레이션 방법 및 장치. 1020190015847. 2017.08.07 2019.02.15
   ◇ 현대자동차주식회사. 차량의 주행 시뮬레이션 장치 및 그 방법 1020140085423 2014.07.08. 2016.01.18
 3. "게임 엔진" 관련 특허
   ◇ 동서대학교 산학협력단. 3D 그래픽 툴과 게임엔진 간 실시간 데이터 연동방법. 1020150153107 2015.11.02 2017.05.11
   ◇ 네이버 주식회사. 게임 엔진에서 오브젝트의 충돌검사 방법. 1020050061073 2005.07.07. 2007.01.11.
 4. "멀티 플레이" 관련한 특허
   ◇ 주식회사 엠게임. 모바일 게임 유저들 간에 채팅 서비스를 제공하는 채팅 서비스 시스템. 1020160080300, 2016.06.27, 2017.01.05
   ◇ (주)스마일게이트엔터테이먼트. 복수 사용자의 게임 제어 방법 및 이를 위한 제어장치. 1020130009377, 2013.01.28. 2015.03.03
  • 기술 로드맵

Gtt01.png

시장상황에 대한 분석

  • 경쟁제품 조사 비교

Gtt02.JPG

  • 마케팅 전략 제시
 1. 강점
   ◇ 자유 인원 플레이
     - WeDIT은 1~6인의 다양한 인원수를 지원하고 있기 때문에 아는 사람과 플레이할 때도 모르는 사람과 온라인으로 플레이할 때도 원하는 인원수에 맞추기 쉽다.
   ◇ 다채로운 플레이
     - 같은 맵이라도 아이템과 새로운 사람들과 함께하는 플레이를 통해 다채로운 플레이를 즐길 수 있다. 특히 오브젝트 및 플레이어의 상호작용을 통해 온라인 게임으로서의 즐거움을 높였다.
   ◇ 확보된 매니아층
     - 경쟁제품들의 꾸준한 인기를 통해 알 수 있듯이 해당 분야에 대한 매니아층이 자리 잡고 있다.
 2. 약점
   ◇ 한정된 맵
     - 단일 맵이므로 소비자가 1회 플레이 후 다시 플레이할 가능성이 낮다.
       → 지속적인 맵 개발을 통해 사용자가 꾸준히 게임을 플레이 할 수 있도록 한다.
   ◇ 플랫폼의 다양성 부족
     - 모바일, 데스크탑, Web 등 다양한 플랫폼을 지원하는 타 게임과 달리 WINDOWS와 MAC 환경만 지원한다.
       → 게임 출시 후 추가적인 개발을 통해 다양한 플랫폼에서도 게임을 이용할 수 있도록 한다.

개발과제의 기대효과

기술적 기대효과

 1. 국내 콘텐츠 개발 활성화/ 국제적 경쟁력 확보
   ◇ 미국, 일본 등 각 나라의 게임 시장의 규모는 점차 커지고 있으며, 국내 업체의 진출 또한 활발히 진행 중이다. 국제적인 경쟁력을 향상시키기 위해 차별화된 서비스 및 콘텐츠의 개발이 필요하다.
 2. 콘텐츠 제작의 효율성 증대
   ◇ 멀티플레이 게임을 위한 프레임워크를 제공하여 멀티플레이 게임을 개발하면서 발생하는 필요 이상의 오버헤드 손실을 줄이고 콘텐츠의 내용적 집중을 할 수 있도록 한다.

경제적, 사회적 기대 및 파급효과

 1. 공간적 제한 없이 새로운 교류 환경 마련
   ◇ 코로나19 팬데믹으로 인해 집에서 보내는 시간이 증가하면서 디지털 엔터테인먼트가 주목받고 있다. 본 프로젝트는 공간의 제약을 받지 않고 사람들 간의 교류를 도움으로써 새로운 교류 환경을 마련할 수 있다.
 2. SNS 마케팅 효과
   ◇ 게임산업은 인플루언서 마케팅의 새로운 핫스팟이다. 틱톡, 인스타그램 등의 플랫폼에서 2인 이상 라이브 기능을 제공하면서 인플루언서 콜라보 라이브 방송이 주목받고 있다. 본 프로젝트는 짧은 시간에 긴장감을 주며 인플루언서 간의 교류를 극대화하며 시청자에게 충분한 만족감을 줄 수 있고 흥행을 기대할 수 있다. 따라서 이를 통해 부가적인 이익 창출이 가능할 것으로 기대된다.

기술개발 일정 및 추진체계

개발 일정

Gtt01.png

구성원 및 추진체계

◇ 김수현
   - 전반적인 게임 기획
     - stage3, 4, 5 미션 제작 맵 수정
     - 포스터 제작
◇ 루안리치
     - UI Scene(로그인씬, 옵션씬, 방 설정 기능, 대기실씬 등) 제작
     - UI 디자인/ 사운드/ 조명 조절
◇ 이해울
     - UI Scene(로비씬, 커스터마이즈씬, 방만들기씬, 대기실씬 등) 제작
     - stage1, 2, 5 미션 제작 및 맵 수정
     - 플레이어 스폰, 잡기 멀티 구현
◇ 장종현
     - 플레이어 애니메이션, 플레이어 조작, 플레이어 멀티 구현
     - 자동차 조작, 자동차 멀티 구현
◇ 현채린
     - 맵 제작
     - 스토브 출시 
     - 플레이어 카메라 조작

설계

설계사양

제품의 요구사항

 ◇ 로컬 플레이어 조작 및 상호작용
 ◇ 네트워크 플레이어 간 동기화
 ◇ 그래픽 유저 인터페이스
 ◇ 네트워크 서버 구축
 ◇ 플랫폼 유저 정보를 통한 DB 구축

설계 사양

◇ Unity를 이용하여 프로젝트 구현한다.
◇ Photon bolt 서버를 이용하여 멀티플레이 환경을 구현한다.
◇ 플레이어는 Login Scene에서 Room Scene을 거쳐 Play Scene으로 넘어가 플레이를 할 수 있으며, 이때 방만들기, 게임 내 이벤트 발생등 플레이어들의 동기화가 필요한 기능 네트워크 동작은 Bolt가 수행한다. 또한, 로컬 플레이를 위한 오브젝트 움직임은 C# 스크립트가 수행한다.

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

Gtt04.jpg

포스터

Gtt03.jpg

관련사업비 내역서

Gtt05.JPG

완료작품의 평가

Gtt06.JPG

Gtt07.JPG

향후계획

 ◇ 맵 구성 
   - 게임 개발 경험이 많지 않았기 때문에, 맵을 제작하고, 해당 맵에 맞는 미션들을 넣는 것이 쉽지 않았다. 초기에는 경험 부족으로 인해, 맵이 비어보이고 어색했다. 하지만, 이 후 게임 개발에 익숙해지면서, 맵과 미션들이 다채로워졌다.
 ◇ 오브젝트 동기화 
   - 게임 내에 있는 오브젝트들의 움직임이 동기화 되지 않는 문제가 있었다. 포톤 볼트에 대한 이해가 부족하여 생긴 문제였다. 플레이어와 같이 게임에 스폰되는 객체가 아닌, 게임 내에 있는, 동기화가 필요한 오브젝트는 sceneid로 불리는 아이디값을 설정해주어야 했다. sceneid를 설정함으로써, 게임 씬 자체에 오브젝트를 상속시킬 수 있었다. 
 ◇ 플레이어 잡기 동기화
   - 한 플레이어가 오브젝트를 잡았을 때, 이 상황이 다른 플레이어에게 동기화가 안되는 문제가 있었다. 마찬가지로, 포톤 볼트에 대한 이해가 부족하여 생긴 문제였다. 플레이어가 잡기를 했을 때, "Grab"이라 이벤트를 발생시켰다. 이 이벤트가 발생하면 잡은 물체와 잡은 플레이어가 무엇인지를 서버에게 알려주었다. 이로써, 잡기 동기화 문제를 해결할 수 있었다.

특허 출원 내용