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

발행: (2025년 12월 27일 오후 04:35 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Cover image for Block-Reign: A Player vs AI Grid Game That Learns From You

대부분의 게임 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를 사용합니다. 각 경기 종료 후:

  1. 경기 데이터가 서버로 전송됩니다.
  2. AI가 Q‑테이블을 업데이트합니다.
  3. 진행 상황이 디스크에 저장됩니다.

서버를 재시작해도 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가 패배 하나하나를 통해 지능을 얻는 게임이죠.

그리고 이것이 끝이 아닙니다. 더 대담한 전략, 날카로운 게임플레이, 더 나은 그래픽… 더 미친 무언가가 다가오고 있습니다. 기대해 주세요 👀

의견이 있나요? 아래에 댓글 달아 주세요.

Back to Blog

관련 글

더 보기 »