본문 바로가기

AI/도전

Team AI Korea의 Strikers 1945 돌려보기 - 우분투

"AI를 좋아하는 사람들의 모임"이라는 "Team AI KOREA"가 있다.

http://aikorea.org/


이곳에서는 인공지능과 관련된 많은 프로젝트를 진행하고 있다.


그중 강화 학습을 이용하여 고전 게임을 학습하고

컴퓨터가 직접 플레이하게끔 하는 프로젝트가 있다.


예전 오락실에서 많이들 즐겼던 1945라는 슈팅 게임을 가지고 

연구를 하는 것이다.


구글 딥마인드에서 인공지능으로 아타리 고전게임을 플레이하는 

것을 보고 재미있을 것 같아서 진행하게 되었다고 한다.






1. 기본 패키지 설치 - 마메 빌드 시 필요함


$ sudo apt-get install git build-essential libsdl2-dev libsdl2-ttf-dev libfontconfig-dev qt5-default


또는

$ sudo apt-get install git build-essential libgtk2.0-dev libgnome2-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl2-ttf-dev libqt4-*


※위에서 가장 중요한 패키지는 SDLQT관련 패키지들이다.




2. 소스코드 내려받기


$ git clone https://github.com/aikorea/strikersii_ai/

$ cd strikersii_ai

$ git submodule init

$ git submodule update




3. 1945 ROM 파일 내려받기


ROM파일은 아래의 링크에서 다운로드가 가능하다.

http://doperoms.com/roms/mame/s1945ii.zip.html/689168/S1945ii.zip.html


여기서 중요한 부분은 다운로드하는 ROM 파일의 위치이다.


파일의 위치할 곳은 "striersii_ai/roms/"이다.

소스코드의 최상위가 "striersii_ai"폴더이다.


처음 소스코드를 내려받으면 "roms"라는 폴더가 없으니 

먼저 폴더를 생성하고 그 안에 복사하여 넣어주면 된다.


rom 파일의 위치가 틀리면 아래와 같은 에러가 나타날 것이고

그렇다면 위치가 잘못되었다는 것을 알 수 있다.



복사할 파일의 위치





4. 마메 빌드


$ cd mame

$ make -j8


위에서 내려받은 소스코드 안에는 "mame" 코드도 함께 있다.

그 안으로 들어가서 빌드만 하면 되는 것이다.


빌드에서 에러가 난다면 대부분 패키지 설치가 안 돼서 생기는 문제일 것이다.


내 경우 크로스 컴파일 설정들이 들어가 있어서 문제가 되기도 했다.

arm으로 빌드를 시도하려 하는 것이다.


또한 빌드 중 문제가 발생하였을 때

필요한 패키지를 설치했는데도 동일한 빌드 에러가 계속 난다면

"make clean"으로 빌드 초기화를 한 후 다시 시도하길 바란다.




5. 실행하기


$ mame/mame64 s1945ii -script random_move.lua -window



만약 소리를 끄고 싶다면


$ mame/mame64 s1945ii -script random_move.lua -window -speed 100 -sound none




화면 마저 끄고 싶다면


$ mame/mame64 s1945ii -script random_move.lua -window -speed 100 -sound none -video none


위의 명령을 실행하는 위치는 "strikersii_ai"(최상위) 폴더이다.



6. 실제 구동 영상 및 스크린 샷