Portal 101: Portal SDK 도구, 규칙 편집기를 사용한 고급 창작물
2025년 10월 10일

여러분의 비전, Portal SDK 도구, 끝없는 커뮤니티 게임플레이 가능성.
Battlefield 프랜차이즈 역사상 처음으로, 공식적으로 게임 환경을 개방하여 커뮤니티가 소프트웨어 개발자 키트(SDK)를 사용해 원하는 게임플레이를 만들 수 있도록 허용합니다. Battlefield 2042와 첫 번째 Portal 버전에서 여러분이 만들어낸 놀라운 작업들을 확인했습니다. Portal SDK 도구와 전장 편집 능력, 그리고 Portal 빌더의 규칙 편집기에 추가된 기능들을 통해 다음에 무엇이 나올지 상상조차 할 수 없습니다.
하지만, 이 가이드는 SDK 도구와 게임 디자인 개념의 모든 세세한 부분을 다루는 실제 학부 과정 수준의 한 학기 분량 강의를 제공할 만큼은 아닙니다. 대신, 이 가이드는 커스텀 게임플레이 도구를 통해 처음으로 커스텀 전장을 Portal 빌더로 내보내고 규칙 편집기를 사용하는 방법을 자세히 설명합니다.
Portal SDK 도구 설치하기
EA 웹사이트에서 이용 가능한 Portal 빌더와 달리, Portal SDK 도구 소프트웨어 프로그램을 사용하려면 Windows PC에 다운로드해야 합니다. Portal SDK에는 게임 레벨의 공간 편집을 위해 Godot 게임 편집 도구를 사용하는 데 필요한 모든 파일과, 자체 커스텀 게임 규칙을 만드는 데 도움이 되는 예제 스크립트가 포함되어 있습니다.
여기에서 도구를 다운로드할 수 있으며, Portal 빌더 웹사이트에 제공된 다운로드 링크와 동일합니다.
공식 EA.com 웹사이트 외부에서 Portal SDK 도구의 어떤 버전도 다운로드하는 것을 권장하거나 용인하지 않습니다. 그렇게 할 경우 PC에 심각한 보안 관련 문제가 발생할 수 있습니다. 검증된 Portal SDK 도구와 업데이트는 반드시 EA.com에서만 다운로드하세요.
도구를 다운로드한 후 ReadMe 파일을 열어 설치를 완료하세요. 그런 다음 도구를 열어 이 첫 Portal SDK 도구 게임플레이 안내를 따라 진행하세요.
Portal SDK 도구 - 전장 편집 간단 가이드

위: Portal SDK 도구로 만든 예시 커스텀 전장.
먼저, 애플리케이션 왼쪽 상단에 있는 '장면'에 마우스를 올리고 클릭한 다음 드롭다운 메뉴에서 '장면 열기를 선택합니다. '레벨' 폴더를 열어 편집할 수 있는 모든 전장 이름을 확인한 다음, 편집할 전장을 선택합니다.
대부분의 경우 전장의 플레이 가능 영역 아래에 위치해 있을 것입니다. 디지털 3D 환경을 보여주는 중앙 창에서 공간을 이동할 때 사용하는 주요 도구는 다음과 같습니다.
- 카메라 조준 또는 '보기' - 마우스 오른쪽 버튼을 클릭한 상태로 커서를 드래그하여 카메라를 조준하세요.
- 이동 - W, A, S, D 키로 2차원 이동(앞, 뒤, 좌, 우)하고 스페이스(Space)로 '위'로 이동하세요. 위 방향은 현재 바라보는 방향에서 항상 +90도입니다.
- 이동 속도 증가 또는 감소 - 마우스 휠을 스크롤하세요. 앞으로 스크롤하면 속도가 빨라지고 뒤로 스크롤하면 느려집니다.
레벨을 열면 모든 오브젝트(건물, 차폐물, 도로 등)가 일반적이고 검증된 Battlefield 6 게임플레이에서 보이는 기본 위치에 배치되어 있습니다. Portal SDK 도구는 추가적 수정을 하는 데 사용됩니다. 지형이나 주요 건물처럼 제거할 수 없는 특정 오브젝트가 있습니다.
화면 아래쪽에 오브젝트 라이브러리가 있습니다. 확장한 뒤 라이브러리 검색 기능 옆의 줄임표(...)를 클릭하여 '라이브러리 생성'을 실행하세요. 이렇게 하면 전장에 배치할 수 있는 모든 오브젝트에 관한 자세한 정보를 얻을 수 있습니다. 이제 이 오브젝트들을 전장에 끌어놓을 수 있습니다. 참고: Portal 설정을 이미 실행한 경우, 이 단계는 필요하지 않습니다.
'Q'를 눌러 선택 모드에 들어가세요. 오브젝트를 선택해 조작하거나 이동하는 기본 방법입니다. 그다음 'W'를 눌러 전장 내에서 오브젝트를 이동시키세요. 오브젝트가 선택된 상태에서 'E'를 눌러 회전 모드에 들어가면 WASD 키를 사용해 원하는 방향으로 오브젝트를 회전시킬 수 있습니다. 오브젝트를 확대하거나 축소하려면 3D 평면 오른쪽의 인스펙터 창을 확인하세요. 여기에서 오브젝트를 균일하게 더 크게 또는 더 작게 만들 수 있습니다. 균일하지 않은 크기 조절은 현재 지원되지 않습니다.
레벨 내보내기 및 Portal 빌더에 업로드하기

