도서 정리/유니티로 만드는 게임 개발 총론
[유니티로 만드는 게임 개발 총론]8장. 외부 연결 메커니즘
dukh
2023. 9. 4. 16:39
본문의 모든 내용과 이미지의 저작권은 '페니 드 빌' 저자의 유니티로 만드는 게임 개발 총론 도서에 있습니다.
8-1. 외부 연결 기초
- 게임을 디자인 할 때는 고사양의 게임 콘솔 및 데스크탑은 물론 저성능의 모바일 기기까지 고려해야 함
- 확실하게 차별화된 게임 개발 경험을 만들어야 하는 어려움이 있음
- 스마트폰이 보편화된 최근, 게임 제작사들은 게임을 즐겨보지 않았던 일반 소비자의 관심을 끌기 위해 노력
- 인간-컴퓨터 상호작용(Human-Computer Interaction; HCI) 기술을 적용해야 함
- 태블릿 화면에서 손가락을 움직이거나 팔다리 움직임을 추적하는 등, 독특한 사용자 경험을 창조할 수 있는 여지가 무궁무진 함
- 다양한 플랫폼 연동에도 신경써야 함
- 플레이어들은 게임 경험을 친구들과 공유할 수 있게 되었음
8-2. 햅틱과 외부 모션
- 햅틱(Haptic)이란 단어는 ‘촉감’을 의미하는 그리스어에서 유래했음
- 플레이어들은 게임을 하면서 화면, 키보드, 컨트롤러 등을 만지지만 컴퓨터 게임에서는 여전히 촉감이 부족
- 콘솔 컨트롤러나 모바일 기기에서는 진동 기능이 추가되어 게임에서 햅틱을 경험할 수 있게 됨
- 진동은 최근에도 가장 널리 사용되는 터치 피드백
- 최초로 진동 피드백을 선보인 게임기기는 닌텐도 64의 ‘럼블팩(Rumble Pak)’과 플레이스테이션의 ‘듀얼 쇼크 아날로그 컨트롤러(Dual Shock Analog Controller)’였음
- 2003년, 소니는 플레이스테이션2 용 웹캠 ‘아이토이(EyeToy)’를 출시, 게임 콘솔에 부착하여 플레이어의 움직임을 추측할 수 있게 됨
- 2010년 마이크로소프트는 ‘키넥트(Kinect)’를 출시하여 운동학적으로 상호 작용하여 플레이어가 이제까지 경험할 수 없었던 몰입의 경지에 이르게 했음
- 화면 앞에서 픽셀 그리드에 맞춰 끊임없이 투사되는 적외선 레이저를 사용해 전신 3D 모션 캡쳐를 제공
- 현재 키넥트는 최대 6명을 동시에 추적하고, 얼굴과 음성을 인식할 수 있음
- 현재 최신 외부 연결 기기는 ‘오가닉 모션(Organic Motion)’에서 개발한 ‘스테이지 시스템(Stage System)’
- 실시간 모션 캡쳐에 활용되며, 미래에는 플레이어가 중앙에 위치하고 사방의 벽에 게임을 투사하는 게임 구현 가능
- 카메라 6대를 활용하여 전신 3D 서라운드 모션과 구조를 캡쳐
8-3. 모바일 하드웨어 기능 활용
- 원래 스마트폰은 게임을 하라고 만든 기기가 아니지만, 게임이 모바일 플랫폼에서 큰 인기를 누리고 모바일 하드웨어가 발전함에 따라 내장된 기능을 활용하는 게임이 많아짐
- 주로 터치 스크린 및 내장 모션 센서, 위치 기반 서비스와 상호 작용 함
1. 가속도
- 가속도계(Accelerometer)는 가속력을 측정하는 장치, 매우 작은 회로관이 중력을 감지해서 기울기 각도를 측정하고, 움직임과 진동을 인식해 이동 속도를 측정함
- 최신 모바일 기기에서는 ‘미소전자기계(Microelectromechanical)’ 시스템 가속도계가 탑재
- ‘닌텐도 위 리모트’와 ‘눈챠크 컨트롤러’ 및 ‘플레이스테이션3 컨트롤러’에도 가속도계가 탑재
- 가속도 데이터는 게임에서 화면 방향을 바꾸거나 행동을 묘사할 때 사용할 수 있음
2. 방향
- 가속도계는 방향도 측정할 수 있음
- 가속도계가 기기에 고정되어 있기 때문에 기기와 방향이 동일하다고 가정하여 계산
- 기기는 위, 아래, 세로, 가로, 뒤집은 세로, 뒤집은 가로 총 6개 중 하나의 방향을 기록
- 방향 데이터는 여러 어플리케이션에서 화면 회전을 결정
3. 웹 서비스
- 모바일 기기에서는 인터넷에 접속해 웹 서핑과 이메일 송수신이 가능
- 이는 게임 내에서 이메일을 보내거나 웹사이트에서 데이터를 구하는 등의 방식으로 활용될 수 있음
- 대표적인 웹 서비스 연동 기능이 ‘광고’
- 게임 서버 관련 WWW 호출은 속도가 무척 느리기 때문에 실시간 게임에서는 권장하지 않음
4. 위성위치확인시스템(GPS)
- 스마트폰과 태블릿 PC에는 GPS 수신기가 탑재되어 있음
- 실시간 위치 정보를 게임 데이터로 이용하여 실제 플레이어가 이동하면 게임에 반영
5. 증강 현실(AR)
- 증강현실은 1968년부터 상용화되어 있었지만, 애플리케이션에 본격적으로 적용되기 시작한 것은 2006년 이후
- 데스크톱, 노트북의 웹캠이 대중화되고 성능이 높아진 것이 그 이유
- 특히 3D 게임 관련 기술이 발전하면서 고품질 오브젝트와 애플리케이션을 효율적으로 통합할 수 있게 됨
- 플레이어가 존재 하는 실세계가 카메라를 통해 화면으로 전송되어 가상 게임 캐릭터와 통합
- 실제 세계에 가상의 오브젝트를 정확히 배치하기 위해서는 사용자의 위치와 방향을 정확히 판별할 하드웨어와 소프트웨어가 필요
8-4. 소셜 메커니즘
- 최근 모바일 기기, 데스크톱, 콘솔 등 어떤 기기를 활용하더라도 소셜 요소를 배제하기 어려움
- 엑스박스 라이브, 페이스북 등의 소셜 요소를 사용하여 정보 및 데이터 공유
- 온라인 소셜 네트워크는 게임사가 아닌 다른 회사가 개발한 서비스이기에 게임에 그들의 시스템을 결합시키는 일이 쉽지는 않지만, 각자의 코드에 넣어 사용할 수 있는 애플리케이션 프로그래밍 인터페이스(API)를 제공
1. 트위터
- 트위터는 사람들이 140자 길이의 메시지를 웹사이트에 게시하는 웹 서비스
- 메시지는 특정인을 향한 것이 아니며 자신의 생각을 사이버 공간에 자유롭게 게시하는 수단
- 트위터에는 다른 애플리케이션에서 데이터를 가져갈 수 있는 자체적인 API가 있음
- 트위터에서 받아온 데이터는 JSON 형식으로 되어있으며 키 : 데이터 형식을 취함
인증 과정
- 사용자 계정에 접근 허용을 요청하는 메시지를 애플리케이션에서 트위터로 전송
- 사용자의 웹 브라우저가 열리고 사용자에게 현재 사용 중인 애플리케이션이 트위터 계정에 접근해도 괜찮겠냐고 물음
- 접근을 허락하면 PIN 번호를 부여받고, 사용자는 이 PIN 번호를 애플리케이션에 입력
- 애플리케이션은 트위터에 메시지를 보내 PIN 번호를 사용 중이라고 알림
- 트위터가 이 PIN 번호가 정확하다고 판단하면, 개인화된 인증 토큰을 애플리케이션에 전송
- 토큰은 애플리케이션 내에 저장되어 사용자가 인증 과정을 다시 거치지 않아도 되게 함
2. 페이스북
- 페이스북의 사용자 인증 과정은 트위터와 비슷
- 페이스북은 XCode와 비주얼 스튜디오 프로그래밍을 위한 C++과 C# 인터페이스까지 제공
- 플레이어의 계정을 인증하는 과정은 트위터와 마찬가지로 웹 기반 요청을 통해 처리
- 트위터에 비해 규모가 훨씬 크고 얻을 수 있는 데이터도 방대
- 페이스북도 트위터와 마찬가지로 JSON 형식의 데이터를 반환
3. 오픈페인트(OpenFeint)
- 모바일 게임만을 위해 개발된 소셜네트워크 플랫폼
- 2009년 아이폰과 아이패드의 iOS용으로 출시됐으며, 안드로이드도 지원
- 개발자들이 순위표, 포럼, 실시간 채팅, 보상, 최고 점수 경쟁 등의 기능을 손쉽게 통합할 수 있는 API 세트를 제공
- 2012년 11월에 서비스 중단
인증 과정
- 오픈페인트 개발자 사이트에서 계정 생성 후, 게임 등록
- 애플리케이션 정보 탭에서 애플리케이션 ID와 제품 키, 제품 비밀번호를 발급받아 입력
- 게임이 오픈페인트 기능에 접근 가능
8-5. 게임 출시
- 과거, 소규모 독립 개발자들은 대형 퍼블리셔와 컨택하여 투자를 요청한 다음 로열티를 받고 엄격한 계획과 출시 일정에 맞춰야 했음
- 최근도 이런 상황이 있긴 하지만, 다양한 선택권이 주어졌음
1. 앱스토어 출시
- 앱스토어는 중개 과정을 생략하고 개발자의 게임을 소비자들에게 직접 전달
- 앱스토어에서 판매되는 iOS와 맥용 애플리케이션은 소비자가 인터넷으로 구배해서 직접 다운로드가 가능
- 앱스토어용으로 개발된 애플리케이션은 XCode 컴포넌트로 개발해야 함
출시 과정
- 앱스토어에 애플 개발자로 등록
- 개발이 완료된 애플리케이션을 승인 받기 위해 애플에 제출, 2주 정도의 시간이 소요
- 제출 전에는 애플이 애플리케이션 승인 시 참조하는 체크리스트를 확인하는 것이 좋음
- 승인이 되면 출시, 미승인 시 수정 후 다시 제출
- 애플은 모든 앱에 약 30%의 수수료를 뗌(국가에 따라 조금씩 다름)
2. 구글 플레이 스토어 출시
- 앱스토어에 비해 좀 더 수월
- 구글 계정으로 플레이 스토어 앱 판매 권한을 구매하면 출시 가능
- 앱스토어와 마찬가지로 승인 기간이 있음
- 애플리케이션 개발 후, 안드로이드 SDK로 빌드해야만 출시 가능
- 플레이 스토어에서는 개발자가 애플리케이션 가격을 자유롭게 책정할 수 있고, 판매 시 거래 수수료 30%가 구글에 지불됨
3. 콘솔 출시
- 마이크로소프트, 닌텐도, 소니 등의 게임 콘솔 제조사들은 게임 발매에 대한 다양한 규칙과 규제 사항을 가지고 있음
- 닌텐도는 게임 스튜디오가 애플리케이션 양식 인증을 완료해야 공식 개발자로 인정
- 마이크로소프트는 엑스박스, 윈도우 데스크톱 및 모바일 게임 개발에 필요한 XNA 게임 스튜디오 개발 키트를 무료로 제공
- 플레이스테이션이나 엑스박스의 공식 개발자가 되는 장벽은 매우 높음
- 많은 경력의 팀을 보유하고 있고, 5개 정도의 AAA급 타이틀 발매 경험이 있음을 퍼블리셔에게 입증해야 함
- 개발 키트의 가격은 개당 약 10,000 달러부터 시작
4. 스팀 출시
- 스팀은 데스크톱 컴퓨터에서 실행되는 소프트웨어 클라이언트로 구성되어 있으며 배포, 저작권 및 멀티플레이어 기능을 관리
- 대형 퍼블리셔와 독립 개발사들의 게임을 함께 취급하고 있음
- 스팀 공식 홈페이지에서 게임을 스팀에 출시하는 방법을 확인할 수 있음
Steamworks - Build & Distribute Your Games on Steam