Broccoli's House
#4-(5) TORCS : SCR-패치 클라이언트 설정 본문
4회차 - (5) TORCS : SCR-패치 클라이언트 설정
- 클라이언트
- 클라이언트 : TORCS의 SCR-패치를 통해 서버가 열려있는 상태에서, 서버를 통해 게임의 데이터를 읽거나 쓰려면 메모리 영역을 읽어올 수 있는 클라이언트가 있어야 한다. 다른 어떤 언어로도 클라이언트를 만들 수 있으나, 여기에서는 C++과 파이썬으로 구성된 클라이언트를 소개하고자 한다.
C++ 클라이언트
- Dev-C++ 설치가 완료되면 실행한다. [파일] - [파일 또는 프로젝트 열기]로 들어가서 클라이언트를 압축 해제해 놓은 경로로 들어가서 client.dev 파일을 선택하여 열어준다. [도구] - [컴파일러 설정] - [라이브러리]에 [C:\Program Files\Dev-Cpp\MinGW64\lib] 경로가 추가되어 있는지 확인한다. 경로가 없다면, 찾아서 추가해준다.
- 좌측 프로젝트 탭에서 client.cpp를 클릭한다. Windows 환경에서는 위의 사진과 같이 주석 처리되어 있는 #define 중에서 밑에 두 개를 주석 해제해주어야 한다. 해제하지 않고 컴파일하게 되면 FILENAME과 관련된 에러가 발생하면서 컴파일이 되지 않는다. 주석 해제를 한 후에 CarState.cpp를 컴파일을 하면 압축 해제된 폴더에 client.exe 실행 파일이 생성된다. 여기까지 하면 클라이언트 설치가 완료된다.
- 컴파일 시에 $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)에서 오류가 발생하는 경우, Winsock이 링크되지 않아서 오류가 발생하는 것이다. [프로젝트] - [프로젝트 옵션] - [매개변수들] - [라이브러리나 객체 추가하기]를 클릭한다. Dev-C++이 설치된 폴더에서 [MinGW64] - [x86_64-w64-mingw32] - [lib]에 보면 libws2_32.a 파일이 있다. 그 파일을 열기하여 링커에 추가시켜주면 된다.
- TORCS에서 [scr_server 1]으로 [Quick Race]를 실행시킨다. Initializing Driver scr_server 1... 텍스트가 떠있는 동안, 앞서 컴파일하여 생성되었던 client.exe 파일을 실행시킨다. 그러면 TORCS 서버가 클라이언트를 인식하면서 미리 설정되어 있던 드라이버 파일을 실행시켜 게임이 시작된다.
파이썬 클라이언트
- (https://github.com/lanquarden/pyScrcClient)에서 동일한 파일을 다운받을 수 있다. 압축 해제한 후에 컴파일할 필요 없이, TORCS의 서버를 연 상태에서 pyclient.py 파일을 실행시키면 클라이언트가 알아서 미리 구성해 놓은 드라이버 파이썬 파일을 서버에 전달해주고, 게임이 시작된다.
- 더 간단하게 TORCS의 차량을 제어하려면, TORCS의 유명한 파이썬 라이브러리 SnakeOil 웹사이트(http://xed.ch/p/snakeoil/)에서 정보를 확인하면 된다.
'공부 > 캡스톤 디자인' 카테고리의 다른 글
#5-(2) 게임 이미지 크기 조절 및 흑백 처리 (1) | 2018.03.09 |
---|---|
#5-(1) 파이썬을 이용한 게임 이미지 추출 (0) | 2018.03.08 |
#4-(4) TORCS : SCR-패치 서버 설정 (0) | 2018.03.08 |
#4-(3) TORCS : 설치 및 설정 (0) | 2018.03.06 |
#4-(2) Microsoft AirSim : 언리얼 환경 구성 (2) | 2018.02.24 |