본문 바로가기
카테고리 없음

오목 게임, AI로 쉽게 만들었습니다 (게임 플레이 가능)

by Aim-High 2025. 6. 23.
반응형

 

밑에 있는 오목 게임을 해보시기 바랍니다. 혹시 "이 AI, 왜 이렇게 강하지?"라고 생각하셨나요? 사실 이 오목 게임은 복잡한 이론이 아닌, '바이브 코딩'으로 만들어졌습니다.

아래에 있는 오목 게임을 하다가 AI의 벽을 넘지 못하셨나요? "대체 어떤 알고리즘이길래 이렇게 잘 두는 거지?" 하는 궁금증이 드셨을 겁니다. 저 역시 그랬으니까요.

놀랍게도 이 AI는 수많은 논문을 기반으로 한 복잡한 인공지능이 아닙니다. 오히려 그 반대에 가깝죠. 아는 분께서 공유한 글에서 봤는데요,'바이브 코딩(Vibe Coding)'이라는 개발 스타일을 사용했다고 하시네요.

 

🤔 '바이브 코딩'으로 게임을 만든다고?

'바이브 코딩'은 정식 프로그래밍 용어라기보다는, 엄격한 계획이나 이론보다 개발자의 '감(Vibe)'과 직관을 우선시하는 개발 문화를 가리키는 말입니다. 복잡한 게임 이론(Game Theory)부터 공부하기보다는 이렇게 접근하는게 속도면에서는 확실히 빠르겠죠?

"음... 오목에서 이기려면 어떻게 둬야 하지? 일단 내 돌이 많이 이어지게 하고, 상대 돌은 못 잇게 막으면 되지 않을까? 이 '느낌'을 그대로 코드로 옮겨보자!"

이 단순한 '바이브'가 바로 AI의 핵심 로직이 되었던 것 같습니다. 이 직관을 코드로 번역하는 과정에서,휴리스틱(Heuristic) 평가 함수 기반의 AI가 탄생한 것 같고요.

'바이브 코딩'으로 오목 AI를 개발하는 과정을 표현한 일러스트. 개발자의 머리에서 나온 직관적인 에너지가 빛이 되어 오목 게임이 보이는 컴퓨터 화면으로 연결되고 있다.
💡 이것이 '바이브 코딩'의 결과!
AI는 바둑판의 모든 빈칸을 보며 "여기에 두면 얼마나 기분이 좋아질까?"를 점수로 계산합니다.
  • 공격 점수: 여기에 내 돌을 뒀을 때, 만들어지는 연속된 돌의 가치 (예: 흩어진 2개보다 열린 3개가 훨씬 높은 점수)
  • 수비 점수: 만약 상대가 여기에 뒀을 때 만들어질 위협을 미리 차단하는 가치
AI는 이 두 점수의 합이 가장 높은, 즉 '가장 기분 좋은(Vibe가 좋은)' 자리에 돌을 놓게 됩니다.

 

🎯 '바이브 코딩' AI의 약점과 공략법

직관적인 '바이브'로 만들어진 AI는 예상외로 강력했지만, 그 태생적 한계 때문에 명확한 약점을 가집니다. 바로 '근시안'이라는 점입니다. AI는 오직 '다음 한 수'의 가치(Vibe)만 볼 뿐, 여러 수 앞을 내다보는 장기적인 전략, 즉 '큰 그림'을 그리지 못합니다.

바로 이 지점이 우리가 파고들어야 할 핵심입니다. AI의 단순한 평가 기준을 역이용하는 것이죠.

⚠️ AI 필승 전술: AI의 선택지를 없애라!
AI는 한 번에 한 곳, 가장 점수가 높은 곳만 막을 수 있습니다. 따라서 AI가 고민할 필요도 없이 "여길 막아야 해!" 라고 느끼게 만드는 상황을 연속으로 만드는 것이 필승법입니다.
  1. 필살기 '4-3 공격'
    가장 확실한 전술입니다. 한 수를 둬서 '열린 4'와 '열린 3'을 동시에 만드는 것입니다. AI의 점수 체계상 '열린 4'를 막는 것이 '열린 3'을 막는 것보다 압도적으로 점수가 높습니다. 따라서 AI는 무조건 '4'를 막으러 오게 되고, 플레이어는 다음 수로 '3'을 '4'로 만들며 게임을 끝낼 수 있습니다.
  2. AI를 농락하는 '연속된 열린 3'
    '4-3'을 만들기 어렵다면 이 전술을 사용하세요. 먼저 위협적인 '열린 3'을 하나 만듭니다. 그럼 AI는 100% 그곳을 막으러 옵니다. AI가 수비하는 동안, 전혀 다른 곳에 또 다른 공격의 실마리(두 번째 '열린 3'의 재료)를 만듭니다. 이 과정을 반복하면 AI는 플레이어의 의도대로 끌려다니게 되고, 결국 막을 수 없는 결정타를 날릴 기회가 생깁니다.

 

🎮 이제 직접 도전해 보세요! (오목 게임 플레이)

'바이브 코딩'으로 탄생한 AI의 원리와 약점을 모두 파악하셨습니다. 이제 아래 게임에서 배운 전술을 직접 시험해 보세요. AI를 상대로 '4-3 공격'과 '연속 공격'을 구사하며 승리를 쟁취하시길 바랍니다!

 

 

자주 묻는 질문 ❓

Q: '바이브 코딩'은 좋은 개발 방식인가요?
A: '바이브 코딩'은 저처럼 개인 프로젝트나 빠른 프로토타이핑에 매우 유용하고 재미있는 방식입니다. 하지만 여러 사람이 협업하는 대규모 프로젝트에서는 코드의 일관성과 유지보수를 위해 보다 체계적이고 문서화된 개발 방법론이 권장됩니다.
Q: AI가 첫 수를 항상 가운데 두나요?
A: 네, 플레이어가 먼저 두지 않으면 AI는 가장 유리하다고 알려진 중앙(7,7)에 첫 수를 두도록 코딩되어 있습니다. 가장 기본적인 오목 전략 중 하나를 '바이브'에 추가한 셈이죠.
Q: 이 AI를 더 똑똑하게 만들려면 어떻게 해야 하나요?
A: 좋은 질문입니다! AI의 점수 계산 로직(evaluateLine 함수)을 수정하면 됩니다. 예를 들어, '열린 3'과 '막힌 4'의 점수 가중치를 조절하거나, 몇 수 앞을 내다보는 탐색(예: Minimax 알고리즘) 기능을 추가하면 훨씬 강력한 AI를 만들 수 있습니다.

'바이브 코딩'으로 만든 저의 AI와 즐거운 시간 보내셨기를 바랍니다. 이 글이 오목 AI의 원리를 이해하고, 코딩에 대한 새로운 영감을 얻는 계기가 되었으면 좋겠습니다. 더 궁금한 점은 댓글로 남겨주세요! 😊

반응형