Screeps의 마켓은 Terminal이라는 특수 구조물을 통해 플레이어 간 다양한 자원을 거래할 수 있게 해줍니다. 터미널은 어떤 거리의 다른 룸으로도 자원을 즉시 전송할 수 있습니다.
이 마켓에서 거래하려면 Credits라는 게임 내 화폐가 필요합니다. 크레딧은 계정에 귀속되며, 마켓 주문(order)을 실행하는 데 사용됩니다.
첫 크레딧을 얻으려면, 이미 마켓에 구매 주문(buy order)을 걸어둔 사람과 거래하세요.
마켓 주문(Market orders)
마켓 시스템은 터미널에 연결된 판매 주문(sell order) 과 구매 주문(buy order) 을 기반으로 합니다. 주문을 생성할 때, 판매/구매할 자원의 종류와 수량, 1개당 가격(크레딧), 그리고 주문을 담당할 터미널을 지정합니다. 생성된 주문은 Market 페이지 또는 API 메서드 Game.market.getAllOrders로 모든 플레이어에게 공개됩니다. 주문을 생성하면 크레딧으로 5% 수수료가 부과됩니다.
거래를 성사시키려면 상대방도 자원을 받거나(판매 주문에서 구매) 보내기 위한(구매 주문에 판매) 터미널이 있어야 합니다. 마켓 UI 또는 Game.market.deal 메서드를 사용해, 상대의 주문, 여러분의 터미널, 원하는 자원 수량을 지정하면 거래가 완료됩니다. 그러면 두 터미널이 자동으로 거래를 수행하고, 구매자의 계정에서 해당 크레딧이 차감되어 판매자에게 전달됩니다.
한 터미널에서 다른 터미널로 자원을 전송하는 에너지 비용은(판매 주문에서 구매하는 경우를 포함해) 주문 소유자가 아니라 deal을 실행하는 쪽이 항상 부담합니다. 터미널 쿨다운도 마찬가지입니다.
판매 터미널에 판매할 자원이 충분하지 않거나, 사용자가 구매할 크레딧이 충분하지 않으면 주문은 실행될 수 없습니다. 그 상태에서는 주문이 비활성 상태로 유지됩니다.
예시
아래 몇 가지 예시로 동작 방식을 이해해 봅시다.
- 플레이어 Alice가 utrium acid 1000개를 1개당 10 Cr에 구매하는 주문을 만든다고 가정해 봅시다. 이 주문을 만들기 위해 Alice는 W1N1 룸의 터미널을 지정하고 즉시 500 Cr 수수료를 지불합니다.
- 플레이어 Bob이 Alice의 주문을 발견하고, 자신의 보유분에서 utrium acid 200개를 판매하기로 합니다. Bob의 터미널은 W4N2 룸에 있으며, 즉 3룸 거리입니다. 따라서 자원 200개를 보내는 데 드는 에너지 비용은 60입니다. Bob이 해당 주문에 대해 deal을 실행하면, utrium acid 200개가 W4N2에서 W1N1로 자동 전송되고, Bob은 2,000 Cr을 받으며, W4N2의 Bob 터미널은 에너지 60을 잃습니다.
- 이제 Bob은 이 크레딧을 사용해, W1N5 룸에서 에너지를 1개당 0.5 Cr로 판매하는 플레이어 Charlie에게서 에너지를 구매하려 합니다. Bob이 벌어들인 2,000 Cr로 에너지 4,000을 살 수 있습니다. 하지만 4룸 거리는 에너지 전송 비용 1,600을 요구합니다. 이 에너지는 deal 실행 전에 Bob의 터미널에 들어 있어야 합니다. Charlie는 2,000 Cr을 받으며 전송 에너지는 전혀 소비하지 않습니다.
이 이야기는 관련 플레이어 간 다음과 같은 밸런스 변화를 만듭니다:
- Alice(구매 주문 생성, utrium acid 1000): +utrium acid 200, -500-2000 credits.
- Charlie(판매 주문, 에너지): -4000 energy, +2000 credits.
- Bob(딜 실행자): -utrium acid 200, +4000-60-1600 energy, +2000-2000 credits.
NPC 터미널(NPC Terminals)
섹터 간 “하이웨이 교차로”(예: W0N0, W10N0, W10N10 등)에는 중립 NPC 터미널이 있습니다. 마켓 UI 또는 Game.market 오브젝트로 실제 플레이어와 동일한 방식으로 이 터미널과 거래할 수 있습니다. NPC 터미널의 주문은 자원 수량에 제한이 있으며, 규칙에 따라 보충됩니다. 가격 경쟁력은 뛰어나지 않지만, 자원 잉여를 크레딧으로 바꾸거나 그 반대로 바꾸는 데 사용할 수 있습니다.