작업을 잠시 멈추고 나중에 제작을 이어가고 싶나요? 애플리케이션 왼쪽 상단의 '장면' 탭을 클릭한 다음 '장면 저장'을 클릭하여 진행 상황을 저장하세요.
창작물을 게시할 준비가 되면 오른쪽 하단 창('BFPortal')에서 '현재 레벨 내보내기' 버튼을 찾으세요. 클릭한 다음 같은 창에서 '내보낸 항목 열기'를 클릭하면 만든 창작물을 볼 수 있습니다. 이 .JSON 파일이 브라우저에서 Portal 빌더에 업로드할 파일입니다.
아직 로그인하지 않았다면 Portal 빌더에 다시 로그인하고, 기존 템플릿을 선택해 수정하거나 새로운 게임플레이를 만드는 과정을 진행하세요.
'전장 목록' 탭을 선택하면 .JSON 파일을 첨부할 수 있는 옵션이 보입니다. 아이콘은 아래로 향한 화살표가 열린 괄호로 내려오는 모양입니다. 팝업되는 파일 탐색기에서 해당 파일을 찾아 선택한 뒤 열기를 클릭하세요. 이제 내보낸 레벨이 Portal 빌더에 표시됩니다!
Portal 빌더의 규칙 편집기: 인터페이스 편집 및 AI 스크립팅

