> 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/beginner-tutorials/quest-set-up-from-start-to-finish.md).

# 시작부터 종료까지 퀘스트 설정하기

이 예시에서는 퀘스트를 설정하는 방법과 옵션이 수행할 수 있는 작업에 대해 알아봅니다. 아래의 예시를 통해 다섯 개의 코인을 모았을 때 게임에서 승리하는 모습을 확인할 수 있습니다. 이제 시작해 보죠.

![](/files/-MP7_JqKYQSwd267Jmqt)

* 왼쪽 상단의 코너에 있는 '**Rules**' 버튼을 클릭합니다. 아래의 화면이나 유사한 모습의 화면이 보일 것입니다.

![](/files/-MPgJh5KtJpUi58urYay)

2번 탭 '**Quests**'에 (위 이미지 하이라이트된 부분 참조) 켜기 및 끄기 버튼이 있습니다. 해당 버튼이 초록색으로 활성화되었는지 확인합니다. 그 밑에 여러 '**퀘스트**' 목록이 보이며 각 퀘스트의 이름은 재설정할 수 있습니다. 각 퀘스트에는 퀘스트 설정을 변경할 수 있는 접이식 메뉴가 있습니다. 각 퀘스트는 5단계의 절차가 있습니다.

1. Unlock quest (퀘스트 해금)
2. Launch quest (퀘스트 시작)
3. Quest type (퀘스트 타입)
4. Quest completion (퀘스트 완료)
5. Action after completion (완료 후 액션)

![](/files/-MPgLmbFd7HibjE92_LY)

| ​![](/files/-MPgNBbcyW_XBjnJKrKN)​ | <p>​</p><ul><li><strong>'Auto Unlock (자동 해금)'</strong> - 게임이 시작하면 자동으로 퀘스트를 해금합니다.</li><li><strong>'Requires Message (메시지 필요)'</strong> - 퀘스트가 숨겨지며 스타트 메시지가 전송되기 전까지 플레이어는 퀘스트를 해금된 상태로 볼 수 없습니다.</li></ul> |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

이 예시에서는 '**Auto Unlock**'을 사용하여 게임 시작과 동시에 퀘스트도 시작되도록 설정했습니다.

| ​![](/files/-MPgOl433fbkaZqwMNKF)​ | <p>​</p><ul><li><strong>'Auto Unlock (자동 해금)'</strong> - 퀘스트가 해금됨과 동시에 시작됩니다.</li><li><strong>'Requires Message (메시지 필요)'</strong> - 플레이어가 필요한 메시지를 전송하기 전까지 퀘스트가 시작되지 않습니다.</li></ul> |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

이 예시에서는 '**Auto Unlock**'을 사용하여 게임 시작과 동시에 퀘스트도 시작되도록 설정했습니다.

| ​![](/files/-MPgR3iH4DTc7yQV6xAh)​ | <p>​</p><ul><li><strong>'Counter (카운터)'</strong> - 퀘스트에서 수집하거나 죽는 오브젝트의 수를 카운트합니다.</li><li><strong>'Asset Death (애셋 사망)'</strong> - 특정 애셋이 사망 시 퀘스트가 완료됩니다.</li><li><strong>'Timer (타이머)'</strong> - 퀘스트에 타이머가 존재합니다.</li><li><strong>'Wait For Message (메시지 대기)'</strong> - 메시지가 전송되면 퀘스트가 완료됩니다.</li></ul> |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

각 퀘스트 타입을 살펴보고 어떻게 사용되는지 알아보겠습니다.

| ​![](/files/-MPgRaAfyhadrqYyEgPM)​ | <p>​</p><ul><li>'<strong>CollectedObjects (수집 오브젝트)</strong>' - 플레이어가 애셋을 수집하여 퀘스트를 완료하게 합니다.</li><li><p><strong>'Deaths (사망)'</strong> - 플레이어가 애셋을 죽이고 퀘스트를 완료하게 합니다.</p><p></p><p>각 애셋에는 여기에서 설정하는 '<strong>Tag</strong>'의 내용과 일치하는 태그가 필요합니다. 이 예시에서는 '<strong>coins</strong>'를 사용했습니다.<br><br>수량은 플레이어가 수집하거나 죽여야 하는 애셋의 수량을 말합니다.</p></li></ul> |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| ​![](/files/-MPgTxmUM9arSQmqPVa8)​ | <p>​</p><ul><li>'<strong>Asset Death (애셋 사망)' -</strong> '<strong>Asset to watch (목표 애셋)</strong>'을 선택하고 게임 메이커에 이미 포함된 애셋을 선택합니다. 해당 애셋이 사망 시 미션이 완료됩니다.<br><br>일반적으로 보스전 퀘스트에 사용됩니다.</li></ul><p></p> |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| ​![](/files/-MPgUlacweTJ_92sdZBT)​ | <p>​</p><ul><li>'<strong>Timer (타이머)' -</strong> 퀘스트에 타이머를 적용합니다.</li><li><strong>'Seconds to wait (대기 시간 (초))' -</strong> 타이머 길이를 설정합니다.</li></ul><p>'<strong>Goal (목표)</strong>'</p><ul><li>'<strong>Survive (생존)</strong>' - 타이머의 시간이 0이 되기 전까지 죽지 않아야 합니다.</li><li>'<strong>Defend (방어)</strong>' - 애셋을 선택하고 타이머의 시간이 0이 되기 전까지 해당 에셋이 죽지 않도록 합니다.</li><li>'<strong>Message needed (메시지 필요)</strong>' - 플레이어는 타이머의 시간이 0이 되기 전까지 메시지를 전송해야 합니다. 예를 들어 버튼을 누르거나 목표 지점에 도달하는 것 등이 있습니다.</li></ul> |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| ​![](/files/-MPgWwmyyytgEMnGdWNg)​ | <p>​</p><ul><li>'<strong>Wait For Message (메시지 대기)' -</strong> 플레이어는 퀘스트를 완료하기 위해 메시지를 전송해야 합니다. 예를 들어, 버튼을 누르거나 목표 지점에 도착하거나 애셋에게 말을 거는 액션 등이 있습니다.</li></ul> |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |

