게임 경제 세금(Tax) 메커니즘 설계: 재화 유출·유입 밸런싱 방법
게임 내부 경제에서 재화가 과잉 축적되거나 빠르게 소모되는 문제를 세금 메커니즘으로 조절하는 방법을 다룬다. 목표 통화량, 세율 공식, UX, 로그 지표와 Unity 구현 예시를 정리한다.

게임 경제의 세금(Tax)은 플레이어가 재화를 얻는 속도보다 보유·소비하는 총량이 과도해질 때, 거래·제작·보관 같은 행동에 비용을 부과해 재화를 회수하는 경제 싱크(sink)다. 좋은 세금은 단순히 재화를 빼앗지 않고 과잉 통화량을 줄이면서도 플레이어가 납득할 선택지와 편의성을 제공한다.
게임 경제에서 세금 메커니즘은 왜 필요한가?
재화 유입(source)이 유출(sink)보다 계속 크면 총 통화량이 증가한다. 그 결과 거래 가능한 아이템의 가격이 오르고 신규 플레이어의 진입 비용이 커지며 보상 설계도 빠르게 무력화된다. 반대로 유출이 과하면 파밍과 진행의 보상이 체감되지 않는다.
기간 t의 경제 상태는 아래처럼 단순화할 수 있다.
M_t: 기간 시작 시점의 활성 통화량F_t: 퀘스트, 전투 보상, 판매 등으로 유입된 재화S_t: 상점 구매, 강화, 제작, 거래 세금 등으로 회수된 재화
여기서 세금은 S_t를 조절하는 도구다. 핵심은 모든 플레이어에게 동일한 벌을 주는 것이 아니라 경제적으로 큰 행동에서 비례적으로 회수하는 것이다.
| 상황 | 권장 세금 위치 | 기대 효과 |
|---|---|---|
| 유저 간 거래 가격이 계속 상승 | 거래 수수료 | 거래 규모에 비례해 통화 회수 |
| 고레벨 유저의 재화 누적이 큼 | 고급 제작·강화 비용 | 엔드게임 재화 싱크 제공 |
| 장기 미접속 복귀 보상이 과도함 | 복귀 보상 설계 조정 | 세금 대신 유입 자체를 안정화 |
| 반복 판매로 재화가 무한 생성됨 | NPC 판매가·파밍 루프 조정 | 세금보다 원인인 faucet 수정 |
세금은 무한 재화 생성 버그나 잘못된 보상량을 덮는 수단이 아니다. 먼저 유입 경로별 생성량을 확인하고 정상적인 경제 활동에서 부족한 싱크를 보완해야 한다.