Portal 웹 빌더에서 가장 고급 기능은 규칙 편집기로, 커스텀 커뮤니티 게임플레이에서만 이용할 수 있습니다. Battlefield 2042에서의 작동 방식과 비슷하지만, 새로운 명령이 추가되어 논리 기반의 규칙 편집기를 통해 플레이어의 사망이나 본부와의 거리 같은 게임 내 사건과 조건을 서로 연결해 특정 동작을 트리거할 수 있습니다.
예를 들어 컨퀘스트에서 목표를 점령했을 때 어떤 일이 일어나는지가 '규칙'의 예입니다. 목표 구역 안으로 들어간다고 생각해 보세요. 그다음에는 무슨 일이 일어날까요? 첫째, 목표 구역(사건 또는 조건)에 들어가면 진행도 휠(동작)이 나타나고 음성으로 목표를 점령하고 있다는 안내가 재생됩니다(또 다른 동작). 설정된 시간이 지나면(조건) 목표 지역이 점령됩니다(동작). 그다음, 목표 구역이 아군의 통제하에 있기 때문에(조건), 포인트를 얻습니다(반복 동작).
간단하죠? 규칙 편집기에는 200개 이상의 동작이 있어 봇 유무와 상관없이 수많은 스크립팅 조합을 구현할 수 있습니다. 다른 모든 규칙 편집기 탭과 마찬가지로 툴팁이 있으니, 규칙 편집기 내 블록을 오른쪽 클릭하고 '도움말'을 클릭해 자세한 정보를 확인하세요.
AI 스크립팅
일반 규칙과 마찬가지로 AI 동작에도 이동, 전투 로직 등을 수정하는 자체 조건 블록과 동작 블록이 있습니다.
보다 복잡한 AI 스크립팅이나 복잡한 모드를 만들려면 제작자가 TypeScript를 사용하는 것을 권장합니다. 다음은 간단한 AI 이동 스크립트의 예시입니다.
[[참고: TypeScript는 영어로 작성되어 있기 때문에, 모든 예시 코드는 영어로 작성되었습니다. 스크립트 내 다른 코드와의 잠재적 충돌로 인해 의도한 결과가 나오지 않는 경우, 사용 중인 코드를 정확히 조정해야 할 수 있습니다.]]
//This spawns a scriptable AI unit
function OnGameModeStarted() {
mod.SpawnAIFromAISpawner(mod.GetSpawner(1), mod.GetTeam(1));
}
// This is a simple "Follow" behavior that will tell the AI to Stand and Walk to another player's location. async function simpleAIFollowBehavior(player: mod.Player, target: mod.Player) {
// Set the AI Player's stance to Stand.
mod.AISetStance(player, mod.Stance.Stand);
// Set the AI Player's Move Speed to Walk.
mod.AISetMoveSpeed(player, mod.MoveSpeed.Walk);
// While this AI and the Target player is alive, run this loop which tells the AI to move to the location of the target player.
while (mod.GetSoldierState(player, mod.SoldierStateBool.IsAlive) == true && mod.GetSoldierState(target, mod.SoldierStateBool.IsAlive) == true) {
// Call the AIMoveToBehavior on the AI Bot player and have it move to the location of the target player.
mod.AIMoveToBehavior(player, mod.GetSoldierState(target, mod.SoldierStateVector.GetPosition));
// Wait for 1 second.
await mod.Wait(1);
}
}
이 샘플 스크립트 이후의 부분은 여러분의 설계에 맡깁니다. 게임 개발을 배우는 정확한 정답은 없습니다. 게임 디자인과 코딩 과정을 수강하든, 다양한 인터넷 포럼과 경험을 통해 배우든, 여러분이 훌륭한 커스텀 경험을 만들어낼 수 있으리라 확신합니다.
개발자의 빠른 팁 - Portal SDK 도구 및 스크립팅

1. 개발자 커뮤니티에 참여하세요. 예술 커뮤니티와 마찬가지로 게임 개발은 동료 제작자들과의 긍정적 상호작용을 통해 더 좋아집니다. 이 가이드는 전장 편집을 시작하는 데 훌륭한 출발점이지만, 가장 값진 지식은 경험이 더 많은 동료 개발자들에게서 얻을 수 있습니다. 공식 Discord 등 Battlefield Portal 개발 커뮤니티에 참여하고 질문을 두려워하지 마세요!
2. 로직(및 연결)을 점검하세요. 규칙 편집기의 규칙이 작동하지 않을 경우 가장 일반적인 두 가지 원인은 다음과 같습니다. 하나는 블록(규칙, 조건 또는 동작) 중 하나가 모드(Mod) 블록에 되돌아가도록 연결되어 있지 않은 경우이고, 다른 하나는 규칙 로직이 불가능한 경우입니다(예: 참인 조건이 서로 모순되는 두 값으로 지정된 경우). 커스텀 게임플레이를 테스트하기 전에 항상 이 점들을 여러 번 확인하세요.
3. 실험. 실험. 실험. 대다수의 경우(99.9%), 첫 번째 커스텀 전장이나 스크립트된 AI는 기대한 대로 정확히 작동하지 않습니다. 낙담하지 말고, 구상한 방식과 정확히 일치할 때까지 계속 편집하고 테스트하세요.
4. 커뮤니티를 위해 제작하세요. 게임 디자인에서는 흔히 ‘사용자 경험’(UX)을 언급합니다. 학사 과정 전체가 이 개념만을 다루기도 하지만, 간단히 말해 플레이어가 커스텀 게임플레이를 플레이할 때 느끼는 부분을 뜻합니다. UX 테스트는 친구나 가족, 다른 커뮤니티 멤버를 불러 여러분의 커스텀 게임플레이를 플레이하게 하는 것만큼 간단할 수 있습니다. 게임 내로 초대해 플레이하도록 하고, 이해하기 어렵다고 느끼는 점이나 재미를 방해하는 요소를 메모한 뒤, 최종 제품을 개발할 때 이 피드백을 반영하세요.