2D 레이싱 게임을위한 AI 구축을위한 팁


10

2D 레이싱 게임을 위해 AI를 구축하는 학교 프로젝트가 있는데 다른 AI와 경쟁 할 수 있습니다 ( 충돌 없음 ).

경주 트랙의 흑백 비트 맵 이미지가 제공되며,지도를받은 후 자동차의 기본 통계 (처리, 가속, 최대 속도 및 브레이크)를 선택할 수 있습니다. AI는 게임 서버에 연결하여 현재 가속 및 조종을 위해 몇 초의 숫자를 제공합니다. 내가 선택한 언어는 C ++입니다. 질문은 :

최선의 전략이나 알고리즘은 무엇입니까 (내가 이기고 싶어서)? 나는 현재 그물과 하나 또는 두 개에서 발견 된 몇 가지 아이디어를 염두에두고 있지만 내 관점이 최고 중 하나임을 코딩하기 전에 싶습니다. 그 문제에 관해 어떤 좋은 책이 있습니까? 어떤 사이트를 참조해야합니까?

2d  c++  ai  racing 

1
물리 시뮬레이션의 정확성에 달려 있습니다. 물리가 없다면, 항상 최고 속도로 갈 것입니다 ... 그렇지 않으면, 매 턴 전에 속도가 느려지기 시작하고 턴을 통해 2/3 속도가 빨라집니다.
Nate

답변:


2

기본 AI를 설정 한 다음 자신의 차량을 처리 할 API를 설정하십시오. 이길 수 있다면 AI를 긍정적으로 강화할 수있는 기록 알고리즘을 설정해야합니다. 이것은 인공 지능의 행동을 조정하기위한 신경망 일 수 있습니다. 코너 등으로 점진적 제동 등

프로젝트에서 외부 라이브러리를 사용할 수 있습니까? 그렇다면 FANN 을 살펴 보십시오 . 빠른 신경망 라이브러리입니다. 자신의 글을 쓰지 않아도됩니다. 소스 코드가 필요한 경우 언제든지 직접 작성할 수 있지만 시간이 걸릴 수 있습니다.


1
나에게 잔인한 것 같습니다.
o0 '.

2
@ Lo'oris 확실히, 특히 이것은 해결책을 만드는 데 시간이 제한된 상당히 간단한 학교 프로젝트이기 때문에 실용성을 위해 감독 학습이 이것과 함께하는 방법이라고 생각하지 않습니다.
Ray Dey

설정하기가 어렵지 않고 OP가 수행하는 주제의 수준에 따라이 방법이 과도하지 않을 수도 있습니다. 그것은 내가하고 싶은 일이며, 재미 있고, 효과적인 결과를 얻기 위해 아주 간단 할 수 있습니다. 가장 어려운 부분은 전처리 과정에서해야 할 일을 결정하는 것입니다.
decelratedcaviar

2

AI를 실행하기 전에 맵을 전처리 할 수 ​​있다면 맵 세그먼트를 통해 최상의 레이싱 라인을 계산하면됩니다.

GameDev.net 의이 게시물 에는 여러 가지 제안이 있습니다.

AI 지혜의 책은 AI 경주에 대한 기사를 많이 가지고있다. 특히 AI 내에서지도를 데이터 구조로 표현할 수있는 방법을 설명하는 기사가 포함 된 기사를 추천합니다.

내가 본 또 다른 방법은 간단한 강화 학습 (Q-learning)입니다. 최적의 길을 얻으려면 수천 번의 반복이 필요할 것입니다. 이 백서에 설명되어 있습니다 : http://www.cs.ubc.ca/~zhijin/540report.pdf


1

다음은 AI 구동을위한 훌륭한 참고 자료입니다 : 자율적 인 캐릭터를위한 조향 동작 . 모든 사람의 참조를 위해 여기에 게시. 시작하는 데 필요한 정보가 많지만 정보가 많으므로 세부 정보에 너무 신경 쓰지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.