Block-Reign: 당신에게서 배우는 플레이어 vs AI 그리드 게임
Source: Dev.to

대부분의 게임 AI는 가짜로 똑똑합니다—패턴, 스크립트, 예측 가능한 행동.
Block-Reign은 그렇지 않습니다.
가벼운 플레이어 대 AI 격자 전투 게임으로, AI가 여러분이 플레이한 모든 경기—승리, 패배, 실수—에서 실제로 학습합니다. GPU도, 고급 엔진도 필요 없습니다—오직 파이썬, 강화 학습, 그리고 지속성만 있죠.
🕹️ Block-Reign이란?
Block-Reign은 10×10 격자 기반 플레이어 대 AI 전투 게임이며 다음으로 구성됩니다:
- 프론트엔드를 위한 Flask + HTML
- 게임 서버를 위한 Python
- 실시간 게임플레이를 위한 강화 학습 (Q‑Learning)
- 고급 오프라인 실험을 위한 DQN
브라우저에서 플레이하고, AI는 서버에서 실행되며, 매 경기마다 더 똑똑해집니다.
🤖 AI 철학
핵심 아이디어는 간단했습니다:
AI가 사전 학습된 데이터가 아니라 실제 게임만으로 학습한다면 어떨까?
그래서 AI는:
- 처음엔 바보처럼 시작하고
- 실제 경기만으로 학습하고
- 지식을 영구적으로 저장하고
- 당신의 플레이 스타일에 적응합니다
합성 데이터도, 스크립트된 행동도 없습니다—오직 경험뿐.
🧠 학습 방식
실행 중인 서버는 Q‑learning AI를 사용합니다. 각 경기 종료 후:
- 경기 데이터가 서버로 전송됩니다.
- AI가 Q‑테이블을 업데이트합니다.
- 진행 상황이 디스크에 저장됩니다.
서버를 재시작해도 AI는 모든 것을 기억합니다.
프로젝트에는 실험용 DQN 트레이너(ai_trainer.py)도 포함되어 있습니다.
📊 현재 AI 진행 상황
최근 실행 기준:
- 승률: 약 59%
- 진행된 경기 수: 78
- 전적: 46승 / 36패
이 통계는 하드코딩된 것이 아니라 학습되고 저장된 값이며, 학습 폴더를 삭제하면 AI는 모든 것을 잊게 됩니다.
🎮 게임플레이
- 10×10 격자
- 화살표 키로 이동
- 스페이스바로 발사
- 간단한 메커니즘, 전략적 포지셔닝
- 빠른 경기, 즉각적인 피드백
시각은 최소화하고 행동 학습은 최대화했습니다.
🔁 AI 초기화
학습 데이터를 삭제하세요:
training/
또는 특정 모델 파일을 삭제하세요:
training/models/simple_ai.pkl
그런 다음 서버를 재시작하고 다시 플레이하면 AI가 처음부터 시작합니다.
🛠️ 왜 만들었나요?
이 프로젝트는 그래픽이나 polish에 관한 것이 아닙니다. 다음을 위해 만들었습니다:
- 강화 학습 이해
- AI가 유기적으로 진화하는 모습을 관찰
- 대규모 연산 없이 적응형 시스템 구축
🔗 Repository
https://github.com/DeveloperPuneet/Block-Reign
Final Thought
Block-Reign은 완벽하지 않지만 솔직합니다—AI가 패배 하나하나를 통해 지능을 얻는 게임이죠.
그리고 이것이 끝이 아닙니다. 더 대담한 전략, 날카로운 게임플레이, 더 나은 그래픽… 더 미친 무언가가 다가오고 있습니다. 기대해 주세요 👀
의견이 있나요? 아래에 댓글 달아 주세요.