0. 재밌는 사과 게임
해보고 싶은 프로젝트가 생겼다
문제는 내가 지금 알고 있는 건 없고, 어떻게 하는지 모르겠다
그러니 일지를 기록해 두자
아 그리고 이 프로젝트는 비정기적으로 심심하면 작성할 예정이니
많관부~
0. 사건의 발단
어느 날 수업 시간에 온 카톡
요새 인싸 친구들이 한다는 화제의 게임이라고 한다
https://www.gamesaien.com/game/fruit_box_a/
10을 만드는 사과 조합을 찾아 터트리는 게임이다
되게 단순하면서 중독성 있다
계속해도 점수는 잘 오르지 않고 화가 난다
게다가 눈이 아프다
게임을 하면서 (9, 1)이나 (8, 2) 같은 조합을 빠르게 치우면 점수가 잘 나오는 경향이 있다는 걸 경험적으로 알았다
그런데 난 이번 학기에 "기초 인공지능" 수업을 듣는데, 여기서 배운 상황과 유사하다는 생각이 들었다
에이전트가 상황에서 가장 점수를 얻는 선택을?
게다가 10x17으로 사과가 많이 않고, 120초 정도의 시간이 주어졌으니...
어 이거? 하는 생각이 들었다
1. 문제 분석
그렇게 사과 게임을 플레이하는 게임 에이전트를 제작하기로 결정했다
그래서 어떻게 해야 할까 가 가장 큰 문제였다
문제를 크게 두 부분으로 나누면
웹과 상호작용하여 사과의 숫자 배열을 가져와오고, 무언가 결정된 행동으로 사과를 지워야 한다
또한 당연한 말이지만 현재 사과의 상태가 주어지면 최적의 행동을 알아내는 모델을 만들어야 한다
뭐 게임 강화 학습..?
잘 모르겠다.
2. 일단 가보자
뭘 하든 사과의 숫자를 알아내야 한다는 생각이 들었다
사과의 숫자를 저장한 배열을 어떻게든 만들어야 한다
아마도 페이지 상에 자바 스크립트로 작성되어있겠지만 잘 모르겠다
캔버스..?
고민을 하다 한 영상을 찾게 되었다
해당 영상을 기반으로 분석을 시도해 보려 하였다
일단 셀레니움이나 클리커 등은 넘어가고
사과의 숫자 정보를 찾아야 한다
코드를 찾아보니 이런저런 수상해 보이는 코드를 찾았다
뭔가 아래 두 녀석 중 하나가 게임을 구성하고 있는 것 같은데..
어쩌면 뭐 둘 다 일 수도 있고
근데 위에 파일은 9천 줄이고, 아래는 8백여 줄이다
게다가..
변수가 다 a, b, c, d.. 이런 식이다
와....
이제 이걸 어떻게 해야 할지 고민이다.
변수를 더 찾아봐야 할지
아니면 그냥 openCV를 통해 사과 이미지의 숫자를 읽을지..
좀 더 고민해 보자