Show GN: 유튜브 댓글에서 체스 플레이 매크 프로그램
요약
유튜브 댓글을 활용하여 구독자들의 집단 지성을 체스 AI(Stockfish)와 대결시키는 자동 봇 시스템을 구현했습니다. 이 봇은 댓글에서 SAN 기보를 수집하고, 좋아요가 가장 많은 수를 플레이어의 착수로 선택합니다. Python Chess 라이브러리로 유효성 검증 후 Stockfish에 전달하여 AI 응수를 계산하며, 모든 과정을 자동으로 반복 실행하도록 설계되었습니다.
핵심 포인트
- 유튜브 댓글을 활용한 독특한 체스 게임 구현
- 집단 지성을 수집하고 투표를 통해 수를 결정하는 방식
- Python Chess와 Stockfish API 연동 및 유효성 검증 로직 적용
- YouTube Data API, OAuth 2.0 등을 이용한 자동화 시스템 구축
유튜브 댓글을 이용해 구독자 집단 지성과
체스 AI(Stockfish)가 대결하는 자동 체스 봇을 만들어봤습니다.
봇은 10분마다 고정댓글의 대댓글을 수집한 뒤, 최근 작성된 댓글 중 SAN(Standard Algebraic Notation) 체스 표기법으로 작성된 수만 추려 가장 많은 좋아요를 받은 수를 플레이어의 착수로 선택합니다.
예를 들어 e4는 킹 앞의 폰을 두 칸 전진하는 수이고, Nf3는 나이트를 f3 칸으로 이동하는 수를 의미합니다.
댓글에는 [e4], [Nf3]처럼 대괄호를 포함해 입력하면 봇이 자동으로 인식하며, 여러 사람이 동시에 의견을 제시하고 투표에 참여할 수 있기 때문에 자연스럽게 '집단 지성'이 하나의 플레이어가 되어 AI와 대결하는 방식입니다.
선택된 수는 Python Chess 라이브러리를 이용해 현재 체스판에서 실제로 가능한 합법적인 수인지 먼저 검증합니다. 잘못된 기보나 현재 상황에서 둘 수 없는 수는 자동으로 제외되며, 유효한 수가 발견되면 이를 Stockfish 체스 엔진에 전달해 AI의 응수를 계산합니다.
AI가 수를 두면 현재 체스판을 이모지 형태로 렌더링하여 고정댓글을 자동으로 갱신하고, 방금 채택된 수와 AI의 응수, 현재 게임 진행 상황을 함께 표시합니다.
게임이 종료되면 승패 또는 무승부 결과를 JSON 파일에 누적 저장한 뒤 체스판을 초기화하여 다음 게임을 자동으로 시작합니다.
구현에는 YouTube Data API를 이용한 댓글 조회, OAuth 2.0을 이용한 고정댓글 수정, Python Chess를 이용한 체스 규칙 처리 및 SAN 기보 파싱, Stockfish를 이용한 AI 수 계산을 활용했습니다.
또한 10분 단위로 자동 실행되는 스케줄러를 구현해 서버를 실행해 두기만 하면 댓글 확인, 투표 결과 반영, AI 착수, 댓글 업데이트까지 모든 과정이 자동으로 반복되도록 구성했습니다.
별도의 웹사이트나 앱 없이 유튜브 댓글만으로 참여할 수 있으며, 시청자가 많아질수록 더 다양한 전략이 제안되고 투표 경쟁도 활발해지는 구조입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기