Symulacja wyścigów samochodowych

Odpowiedz Nowy wątek
2020-06-02 11:15

Rejestracja: 16 lat temu

Ostatnio: 11 godzin temu

1

Cześć,
trafiłem ostatnio na grę która symuluje wyścigi samochodowe. Gracz nie steruje pojazdem a jedynie jest managerem zespołu zmieniając różne ustawienia pojazdów.

Zastanawiam się jak ograna jest taka symulacja wyścigu i jak to najlepiej zrobić gdybym sam chciał takie coś napisać. Do głowy przychodzą mi 2 rozwiązania: (załóżmy, że mamy widok 2d, z góry na cały tor)

1) sieć neuronowa i nauczenie jej jak optymalnie powinien zachowywać się pojazd (razem z wyprzedzaniem i unikaniem kolizji z innymi pojazdami)

2) wytyczenie optymalnej ścieżki po trasie dla pojazdu i dodanie do niej możliwego odchylenia w celu wyprzedzenia np wolniejszego pojazdu i innych dodatkowych rzeczy np ścieżki hamowania przed zakrętami.

Wydaje mi się, że dla celów tylko symulacji wyścigu to 2 rozwiązanie wydaje się lepsze. Jakie jest wasze zdanie? Spotkaliście się może z takim problemem kiedyś? Znacie może jakieś materiały na ten temat?


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
edytowany 1x, ostatnio: karpov, 2020-06-02 11:16

Pozostało 580 znaków

2020-06-03 16:06

Rejestracja: 9 lat temu

Ostatnio: 8 minut temu

0

Jak przyczepnosc nie bedzie 100% to musisz dodac jeszcze manipulacje predkoscia zeby optymalnie przejezdzac. Gran turismo 2 mialo fajny tutorial jak sie powinno optymalnie zakrety przejezdac.

Pozostało 580 znaków

2020-06-03 16:42

Rejestracja: 16 lat temu

Ostatnio: 11 godzin temu

0

Zrobilem tak, że auto podąża za najdalszym odcinkiem, który bada odległość od przeszkód. W zależności od długości najdłuższego odcinka ustalana jest też prędkość. Zrobiłem sobie prowizoryczną skrzynie biegów gdzie w zależności długości najdłuższego odcinka ustalam prędkość:

self.skrzyniaBiegow = {
            8: range(280, 400),
            7: range(260, 280),
            6: range(240, 260),
            5: range(220, 240),
            4: range(150, 220),
            3: range(100, 150),
            2: range(50, 100),
            1: range(0, 50),
        }

No i w sumie wygląda całkiem ciekawie bez wytyczania z góry racing line. Muszę zastanowić się jeszcze jak upłynnić tą jazdę, przypuszczac ze jezdzi tak skokowo przez zmiane tej predkosci, musze sie nad tym zastanowic.


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.

Pozostało 580 znaków

xy
2020-06-03 17:05
xy

Rejestracja: 1 rok temu

Ostatnio: 1 dzień temu

1

Jeszcze przypomniał mi się taki prosty artykulik ze starych czasów:
https://www.asawicki.info/Mir[...]%20Physics%20for%20Games.html
Jest tam coś m.in. o biegach.

Pozostało 580 znaków

2020-06-04 19:35

Rejestracja: 16 lat temu

Ostatnio: 11 godzin temu

1

Stwierdziłem, że spróbuje jednak z tym race line bo nie chciałem za bardzo brnąć w AI. Okazało się, że szybciej by chyba było nauczyć samochodzić jeździć ;) Spróbowałem zaimplementować algorytm do wyznacznia optymalnej trasy ale wyszło mi to średnio. Może umyka mi jakaś mała rzecz ale czacha mi już dzisiaj dymi więc nic lepszego nie wymyśle.

Znalazłem ciekawy opis tutaj: http://phungdinhthang.com/201[...]cing-lines-automatically/?i=1
A wyszło mi tak:

screenshot-20200604193255.png

Spodziewałem się trochę lepszych rezultatów. Gołym okiem widzę, że w niektórych miejscach mogło pójść inaczej.

W sumie najbardziej podoba mi się pomysł opisany tutaj:

screenshot-20200604193449.png

Ale z tym też mam problem z zaimplementowaniem tego algorytmu - muszę powalczyć.


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
edytowany 1x, ostatnio: karpov, 2020-06-04 19:36

Pozostało 580 znaków

2020-06-08 16:19

Rejestracja: 16 lat temu

Ostatnio: 11 godzin temu

Panie i Panowie :) Udało się :) Zrobiłem w pełni działający generator racing line dla dowolnie generowanej trasy. Póki co wrzucam filmik. Potem dam linka do kodu, muszę go trochę posprzątać ;)
Całość napisana w pythonie. Dodałem do filmu napisy, który opisują o co chodzi:


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
fajne, daj więcej samochodzików, każdy z innym przyśpieszeniem i prędkością maks - Julian_ 2020-06-08 16:20
To w kolejnym kroku :) - karpov 2020-06-08 16:23

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0