스타듀 밸리를 위한 SMAPI

Phonedolly·2021년 6월 4일
0
post-thumbnail
post-custom-banner

여기의 내용 일부를 번역(약간의 의역)한 것입니다.

SMAPI는 스타듀 밸리 mod들의 핵심이라 봐도 될 정도로 강력한 API를 제공한다. SMAPI를 이용하면 게임 데이터를 수정하거나 게임 내부의 이벤트에 반응하는 등 자유롭게 스타듀 밸리를 조작할 수 있다.

알아놓으면 일이 수월해질 것이다. 멀티플레이 서버 제어 코드를 SMAPI로 작성하고자 한다.

이 제어 코드(이제 mod라고 부르겠다)가 멀티플레이 관련해서 어떤 작업을 할 수 있을지는 API Document를 살펴봐야 결정이 날 것 같다. 그나저나 이 API를 쓰려면 C#을 알아야 한다... 이제 C#도 공부해야지. 할 일이 좀 늘었지만 C# 특성상 한 번 작성해놓으면 윈도우, 리눅스 모두에서 구동이 되기 때문에 꽤 괜찮을 것이다.


SMAPI mod가 무엇인가요?

SMAPI mod는 SMAPI를 사용하여 스타듀 밸리의 게임 로직을 확장시킵니다. 모드는 (오브젝트를 놓는 등의) 게임 속 변화에 반응하고, 임의의 코드를 실행하고, 게임 데이터를 수정할 수 있습니다. SMAPI mod는 .NET 프레임워크와 C#을 이용합니다. 한편 스타듀 밸리는 스크린 출력, 입력 처리 등에 XNA/MonoGame을 사용합니다.

SMAPI를 도대체 왜 쓰는건가요?

SMAPI로 정말 많은 일을 할 수 있습니다! 예를 들어서...

  1. mod를 게임에 로드합니다. 코드로 작성된 mod는 SMAPI가 로드하면 손쉽게 사용할 수 있습니다.
  2. 게임과 상호작용할 수 있는 API와 이벤트를 제공합니다. 쉬운 API 덕분에 게임 에셋/데이터 수정, 플레이어 설정, 번역 등 많은 작업을 할 수 있습니다. 이것은 가이드 후반에서 또 다루겠습니다.
  3. 크로스 플랫폼 호환성이 보장됩니다. Linux/Mac/Windows 버전의 스타듀밸리 모두에서 잘 작동하므로 걱정 없이 코드를 작성할 수 있습니다.
  4. 게임이 업데이트 되는 경우에도 상대적으로 안전합니다. SMAPI는 게임이 업데이트된 후 mod 코드와 호환되지 않는 부분을 찾아내 수정하여 실행합니다.
  5. 버그를 막으세요. mod가 죽거나 에러를 발생시킨 경우 SMAPI는 에러를 막고 콘솔 윈도우에 자세한 에러 로그를 출력합니다. 그리곤 곧 게임을 복구합니다. 덕분에 여러분은 게임이 죽는 경우를 덜 걱정해도 됩니다. 트러블슈팅하기에도 더 쉬워집니다.
  6. 업데이트 체크를 제공합니다. SMAPI는 mod가 업데이트되었는지 자동으로 확인하고 유저에게 알려줍니다.
  7. 호환성 체크를 할 수 있습니다. SMAPI는 호환되지 않는 mod를 자동으로 찾으며 해당 모드가 문제를 일으킨 경우 자동으로 비활성화시킵니다. 덕분에 유저는 게임이 죽는 경우를 피할 수 있죠.

제가 mod를 만들 수 있나요?

네! 이 가이드에서 단계별로 간단한 mod를 만들 수 있도록 도와드리겠습니다. 이걸 따라하기만 하면 여러분도 첫 mod를 만들 수 있습니다! 그러고나서는 여러분이 원하는 모드를 마음껏 만드세요.

여러분이 프로그래밍 초심자라면: 많은 mod 개발자들이 같은 상태로 시작합니다. 각오만 있다면 충분히 배울 수 있겠으나 가파른 learning-curve를 맞이할 준비를 하셔야 합니다. 처음부터 너무 거창한 목표를 세우진 마세요. 이해되는 만큼 검소한 마음을 가지고 작은 mod부터 만들어보세요. 첫번째 시도에 좌절하기 쉽습니다. mod 커뮤니티는 아주 친절하기 때문에 질문하는데 두려움을 가지지 않으셔도 됩니다!

이미 프로그래밍 경험이 풍부하다면, 무난하게 mod를 만들어나갈 수 있을겁니다. C#이나 Java 프로그래밍 경험이 도움을 줄 수도 있지만 반드시 그렇지는 않습니다. C#에 익숙하지 않다면 C# 레퍼런스를 훓어보시길 권해드립니다.

SMAPI없이 모드를 만들 수도 있나요?

네, 많은 SMAPI mod들은 'content packs'를 지원합니다. 여기에 여러분이 JSON, 이미지, 혹은 기타 데이터들을 넣을 수 있어요. 예를 들어서 Content Patcher를 이용하면 프로그래밍 없이 게임 이미지, 데이터를 수정할 수 있습니다.

도움을 주실 수 있나요?

스타듀 밸리 MOD 커뮤니티는 항상 여러분을 환영합니다. 디스코드에서도 도움을 받을 수 있습니다.

post-custom-banner

0개의 댓글