Posts for: #Board-Game

카드 게임의 계보 Part 2: 판 위에서 짓는 덱

덱빌딩은 모두가 똑같은 열 장으로 시작해 경기 중에 덱을 키우는 장르입니다. 2008년 보드게임 도미니언이 그 틀을 만들었고, 어센션과 스타 렐름 같은 후속작이 저마다 한 군데씩 비틀었습니다. 막대 인간 그림의 iOS 게임 Dream Quest 가 덱빌딩을 로그라이크에 넣었고, Slay the Spire 가 그 결합을 장르로 굳히기까지를 따라갑니다.

[Read more]

공유지의 비극 Part 6: 꺼진 봉화, 사막의 물, 네브래스카의 누군가 — 영화·문학·게임, 그리고 오픈소스

이야기와 게임과 코드 속의 공유지를 모았습니다. 봉화를 꺼뜨린 『파리대왕』의 소년들과 실제로 1년 넘게 불을 지킨 통가의 소년들, 설득과 위협과 폭력 사이를 오가는 『더 플랫폼』의 수직 감옥, 죽은 자의 물이 부족의 것인 『듄』, 공유지에 울타리를 친 『콘크리트 유토피아』, 그리고 비극의 대명사였던 이스터섬 이야기가 최근 연구로 흔들리는 과정을 봅니다. 울티마 온라인의 양털이 바닥난 진짜 이유와 보드게임 데이브레이크, 하트블리드에서 xz 백도어와 AI 크롤러까지 오픈소스라는 공유지를 짚고, 전체 유형 분류표와 일곱 시리즈 정리로 마칩니다.

[Read more]

최후통첩 게임과 공정성 Part 5: 영화·문학·게임 속 분배 — 거절할 수 없는 제안에서 해적 게임까지

이야기와 게임이 그린 분배를 분류 흐름도로 정리하고 시리즈를 마무리합니다. 신을 속인 프로메테우스의 고기 나누기, “내 것도 네 것도 되지 말고 나누라” 는 솔로몬 앞의 여인, 똑같이 나눴다가 죽은 이솝의 당나귀, 다 주고 나서 “한 명은 왜 필요하냐” 는 말을 들은 리어 왕, 1만 달러는 거절했지만 총구 앞에서 1천 달러를 받아들인 『대부』의 밴드 리더, 같은 금광에서 주는 사람과 주지 않는 사람이 갈린 『시에라 마드레의 황금』, 35% 를 받아들이게 만든 『브레이킹 배드』, 그리고 1% 만 주고도 통과되는 해적 게임을 Go 로 풀어 봅니다.

[Read more]

투표의 역설 Part 5: 게임 속 투표 — 마피아, 어몽 어스, 시크릿 히틀러, 트위치 플레이즈 포켓몬

게임 디자이너들이 투표를 규칙으로 다듬은 방식을 분류 흐름도로 봅니다. 규칙서마다 과반과 동점 처리가 다른 마피아와 늑대인간, 기권이 후보처럼 경쟁하고 동점이면 아무도 나가지 않는 어몽 어스, 동점은 부결이고 부결이 쌓이면 벌이 내리는 레지스탕스와 시크릿 히틀러, 116만 명이 함께 조작하며 들어갈 때는 초다수·나올 때는 과반이 필요했던 트위치 플레이즈 포켓몬의 무정부와 민주주의, 영향력만큼 표를 내는 트와일라잇 임페리움, 그리고 CD 한 장이 한 표였던 AKB48 선발총선거까지 다룹니다.

[Read more]

달러 경매와 승자의 저주 Part 5: 게임 속 경매 — 보드게임, 게임 속 경매장, 판타지 드래프트, 페니 경매

게임이 경매를 다루는 세 가지 방식을 분류 흐름도로 봅니다. 거절할 때마다 칩을 내는 노 땡스!, 나쁜 카드에서는 먼저 포기한 사람만 돈을 돌려받는 하이 소사이어티, 포기하면 절반만 돌려받는 포 세일, 그림값이 모두의 행동으로 정해지는 모던 아트 같은 경매 보드게임. 공정하게 작동했는데도 게임을 망친 디아블로 III 의 현금 경매장. 남은 돈이 사라져 승자의 저주의 처방이 거꾸로 도는 판타지 스포츠의 샐러리캡 드래프트. 그리고 입찰할 때마다 돈을 받아 1,799달러짜리 노트북으로 입찰료 2,151달러를 거둔 페니 경매와, 한국 공정위가 고친 10원 경매까지 다룹니다.

[Read more]

달무티를 아는 사람을 위한 대부호(大富豪) 입문

달무티를 할 줄 아는 사람은 일본의 국민 카드게임 대부호를 10분이면 배웁니다. 클라이밍·계급·조공은 그대로이고, 덱과 서열·조합·혁명의 뜻·자리의 불안정성 네 가지가 다릅니다. 일본대부호연맹 공식 룰을 기준으로 처음 배울 규칙을 카드 그림으로 정리하고, 로컬 룰의 인지도, 달무티 경험이 통하는 것과 배신하는 것, 그리고 왜 배울 만한지를 적습니다.

[Read more]

