(주)인플랩
VSH Studio
경소고
overview
주제
- 가축질병 방역에 관한 교육을 목적으로 하는 시리어스 게임입니다.
개발동기
- 가축 질병으로 인한 재해는 한번에 매우 커다란 피해를 발생시킵니다.- 그러므로 저희 팀과 (주)인플랩은 가축 질병 방역에 관한 교육 게임을 만들기로 했습니다.
프로젝트 목적
- 축산업 종사자분들께 교육을 위해 제공되어- 가축질병으로 인한 피해를 줄일 수 있는 결과물을 도출하는 것 입니다.
캡스톤 참여 동기
- 사업체에 멘토링을 받으면서 우리의 역량과 노하우를 늘리고- 실무에 더 가까워 질 수 있을 것이라고 기대하여, 이번 캡스톤에 참여하게 되었습니다.
Team
![](assets/img/team/team-1.png)
김지관
프로젝트 매니저입니다.서기와 스케쥴링을 맡고 있습니다.
Email: asdzxcjjkcurp@gmail.com
![](assets/img/team/team-2.png)
김환희
프로그래머입니다.게임을 구현하는 작업을 맡고 있습니다.
Email: hwantanology@gmail.com
![](assets/img/team/team-3.png)
최원준(팀장)
프로그래머입니다.게임을 구현하는 작업과 매니징을 맡고 있습니다.
Email: ck66661254@gmail.com
![](assets/img/team/team-4.png)
한용균
프로그래머입니다.게임을 구현하는 작업을 맡고 있습니다.
Email: sygttgudthfr@gmail.com
![](assets/img/team/team-5.png)
Tech
-
01 개발에 사용한 기술
Unity Engine - 게임 구현에 사용했습니다.
Photoshop - 그래픽 리소스 제작에 사용했습니다.
Notion - 회의, 문서 작업 및 자료 공유에 사용했습니다.
Github - 소프트웨어 형상 관리에 사용했습니다.
-
02 개발에 소요된 물품 및 준비물
개발에 필요한 데스크톱
그래픽 리소스 에셋들 (약 50만원)
![](assets/img/skills.png)
WBS
월별로 프로젝트 진행 과정을 정리했습니다.
Project Info
레이아웃, 데이터 구조, 시스템 구조, 세부 수행 과정 등의 프로젝트의 상세 정보를 소개합니다.
- 모음
- 레이아웃/요소 설명
- 데이터 구조
- 시스템 구조
![](assets/img/layout/Title.png)
타이틀 화면
게임 시작전 타이틀 화면입니다.
농장 분위기에 어울리는 BGM, 배경, 제목 등이 인상적입니다.
![](assets/img/layout/Loading.png)
로딩화면
씬이 전환될때 나오는 로딩 화면입니다.
부담스럽지 않게 심플하게 디자인 되었습니다.
![](assets/img/layout/Dialogue.png)
메인화면
대사나 컷씬등의 전체적인 진행이 이뤄지는 메인 화면입니다.
상황마다 장소가 바뀌며 말하는 사람에 따라 사진이 바뀝니다.
![](assets/img/layout/Popup.png)
팝업창
인게임에서 사용되는 교육 내용이 들어간 팝업창 입니다.
각 상황에 어울리는 교육 내용이 나오게 디자인 되어있습니다.
![](assets/img/layout/Option.png)
옵션창
게임 설정이나 게임 종료가 가능한 옵션창 입니다.
옵션창의 배경색과 버튼, 텍스트를 조화롭게 배치했습니다.
![](assets/img/layout/OX.png)
OX퀴즈 게임
미니게임중 OX퀴즈 게임의 한 장면입니다.
축산업에 어울리게 배경과 UI가 디자인 되었고
내용을 충분히 고민하면서 공부할 수 있게 되어있습니다.
![](assets/img/layout/Matching.png)
백신매칭 게임
미니게임중 백신매칭 게임의 한 장면입니다.
창고와 약이 연상될 수 있게 디자인하였고
긴장감과 재미를 유발하기 위해 제한시간을 두었으며
공부 효과를 위해 틀리면 정답을 다시 보여주게 하였습니다.
![](assets/img/layout/HarmfulBirds.png)
유해 조류 퇴치 게임
미니게임중 유해 조류 퇴치 게임의 한 장면입니다.
유저가 재미를 느낄 수 있을 이펙트와 그래픽을 사용했습니다.
![](assets/img/layout/Quarantine.png)
감염 가축 격리 게임
미니게임중 감염 가축 격리 게임의 한 장면입니다.
긴장감과 재미의 절정 단계로 활용하기 위해
제한시간, 이동 속도가 빠른 가축을 이용하는 등
레벨링에 신경썼습니다.
![](assets/img/layout/Clear.png)
클리어
미니게임 클리어 화면입니다.
흙이나 나무를 연상할 수 있는 배경과
심플한 UI를 이용해 디자인했습니다.
![](assets/img/layout/Failed.png)
실패
미니게임 실패 화면입니다.
흙이나 나무를 연상할 수 있는 배경과
심플한 UI를 이용해 디자인했습니다.
![](assets/img/layout/Result.png)
결과
게임의 종합 결과 화면입니다.
여운을 남기기 위해 축사를 배경으로 하고
밝은 분위기를 강조하기 위해 신경썼습니다.
![](assets/img/datasystem.png)
데이터 구조
모든 대사, 미니 게임내의 데이터는 구조화 시킨후 json파일을 이용해 저장하고 불러옵니다.
![](assets/img/system/managers.jpg)
Managers
GameManager, SoundManager등 메니저들을 한번에 효과적으로 관리할 수 있게 도와주는 클래스를 만들었습니다.
![](assets/img/system/resourceManager.jpg)
ResourceManager
게임속 모든 동적 리소스들의 생성이나 접근을 편리하게 해주는 클래스를 만들었습니다.
![](assets/img/system/dataManager.jpg)
DataManager
게임속 대사, 미니게임등과 같은 데이터들을 쉽게 이용하기 위해 파싱후 할당해주는 클래스를 만들었습니다.
![](assets/img/system/uiManager.jpg)
UIManager
게임속 UI들을 생성하고 UI객체나 UI객체의 속성을 관리해주는 클래스를 만들었습니다.
![](assets/img/system/minigameManager.jpg)
MinigameManager
미니게임의 실행, 흐름, 종료, 스코어 등을 관리해주는 클래스를 만들었습니다.
![](assets/img/system/util.jpg)
Util
코드 작성을 간편하게 하기위해 유용한 기능을 모아놓은 프레임워크의 한부분인 클래스를 만들었습니다.
![](assets/img/system/define.jpg)
Define
프로그램에서 필요하며 쉽게 접근이 필요한 enum데이터와 Public 정적 데이터들을 모아놓은 클래스를 만들었습니다..
Result
결과 분석
- 목표한 결과물을 산출하는 과정에서 다음에도 사용 가능한 프레임워크를 완성했습니다.
- PPT 제작, 온보딩, 문서화, 고도화 등 에 대한 노하우를 얻었습니다.
- 문서화와 정보 공유가 얼마나 중요한 작업인지 알 수 있게 되었습니다.
=> 전문적인 문서화 작업과 협업 방법, 운영 기법에 대해서 더 알고 싶습니다.
유지 보수
- 여러 잔존하는 버그를 수정해 완성도를 높일 예정입니다.
- 미니게임 종류와 대상 질병과 스토리 등을 추가해 게임의 깊이를 늘릴 예정입니다.
- 교육용 자료로 쓰이기 위해 통계 시스템을 추가할 예정입니다.
=> 진짜로 관련 기관에 납품할 수 있을 수준의 게임이 되도록 보완하고 싶습니다.
Documentation
결과 자료와 발표 자료들에 대한 내용입니다.