위 내용이 '**Quests type**'의 모든 옵션입니다. 이 예시에서는 '**CollectedObjects**'를 사용하여 플레이어가 퀘스트를 완료하기 위해 코인을 모으도록 했습니다. 코인에는 '**coins**' 태그를 부여하고 수량은 '**5**'로 설정했습니다.&#x20;

| ​![](/files/-MPgYQ9920G6aTFXJNm2)​ | <p>​</p><ul><li><strong>'AutoCompletion (자동 완료)'</strong> - 목표에 도달하는 즉시 퀘스트가 완료됩니다. 이 예시에서는 해당 옵션을 사용했습니다.</li><li><strong>'Requires Message (메시지 필요)'</strong> - 플레이어가 필요한 메시지를 전송하기 전까지 퀘스트가 완료되지 않습니다.</li><li>'<strong>WaitForInput (입력 대기)</strong>' - 퀘스트 목표치에 도달 후 플레이어는 키보드의 <strong>엔터키</strong>를 눌러 퀘스트를 완료합니다.</li></ul> |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| ​![](/files/-MPgZT0rO6vQysWuYkEZ)​ | <p>​</p><ul><li><strong>'Nothing (없음)'</strong> - 퀘스트가 완료된 후 아무 일도 일어나지 않습니다.</li><li><strong>'Send Message (메시지 전송)'</strong> - 퀘스트가 완료된 후 메시지가 전송됩니다.sage gets sent.</li><li>'<strong>End Game (게임 종료)</strong>' - 게임이 종료되고 플레이어는 '<strong>Victory (승리)</strong>' 화면을 보게 됩니다. 이 예시에서는 해당 옵션을 사용했습니다.</li></ul> |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

위 예시에서는 플레이어가 5개의 '**coins**' 태그가 달린 코인을 모았을 때 '**Victory**' 화면과 함께 게임이 종료되도록 퀘스트를 설정했습니다.\
이제 애셋을 수집 가능하며 수집 시 셀 수 있도록 설정해 보겠습니다.<br>

* **L** 키를 눌러 게임 메이커의 애셋 중 플레이어가 모으게 할 애셋을 선택하고 놓습니다.
* 애셋을 선택하고 해당 애셋에 **행동**이 포함되어 있다면 삭제합니다.
* '**Collectible Component**'를 추가하고 '**Collect Type**'을 '**Collision**'으로 설정합니다.
* 태그 섹션까지 스크롤을 내려 퀘스트의 'Rules (규칙)'에서 설정한 태그를 추가합니다.\
  이 예시에서는 태그로 '**coins**'를 사용했습니다. 아래 이미지를 참조하세요.<br>

![](/files/-MP7WK_q1aKcFmM6QmEJ)

이제 수집 가능한 동전이 생겼으며, 이 동전들은 수집될 때마다 숫자가 카운트되어야 합니다. 퀘스트를 완료하려면 5개가 필요한데요. 별도의 애셋을 또 생성하지 말고, 방금 만든 애셋을 선택하여 **Ctrl + D**를 눌러 애셋을 복사합니다. 이렇게 두 개의 애셋이 만들어졌습니다. 5개까지, 혹은 필요한 만큼까지 **Ctrl + D**를 눌러 애셋을 만들고 맵 여기저기에 뿌려 놓으세요.

![](/files/-MP7YsEzHzqEKLwCAwEr)

이제 모두 완료되었습니다! 이제 게임을 플레이하고 코인 5개를 모아 승리 화면을 확인해 보세요.\
이렇게 첫 번째 퀘스트 설정을 성공적으로 마쳤습니다!