달무티 CPU 플레이어 만들기 Part 8: 봇을 고치다 — 리드 지키기 계획과 아껴 두기

잘 두는 사람에게서 찾은 세 가지 습관을 hard 봇에 넣었습니다. 바꾸기 전과 후의 판단 흐름을 그림으로 나란히 놓고, 새 봇이 구버전 봇들 사이에서 얼마나 세졌는지, 그리고 아직 말할 수 없는 것이 무엇인지를 코드 없이 정리합니다.

[Read more]

달무티 CPU 플레이어 만들기 Part 7: 잘 두는 사람은 봇과 어디서 다르게 두는가

hard 봇을 열 판 중 여섯 판 이긴 사용자의 결정 6,746개를, 같은 순간 봇이 냈을 수와 하나씩 비교했습니다. 대부분은 같았습니다. 갈라진 자리는 셋이었습니다. 강한 한두 장으로 리드를 지키고, 초반에 최상위 카드를 아끼고, 받을 때 딱 이길 만큼만 씁니다.

[Read more]

달무티 CPU 플레이어 만들기 Part 6: 사람이 열 판 중 여섯 판을 이기는 hard 봇

hard 봇 세 명을 상대로 사람이 판의 59.8% 를 1등으로 끝냈습니다. 공정하다면 25% 여야 합니다. 가장 많이 플레이한 사용자에게는 hard 와 easy 의 차이가 0.2%p 였습니다. 코드 없이, 무엇을 어떻게 쟀고 왜 봇이 사람에게 읽혔는지를 정리합니다.

[Read more]

오목 엔진 Rapfi 해부 Part 5: Rapfi 로 오목·렌쥬 서비스를 만들 때

Rapfi 를 엔진으로 오목·렌쥬 서비스를 만들 때 고려할 점을 정리합니다. 서버·브라우저(WASM)·앱 배치에 따라 달라지는 GPLv3 의무, 상태를 가진 Piskvork 프로토콜을 다루는 프로세스 모델과 Go 래퍼, 판 크기와 렌쥬 오프닝 규정의 공백, 초보자용 난이도 설계의 함정, 자원·버전 관리까지 실측과 소스 근거로 짚습니다.

[Read more]

오목 엔진 Rapfi 해부 Part 4: 직접 빌드해서 돌려 보기

Rapfi 를 소스에서 빌드하고 Piskvork 프로토콜로 직접 대화해 봅니다. 탐색 로그 읽는 법, 같은 국면이 자유룰과 렌쥬에서 어떻게 달라지는지, 花月 주형의 Multi-PV 분석, STRENGTH 로 기력 낮추기, MCTS 탐색기, 파이썬으로 엔진 부리기까지 Apple M1 Max 에서 실제로 실행한 결과로 보여 줍니다.

[Read more]

오목 엔진 Rapfi 해부 Part 3: Rapfi 는 어떻게 수를 고르는가

Rapfi 의 소스 코드를 따라가며 한 수를 고르기까지의 의사결정 과정을 해부합니다. 선 패턴 16종과 네 방향 조합 14종으로 판을 읽는 법, 렌쥬 금수의 정확한 판정, 고전 평가와 NNUE(mix9svq)를 섞어 쓰는 방식, Stockfish 에서 가져온 알파-베타 탐색과 VCF 잎 탐색, 선택 사항인 MCTS, 시간 관리와 멀티스레드까지 정리합니다.

[Read more]

오목 엔진 Rapfi 해부 Part 2: Rapfi 와 KataGo, 같은 문제를 반대로 푸는 두 엔진

알파-베타 탐색과 초경량 NNUE 로 CPU 에서 초당 수십만 노드를 읽는 Rapfi 와, 큰 신경망과 MCTS 로 GPU 에서 수천 번을 읽는 KataGo(오목판 KataGomo)를 비교합니다. 탐색·평가·하드웨어·학습·프로토콜·라이선스를 나란히 놓고, ‘어느 쪽이 더 강한가’ 라는 질문에 1차 출처가 실제로 답하는 범위가 어디까지인지 정리합니다.

[Read more]

오목 엔진 Rapfi 해부 Part 1: 오목·렌쥬 오픈소스 생태계와 Rapfi 의 역사

현재 가장 강력한 오픈소스 오목·렌쥬 엔진인 Rapfi 를 다섯 편에 걸쳐 분석합니다. 첫 편은 2026년 기준 오목·렌쥬 오픈소스 생태계(엔진·GUI·프로토콜·대회)를 훑고, Rapfi 가 2018년 Gomocup 4위에서 2022년 이후 사실상 전 리그를 제패하기까지의 역사를 1차 출처로 정리합니다.

[Read more]

훌라 CPU 플레이어 만들기 Part 1: 룰북이 없는 게임의 룰을 정한다

훌라를 디지털 게임으로 만들 때 CPU 플레이어를 어떻게 설계할지 다루는 시리즈입니다. Part 1 에서는 봇 이야기를 시작하기 전에 룰셋부터 확정합니다. 7 한 장의 특권, 땡큐의 임자를 정하는 방식, 스톱 네 가지, 그리고 등수 기반 정산과 곱해지는 박까지 못 박습니다.

[Read more]