Next.js x Open Source Chess AI
Ryan Chess Service
AI와 친구 모두와 둘 수 있는
실전형 웹 서비스
드래그해서 바로 수를 두고, 브라우저 안에서 돌아가는Stockfish엔진과 대전하거나, 방 코드를 만들어 친구와 같은 대국판에서 WebRTC 직접 연결을 우선 시도하고, 필요하면 Vercel relay로 이어서 플레이할 수 있도록 구성했습니다.
Service Snapshot
바로 쓸 수 있는 MVP
체스판 UI
react-chessboard
룰 검증
chess.js
AI 엔진
Stockfish 18 Lite
멀티플레이
WebRTC P2P Match
What You Can Do
지금 가능한 플레이 방식
AI 모드에서는 난이도를 조절하며 Stockfish와 바로 대국할 수 있습니다.
방 모드에서는 코드를 생성하고 상대를 초대해 호스트 브라우저가 대국 상태를 관리하며, 직접 연결 또는 Vercel relay로 상태를 공유합니다.
기보, 마지막 수 하이라이트, 턴 상태를 한 화면에서 볼 수 있습니다.
Notes
현재 멀티플레이의 성격
현재 방 기능은 WebRTC DataChannel을 우선 사용하고, 직접 연결이 어렵더라도 같은 메시지를 Vercel relay polling으로 전달해 대국을 이어갈 수 있습니다.
TURN 없이도 플레이는 가능하지만, relay보다 직접 연결 성공률을 높이고 싶다면 나중에 TURN을 추가하는 편이 좋습니다.
다음 단계로는 실시간 소켓 동기화, 로그인, 대국 기록 저장을 붙이기 좋습니다.