> For the complete documentation index, see [llms.txt](https://docs.sandbox.game/the-game-maker-academy_kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sandbox.game/the-game-maker-academy_kr/tutorials-1/medium-tutorials/building-a-social-hub/possibilities-and-limitations.md).

# 가능성과 한계

멀티플레이어 경험을 제작하기 전에 이해해야 할 규칙을 정리했습니다.

## 시작 전에

**게임 메이커 v0.6.9**에서는 소셜 허브를 제작하기 전 **주의해야 할 몇 가지 한계점**이 있습니다.

멀티플레이어 환경은 싱글과는 다른 환경이 필요하기 때문에, 경험 제작이 완료되면 **더 샌드박스 팀에 연락**하여 공식 출시 전 모든 것이 제대로 작동하는지 테스트할 수 있도록 해 주세요.

경험이 리뷰를 받을 준비를 마칠 수 있도록 여기에서 경험을 설계할 때 사용할 수 있는 주요 기능 몇 가지를 살펴보고, **사용 방법**과 **피해야 할 몇 가지**를 확인한 뒤, 현재 한계점이 존재하는 이유는 무엇인지 함께 알아보도록 하겠습니다.

{% hint style="info" %}
더 샌드박스는 **계속해서 개선** 중이며 로드맵 상의 각 마일스톤을 통해 여러분이 제작할 경험을 더욱 업그레이드할 수 있는 **다양한 업데이트와 기회**를 제공할 것입니다.
{% endhint %}

멀티플레이어 이해하기

우선 **퀘스트**, **오브젝트**, **비헤이비어**와 **컴포넌트**에 있어 **싱글과 멀티의 차이점**을 먼저 이해해야 합니다.&#x20;

**싱글 플레이어** 형식에서는 내가 취하는 액션이 다른 플레이어들의 존재 유무에 영향을 받지 않으므로, 버튼을 클릭하면 해당 입력이 계산되어야 하는 유일한 트리거가 되어 **나에게만 보여도** 무방한 결과가 나타나게 됩니다.

**멀티 플레이어 형식**에서는 각자 다른 시간대에서 다양한 오브젝트와 상호작용하는 수많은 플레이어들의 액션과 이동이 **모두 한 번에 계산**되어야 하고, 따라서 **다수의 입력과 결과**가 동시에 나타나야 합니다.

가령, **한 무리의 플레이어**가 플랫폼을 활성화하는 버튼을 누를 경우, 게임 클라이언트는 이런 입력과 결과를 **플레이어 간 동기화**해야 하니 혼란이 빚어질 수 있죠.

현재 **플레이어 간 동기화**에는 **제한**이 있어, 이러한 이유로 다수의 플레이어 사이에 동기화가 필요 없거나 현재 호환성이 있는 툴에 초점을 맞추어 멀티플레이어 경험을 제작해야 하고, 여기에서 고려할 몇 가지 모범 사례가 있습니다.

기초 가이드라인

위에 언급했던 것처럼 **동기화라는 제약**이 있지만, 매력적인 경험을 만드는 일을 멈출 수는 없죠.

예를 들어, *NPC*에게 말을 걸면 **내 아바타만 해당 NPC의 특정 반응을 볼 수** 있게 됩니다. 이 경우에 멀티플레이어 경험 속 **각 플레이어**는 **각자의 상황에 맞게** NPC 대화 상자가 나타납니다.

**메시지 전송**에도 같은 원리가 적용됩니다. 메시지 전송에는 제한이 없습니다. 다만 중요한 것은 **메시지를 전송해서 무엇을 하는가**입니다.

예를 들어, **퀘스트를 활성화하는 메시지를 전송**하는 **Asker (질문자)** 비헤이비어를 추가한다고 가정해 보겠습니다. 이는 **개별** 플레이어에게만 활성화되며 그룹의 모든 플레이어에게 적용되는 사항이 아니므로 **동기화가 필요 없습니다**.

하지만 **Asset Spawner (애셋 생성기)**&#xB098; **Victory (승리) 조건**을 트리거하기 위해 Asker를 사용하는 것은 피하도록 합니다. 이는 동기화 문제의 원인이 됩니다.

모든 기능을 총망라한 리스트는 없지만, 여기에 경험 설계 시 좋은 선택이 될 수 있는 **몇 가지 가이드라인**을 정리했습니다.

* 기본 플랫폼, 중력과 충돌이 추가된 애셋, Citizen (시민), Fighter (전사), Prey (먹잇감), Doors (문) 비헤이비어가 추가된 움직이는 NPC과 같이 Collision (충돌) 속성이 있는 **움직이는 애셋**을 추가하거나 생성하지 마세요.
* **Collect (수집) 퀘스트는 피하세요**. 퀘스트를 시작하지 않았더라도 싱글 플레이어가 게임에 참여하는 다른 플레이어들을 위해 수집할 수 있습니다.
* PvP **전투/전쟁**과 관련된 요소는 현재 **이용 불가능**합니다.
* Void (공백) 비헤이비어로 플레이어를 죽이는 것은 현재 불가능합니다.

위에 언급한 팁을 염두에 두고 다음 페이지로 넘어가 신나는 멀티플레이어 경험을 제작하기 위해 소셜 허브에 사용할 수 있는 **각 비헤이비어와 컴포넌트**에 대해 알아보겠습니다.
