Symulacja wyścigów samochodowych

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

Rejestracja: 16 lat temu

Ostatnio: 2 dni 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-02 12:29

Rejestracja: 9 lat temu

Ostatnio: 2 godziny temu

0

Zeby to bylo realne kierowcy musza popelniac bledy a samochody musza byc awaryjne, do tego z roznymi charakterystykami w zaleznosci od pogody.


Pozostało 580 znaków

2020-06-02 12:55

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

0

To wiem ale chodzi mi o tor jazdy czy wystarczy zeby byl z gory zaprogramowany a cale sciganie opieralo sie wlasnie na tych charakterystykach/statystykach pojazdow i kierowcow czy jednak AI bylaby lepsza?


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

Pozostało 580 znaków

2020-06-02 13:07

Rejestracja: 5 lat temu

Ostatnio: 3 minuty temu

Lokalizacja: Poznań

0

Myślę, że ta symulacja działa dużo prościej :D
Z ustawień pojazdu + kierowcy itp wylicza potencjał danego pojazdu i następnie losuje z danym rozkładem prawdopodobieństwa kolejne miejsca. Jest to dużo wydajniejsze, a efekt będzie dość podobny


Spring? Ja tam wole mieć kontrole nad kodem ᕙ(ꔢ)ᕗ
Haste - mała biblioteka do testów z czasem.

Pozostało 580 znaków

2020-06-02 14:04

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

0

Nie no pewnie, że tak można zrobić :) Tylko chodzi mi o to, że prezentowana jest wizualna symulacja wyścigu gdzie pojazdy się poruszają. I mi chodzi głównie o tą wizualizacje.
Bo obliczyć jest w miarę łatwo zakładając różne zależności.


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

Pozostało 580 znaków

2020-06-02 14:12

Rejestracja: 5 lat temu

Ostatnio: 3 minuty temu

Lokalizacja: Poznań

0

No to tu dochodzą niestety takie zabawy jak pełne symulowanie fizyki. Chyba, że chcesz mieć faktycznie jakiś tylko prosty model to poszedł bym w taką stronę, że na mapie tory wyznaczł punkty do których samochody będą podążały oraz jakies strefy gdzie hamują/przyśpieszają


Spring? Ja tam wole mieć kontrole nad kodem ᕙ(ꔢ)ᕗ
Haste - mała biblioteka do testów z czasem.

Pozostało 580 znaków

2020-06-02 14:21

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

1

Znalazlem prosty generator tras w pythonie. No i mam wygenerowana trase:

screenshot-20200602141722.png

Teraz zastanawiam sie wlasnie jak pojazdy na nich poruszac symulujac wyscig. W sumie moznaby zaimplementowac proste skanowanie otoczenia i badanie odleglosci od krancow drogi i na tej podstawie wyliczac trase i predkosc.

screenshot-20200602142045.png

Albo narysować mu z gory ustaloną trasę (z możliwością odchylenia np na wyprzedzanie) i po prostu operować przyspieszaniem, hamowaniem żeby lepiej zasymulować wchodzenie w zakręty.

screenshot-20200602142419.png

Nie próbowałem jeszcze tego robić (ani nic podobnego) więc się po prostu zastanawiam :)


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

Pozostało 580 znaków

2020-06-02 14:34

Rejestracja: 9 lat temu

Ostatnio: 2 dni temu

0

@karpov: troche pobocznie ale poszukaj sobie info o takiej grze na C64 -> Banger Racer bo z grubsza to co robisz mi ja przypomina, a moze jakies fajne pomysly zgarniesz :)

Bardzo latwy sposob na AI jesli bedzie tylko jedna trasa. Ponagrywaj przejazdy (tzw. ghost) i pozniej losowo wybieraj wg ktorego przeciwnik pojedzie. Mozesz je tez ze soba pomiksaowac :)

I filmik z deep leaninngiem :

.

Pozostało 580 znaków

2020-06-02 14:50

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

1

Dzięki za podpowiedź :) Tych filmików o AI już widziałem mnóstwo hehe

Dobra, wkręciłem się troche w to ;)

Udało mi się zrobić algorytm, ktory potrafi wykonać pełne okrążenie toru:

Mam tylko problem bo chciałbym żeby zmiany kierunku odbywały się płynnie i łagodnie a że algorytm ma cały czas trzymać się środka trasy to na ostrych zakrętach mam efekt przeskoku. Sprawdzam czy poruszając się w określonym kierunku zbliżam się do końca drogi, jeżeli tak to zmieniam kierunek. I tu mam problem bo mogę to sprawdzenie wykonać jak jestem na środku drogi i wtedy przeskoku nie ma, ale jak chce żeby to było bardziej realistyczne i odwrócenie kierunku robie np na 5px przed końcem to moj kwadracik bardzo ostro potem wraca na środek drogi:


Macie może pomysł jak uniknąć tego ostrego zjazdu i spokojnie wrócić na środek?


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

Pozostało 580 znaków

2020-06-03 13:58

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

0

Cisne dalej. Myślę, że robie spore postępy. Mam już grafikę autka, póki co zaorałem stary system poruszania się pojazdu. Na razię mogę sterować nim tylko sam ale mam już punkty odniesienia żeby napisać samodzielnie poruszanie się samochodu. W tym celu badam pod kilkoma kątami odległość auta od ściany. Zastanawiam się teraz nad najbardziej optymalnym dobieraniem skręcania i punktu w którym będzie się poruszać. Prawdopodobnie pierwsza próba to będzie po prostu poruszanie się w kierunku najbardziej oddalonego punktu sprawdzającego odległość. Potem pewnie będę jakość bardziej ulepszać.


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
najbardziej optymalnym :< - danek 2020-06-03 14:10

Pozostało 580 znaków

xy
2020-06-03 15:27
xy

Rejestracja: 1 rok temu

Ostatnio: 1 dzień temu

1

Poczytaj sobie o "racing line". Zresztą w tej grze, która była inspiracją, tym managerze, gracz zmieniał ustawienia i to miało wpływ na czasy głównie dlatego (zgaduję, tzn. o ile było to podobne do rzeczywistości), że pojazd ma m.in. ograniczoną przyczepność. Także wtedy sens ma "racing line", bo przy nieograniczonej przyczepności (a ograniczonej prędkości), to chyba najlepiej byłoby poruszać się najkrótszą drogą. Jak przyczepność jest ograniczona, to też wchodzi kwestia hamowania i potem przyspieszania jak najwcześniej przy wychodzeniu z zakrętu. Chodzi mi o to, że jeśli fizyka prawie nie istnieje, to nie mają też sensu zachowania rzeczywiste wynikające z tej fizyki.
Coś do poczytania:
https://policedriver.com/wp-content/uploads/2015/05/1-phors.pdf

Pozostało 580 znaków

Odpowiedz

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