Piszę w Javie w LibGDX parkera samochodowego 2d z góry. Auto to prostokąt z teksturą i offsetami kół. Liczę przemieszczenie pojazdu i rotację na podstawie wiadomo szybkości, skrętu kół (trochę trygonometrii, linie, okręgi ale realistycznie jak na oczekiwania parkera 2d).
Teraz chciałbym zrobić jakiś przeciwników komputerowych którzy by sobie jeździli po drodze, po wyznaczonej trasie przeze mnie. Jak to napisać tak ogólnie, jak to ugryźć żeby komputerowy przeciwnik też jeździł realistycznie? Jazda po prostej spoko, chodzi o zakręty i przyszłościowo może też dłuższy pojazd jak autobus.
Właściwie jak to piszę mam 3 pomysły:
- sam będę jechał i nagrywał ruch a potem tylko bot będzie odtwarzał mój ruch - nie mam pojęcia jak to zrobić i wydaje mi się raczej głupie
- bot będzie miał wyznaczoną linię/krzywą i będzie metodą prób i błędów korygował skręt kół by trzymać podążaną linię na środku przodu auta
- hmm chyba najprościej po prostu policzyć nową pozycję, nową rotację z wykorzystaniem tego co dla zwykłego gracza by samochód jeździł po okręgu. Nawet bardziej ogólnie, miałbym opis dróg, połączeń. Bot miałby powiedzane że ma jechać po drodze X, skręcić w Y i odpowiednio by liczył kiedy skręcić i o ile. Tylko znów mało realistyczne że przy wchodzeniu w zakręt koła ze skrętu 0 stopni nagle dostaną 30 (ale w sumie to nie będzie zauważalne w 2d, niskiej prędkości i tym że kół fizycznie nie ma). Warto dodać że prędkość tu nie gra roli bo w tej mojej symulacji możliwe jest jeździć w kółko 200km/h bo jestem laikiem w gamedev. Ale prędkość dam stała dla bota w granicy powiedzmy 30km/h więc to nie jest istotne.
Czy ktoś ma jakiś pomysł jaką drogą pójść?