거래 세금은 어떻게 계산할까?
가장 이해하기 쉬운 모델은 거래 가격에 고정 세율을 곱하는 방식이다.
p: 거래 가격r: 세율. 예:0.05는 5%T_min: 최소 수수료ceil: 소수 재화가 없는 게임에서 올림 처리
예를 들어 가격이 1,000 골드, 세율이 5%, 최소 수수료가 1 골드라면 세금은 50 골드다. 판매자가 받는 금액은 950 골드다.
고정 세율과 누진 세율 중 무엇을 써야 할까?
| 방식 | 공식 예시 | 적합한 경우 | 주의점 |
|---|---|---|---|
| 고정 세율 | p × 5% | 거래소가 단순하고 가격대가 좁음 | 고가 거래의 절대 세금이 매우 커질 수 있음 |
| 최소 수수료 | max(1, p × 5%) | 저가 아이템 스팸 거래 방지 | 초저가 거래에 체감 부담 발생 |
| 구간 누진 | 1만 골드 초과분에 8% | 고액 자산 이전 억제 | 구간과 UI 설명이 복잡해짐 |
| 상한 적용 | min(p × r, cap) | 매우 비싼 거래를 허용해야 함 | 고액 거래의 싱크가 약해짐 |
대부분의 게임은 고정 세율과 최소 수수료만으로 시작할 수 있다. 거래소가 자산 이전 수단으로 악용되거나 상위권 자금이 과도하게 쌓일 때만 누진 세율을 검토한다.
재화 유출·유입 밸런싱을 위한 세금 설계 3단계
1. 목표 통화량과 측정 단위를 정한다
전체 발행량보다 실제 경제에 참여하는 계정의 보유량이 중요하다. 최근 30일 이내 접속 계정을 활성 계정으로 정의하고 계정당 중앙값 보유 재화를 우선 지표로 둔다.
중앙값은 일부 고래 플레이어의 큰 보유량에 덜 흔들린다. 함께 기록할 최소 지표는 다음 네 가지다.
- 일일 재화 유입량
F_day - 일일 재화 유출량
S_day - 거래소 총 거래액과 거래 세금
- 활성 계정의 보유 재화 중앙값
2. 세금이 적용될 행동을 고른다
세금은 가치가 전달되거나 편의가 제공되는 지점에 붙이는 편이 자연스럽다. 거래소 등록·판매, 고급 제작, 장비 강화, 빠른 이동, 길드 시설 유지비가 대표적이다.
반면 메인 퀘스트 보상 수령, 첫 장비 구매, 필수 진행 콘텐츠에는 세금을 피하는 것이 좋다. 신규 플레이어에게는 경제 조절보다 학습과 진입 장벽 완화가 우선이다.
flowchart LR
A[재화 유입 로그] --> B{F_day > S_day 인가?}
B -- 아니오 --> C[세율 유지 및 관찰]
B -- 예 --> D[과잉 유입 경로 확인]
D --> E[거래·강화 등 선택 행동에 세금 적용]
E --> F[유출량·거래량·이탈률 비교]
F --> C
3. 작은 세율로 출시하고 지표로 조정한다
처음부터 높은 세율을 적용하면 거래량이 줄어들고 세금이 실제로 재화를 얼마나 회수했는지 판단하기 어려워진다. 예를 들어 거래 수수료는 2~5%처럼 낮은 값으로 시작하고 최소 1~2주 단위의 경제 주기를 관찰한다.
조정 시에는 세금 수입만 보지 말아야 한다. 거래 건수, 등록 취소율, 평균 거래 가격, 신규 유저의 첫 거래 완료율을 함께 비교한다. 세금 수입이 늘었지만 거래량과 완료율이 크게 떨어졌다면 경제 싱크가 아니라 UX 장벽이 된 것이다.
Unity 6에서 거래 세금을 구현하는 최소 예시
아래 예시는 서버가 최종 가격과 세금을 검증한다는 전제의 클라이언트 표시용 C# 계산 코드다. 클라이언트 값만 신뢰하면 가격 변조로 세금을 우회할 수 있다.
using System;
public static class MarketTax
{
public static long Calculate(long price, decimal rate = 0.05m, long minimum = 1)
{
if (price < 0) throw new ArgumentOutOfRangeException(nameof(price));
return Math.Max(minimum, (long)Math.Ceiling(price * rate));
}
}
서버에서는 거래 생성 시점에 price, rate, tax, sellerPayout을 함께 기록한다. 이후 세율을 변경하더라도 과거 거래 정산과 감사 로그가 흔들리지 않는다.
세금 UX는 어떻게 설계해야 반감을 줄일까?
플레이어는 비용 자체보다 예상하지 못한 비용에 강하게 반응한다. 따라서 거래 확인 화면과 판매 완료 알림에 세금과 실수령액을 명확히 표시해야 한다.
| UI 위치 | 반드시 보여줄 값 | 권장 문구 |
|---|---|---|
| 판매 등록 확인 | 판매가, 예상 세금, 실수령액 | 수수료 50 골드가 차감됩니다. |
| 구매 확인 | 구매가, 구매자 부담 수수료 여부 | 총 결제 금액: 1,000 골드 |
| 판매 완료 알림 | 실제 세금, 실제 수령액 | 950 골드를 수령했습니다. |
| 도움말 | 세율, 최소 수수료, 면제 조건 | 거래 수수료는 판매가의 5%입니다. |
구매자와 판매자 중 누가 세금을 부담하는지도 일관돼야 한다. 판매자 부담은 등록 가격에 세금을 포함해 생각하기 쉽고 구매자 부담은 최종 결제 금액을 크게 보이게 만든다. 한 거래소 안에서 두 정책을 섞지 않는 편이 낫다.
자주 묻는 질문 (FAQ)
세금이 높을수록 인플레이션을 더 잘 막을까?
아니다. 세율이 너무 높으면 거래 자체가 줄어 세금 회수량도 감소할 수 있다. 재화 유출량과 거래 완료율을 함께 보고 조정해야 한다.
모든 재화에 세금을 적용해야 할까?
아니다. 핵심 진행 재화와 신규 유저의 필수 행동에는 적용하지 않는 편이 안전하다. 거래, 고급 강화, 제작처럼 선택적이고 가치가 큰 행동을 우선 검토한다.
거래소 세금만으로 경제를 안정화할 수 있을까?
거래량이 충분할 때만 가능하다. 싱글플레이 중심 게임이나 거래가 적은 게임이라면 강화, 제작, 꾸미기, 편의 기능 같은 별도 재화 싱크가 필요하다.
정리
세금 메커니즘은 게임 경제의 과잉 재화를 회수하는 조절 장치다. 유입량 - 유출량, 활성 계정 보유량 중앙값, 거래 완료율을 함께 측정하고 먼저 낮은 거래 수수료나 고급 콘텐츠 비용으로 시작하자. 세율보다 중요한 것은 플레이어가 비용과 실수령액을 예측할 수 있는 명확한 UX다.



