Unity MMO 사용법(개발자의 경험)


주의: 모든 작업은 Unity Editor 내에서 이루어졌습니다

Unity는 사용자가 단 하나의 응용프로그램에서 자신만의 게임을 생성하고 발행할 수 있다는 아이디에서 근거하고 있습니다. Photoshop 이나 Maya, Audacity 같은 콘텐트 생성 도구 이외에도, 모든 응용프로그램 개발과 발행은 Unity 편집기에서 이루어집니다. 이러한 목표를 용이하기 하기 위해, Unity는 좀더 기술 지향적인 하위 레벨과 동시에 사용자 지향의 상위 레벨 인터페이스를 개발하였습니다. Unity MMO 버전도 이러한 생각에 일치합니다. MMO 개발은 사용자의 사고방식에 최소한의 변화만을 요구합니다. 싱글 플레이어 게임을 멀티 플레이어 게임으로 가는 단계는 매우 간단합니다. 스크립트 레벨의 상호작용은 가능하고 바람직하지만, 기술적으로 요구되는 것은 아닙니다. 일반적인 개념은 전통적인 피어투피어 방식의 게임(한 피어가 호스트로 동작)처럼 보이는 것을 만들기 위한 단계를 거치고 있지만, 발행 중에는, 그 편집기는 예상한 대로 측정하고 균형을 잡는 대량의 MMO 백앤드(back-end)을 생성할 것입니다. 개발 기간 동안, 서버의 동작은 여전히 존재하나, 하나의 편집기 사용자 보다 더 많은 것을 지원하지는 않을 것입니다. 공동 생성, 월드 구축과 데이터 입력은 바람직하지만, 여기에서는 포함되지 않습니다.

이러한 기본 개념을 설명하려면, 이 문서는 Unity MMO 개발자가 편집기 내에서 일부 공통 작업의 지속적으로 완료하는 방법을 설명하려 할 것입니다. 이는 사용자 스토리의 전체를 알리려는 것은 아니며, 일부 간단한 예제로 이러한 비전을 보여주려고 합니다.

Task: 스크립트 된 서버 측 오브젝트를 생성합니다:

      1. 오브젝트를 프로젝트 패널에서 게임 월드로 드래그 합니다.
      2. 오브젝트를 컴포넌트(NetworkView와 같은)와 연결합니다. 이는 그것을 서버 측에서 추적해야 할 책임으로 정합니다.
      3. 속성을 추가할 수 있는 (예: 속성의 벡터)드롭다운으로 그 속성을 조정합니다. 알려진 속성은 서버에 의해 제공됩니다.
      4. 미리 정의된 게임 이벤트를 활용하는 스크립트(OnLogin(), OnCollision(), OnTick() 등)
      5. 스크립트에서 게임을 구동합니다(TriggerEvent(GameEvent.SetTime(0345)))
      6. 사용자 이벤트를 (AddEventType(MyEventType) 정의하고 스크립트로 그것을 트리거 합니다. 

역링크