Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Kategorie bazy plików
Pliki -> Game Maker -> Przykłady
Informacje o pliku: Przyszła pozycja gracza
Przykład pokazuje jak obliczyć przyszłą pozycję gracza na podstawie jego kierunku i prędkości. Przydatne jest to w grach typu Tower Defence, strategiach, TDS'ach.
rozmiar: 13 KB | autor: Uzjel
pobrań: 6472 | głosów: 12 | ocena: 7.33 oceń zasób
data dodania: 23.09.10 | dodał: Tymon
Komentarze
stron: 1

1


av

Makary155 (17:06, 24.09.2010)

Świetne! Wreszcie moi łucznicy będą trafiać w ruchomy cel

av

Dawidds (18:21, 24.09.2010)

Idea przykładu fajna, ale jednak zastosowany mechanizm sprawia że przy stałym ruchu gracza kościotrup nie zawsze trafia (chociaż i tak w większości trafia, a w tdsach nie ma co się z tym bawić bo i tak gracz będzie robił uniki) w cel. Nie mam pomysłu jak to wyjaśnić to daję obrazek:
img832.imagesha...64/fgfdgdfg.png

I teraz po kolei kroki, które wykona algorytm w tym przykładzie (czarne to kościotrup, niebieskie jabłko):
1. Sprawdzamy, w ilu klatkach strzała doleci do AKTUALNEJ pozycji gracza. Wynik - 4 klatki (taki przykład ofc). Czerwona linia na obrazku.
2. Obliczamy, na jakiej pozycji będzie gracz za tyle klatek, ile wyszło na wyżej. Niebieska linia na obrazku, ta pozycja gracza, która nam wyszła jest oznaczona jako puste niebieskie kółko.
3. Strzelamy w to puste niebieskie kółko. Zielona linia na obrazku.
//tutaj koniec algorytmu, ale obserwujmy dalszy przebieg zdarzeń
4. Niestety, wyszło tak, że strzale dojście do pozycji którą wyliczyliśmy zajęło 6 klatek (sprawdzaliśmy to w 1 punkcie, wtedy innymi danymi nie dysponowaliśmy), a nie 4. I przez te 6 klatek gracz zdążył ominąć trajektorię - różowe kółko.

Obliczanie pozycji, na której będzie gracz w momencie gdy trafi go strzała nie opiera się na dystansie do rzeczywiście tego punktu, gdzie trafi go strzała (choć szczerze sam nie mam pojęcia jakby to obliczyć, mógłby się wypowiedzieć jakiś ekspert : D), a na dystansie do gracza. A nas interesuje PRZYSZŁA pozycja gracza i to na niej powinniśmy oprzeć obliczenia - a nie na aktualnej.
Opieramy się na czerwonej kresce, a powinniśmy na zielonej.

Inna sprawa, że wychodzi na to, że aby obliczyć przyszłą pozycję gracza potrzebujemy pozycji gracza. Dlatego to takie ciekawe : D

av

Tymon (18:25, 24.09.2010)

Ale Ty uwzględniasz ruch przyspieszony którego nie ma w tym przykładzie.

av

Dawidds (18:25, 24.09.2010)

Nie chce mi się myśleć dokładnie jaki by to miało sens, ale logiczne wydawało by się zrobienie po prostu powiedzmy 5 iteracji - z których każda opierała by się na wyniku poprzedniej.
Czyli że rysunek który wyżej dałem to 1 iteracja - w drugiej program liczy, gdzie będzie gracz za 6 klatek (długość zielonej kreski, tą, którą właśnie obliczyliśmy). I wtedy przekazujemy do następnej iteracji, aby obliczyła, gdzie będzie gracz za (tutaj wynik tej 2 iteracji) klatek.

Całkowicie precyzyjne by to nie było, ale było by to już dużo większe przybliżenie.

av

Tymon (18:27, 24.09.2010)

Stary, komplikujesz sobie życie. Do podręcznika fizyki, marsz.

av

Dawidds (18:37, 24.09.2010)

Nie, nie uwzględniam przyspieszonego : D

Obliczamy, gdzie będzie gracz, gdy trafi go strzała - ale opieramy to na AKTUALNEJ sytuacji (aktualnym dystansie kościotrup-gracz, co przekłada się na wynik "w ilu klatkach strzała dotrze do celu", a nie na tej przyszłej. Nie mam pojęcia jak to lepiej wyjaśnić, także muszę liczyć, że kogoś oświeci i zrozumie, o co mi chodzi

Tyle tylko że mówię, do gier to w 100% wystarcza - ale tak czysto teoretycznie patrząc to ten przykład nie jest całkiem skuteczny

Zresztą najlepiej zwiększyć sobie ekran i się zauważy, że rzeczywiście gdy poruszamy się tak, że szybko zmienia się dystans jabłko-kościotrup (mijamy go w odległości gdzieś 150px) to szkielet w nas po prostu nie trafia (mimo, że nie zmieniamy kierunku ani prędkości).

av

Dawidds (18:38, 24.09.2010)

Chyba inne podręczniki od fizyki mamy

av

Tymon (18:46, 24.09.2010)

Dobra, już to widzę.

W alarmie szkielecika trzeba poprawić liczenie dist.

dist = point_distance(
x,
y,
obj_apple.x + lengthdir_x( obj_apple.apple_speed, obj_apple.apple_direction ),
obj_apple.y + lengthdir_y( obj_apple.apple_speed, obj_apple.apple_direction )
);

Zwykły błąd, bo w końcu ma strzelać w kierunku przyszłej pozycji jabłka, a nie obecnej.

Dawidds i tak masz pałę za sposób rozwiązania problemu.

av

Uzjel (20:01, 24.09.2010)

Napiszmy o tym pracę magisterską i chodźmy na piwo. Dla mnie tamto rozwiązanie jest wystarczające, bo snajper nie jest potrzebny

av

pablo1517 (16:45, 29.11.2010)

Dawidds, to nie wystarczy brać sobie odległości kosciotrup - przyszła pozycja gracza, zamiast kosciotrup - gracz? Wtedy masz wszystko policzone bezbłędnie, tak na chłopski rozum, bo z fizyki to ja same 2 mam :/

av

Dawidds (17:47, 29.11.2010)

Się obudziłeś : D
No ale jak już mamy się czepiać to na chłopski rozum wychodząc od tego co napisałeś:

1. Chcemy obliczyć [odległość kościotrup - przyszła pozycja gracza], potrzebujemy do tego ofc:
-pozycja kościotrupa (mamy)
-przyszła pozycja gracza (nie mamy, liczymy)
2. Do obliczenia [przyszła pozycja gracza] potrzebujemy:
-kierunku gracza (mamy)
-jego prędkości (mamy)
-czasu, jaki zajmie pociskowi dotarcie do tej [przyszłej pozycji gracza] - (nie mamy, liczymy)
3. Do obliczenia [czasu jaki zajmie pociskowi dotarcie do tej [przyszłej pozycji]] potrzebujemy:
-prędkości pocisku (mamy)
-dystansu jaki musi przebyć pocisk, czyli właśnie [odległość kościotrup - przyszła pozycja gracza] - no jak nieciężko zauważyć, zapętliliśmy się.

Myślę że trochę lepszy sposób na pokazanie tego niż to co pisałem ostatnio, ale i tak gadanie nad tym jest czystą głupotą bo w 95% przypadków pocisk mimo drobnej nie-precyzji (tak, wiem, słowotwórstwo - you're doing it wrong) trafi gracza, a w pozostałych 5% gracz zrobi unik i tyle ze snajperskich zdolności szkieletu, więc naprawdę nie ma o czym gadać. Czysto matematycznie technika jest nieprecyzyjna, ale w kontekście gier i tak w 100% wystarczająca.

I end of topic, bo nie dam rady tego lepiej wytłumaczyć a na pisanie aplikacji która to zademonstruje jestem zbyt leniwy.

stron: 1

1



Dodaj komentarz:
Treść:
W bazie mamy plików: 215
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
14 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 14, userów: 0, ukrytych: 0
Użytkownicy na czacie discord
MaxGaming (23:11, 21.06.18):
okej restart pomógł xd
MaxGaming (22:50, 21.06.18):
Jak otworzyć ten Splash Screen w android studio? Ten co wyskauje od razu po instalacji?
MaxGaming (22:49, 21.06.18):
a VC 16 lat temu
MaxGaming (22:46, 21.06.18):
ej co jeśli zainstalowałem andoid studio i studio64.exe nie chce się otworzuć? Po prostu nic się nie dzieje chociaż w procesach jest uruchomione
Wojo (21:41, 21.06.18):
A GTA 5 5 lat temu
Wojo (21:40, 21.06.18):
GTA 4 wyszło 10 lat temu
exp (20:45, 21.06.18):
a vice city to według mnie słaba gra. chociaż spędziłem z nią mnóstwo czasu
exp (20:44, 21.06.18):
nie byłem nigdy wielkim fanem tej serii, według mnie najlepsze było gta4
MaxGaming (19:37, 21.06.18):
SA znowu ceniłem za ten klimat, Nie rozumiem czemu gangsterzy mająbyć biali przecież wiadomo że nie było nigdy prawdziwego gangu białych tylko mafie i innego typu grupy przestępcze. Ta historia o wydostawaniu się z getto idealnie zgrała się z modą na gangsta rap
MaxGaming (19:36, 21.06.18):
Wydaje mi się że VC i IV to inny profil po prostu niż SA i V
MaxGaming (19:36, 21.06.18):
nie podoba mi się na nowo uproszczenie GTA i wszystkiego co z nim związane w GTA V. Za to dostajemy ogromną mapę i dużo funkcji które w sumie nie koniecznie są ciekawe typoow dla gry ale już dla zabawy poza fabularnej takq
MaxGaming (19:35, 21.06.18):
No i fabuła była genialna. GTA IV to gra która pod względem fabuły, postaci i ogólnie wykreowanego świata jest w mojej osobistej topce jeśli chodzi o gry w które kiedykolwiek zagrałem
MaxGaming (19:34, 21.06.18):
w GTA IV wyrzucono zbędne funkcje z SA które były błędem. Dodatkowo to miasto, ten NY na prawdę żył! To było coś pięknego
MaxGaming (19:34, 21.06.18):
GTA VC i 4 to kompletne gry, które mniej stawiająna sandboc a bardziej na grywalność
MaxGaming (19:33, 21.06.18):
GTA SA i V to gry żeby pobawić się, mało kto gra w to dla fabuły
MaxGaming (19:33, 21.06.18):
Natomiast GTA IV moim zdaniem jest najbardziej udaną grą z serii i szkoda że GTA V zboczyło z tego kursu
MaxGaming (19:33, 21.06.18):
fabuła, to jak ona wpływała na otoczenie(nie tak na siłę jak w SA) no i te dodatkowe funkcje były super. Na przykład każdego wieczoru zależnie od dnia tygodnia na stadionie można było wziąć udział w różnych zawodach. Kupowanie tych biznesów i zarabianie na nich. No i zdobywanie dzięki temu terenów. I ta fabuła była krótka ale dzięki temu genialna. Zdobywanie willi na przykład to jest coś fajnego. Ogólnie misji było mniej ale były ciekawsze i było mniej zapychaczy
MaxGaming (19:31, 21.06.18):
Ten klimat jest genialny. Do dziś często pykam w VC
MaxGaming (19:31, 21.06.18):
Mówiąc o VC to uargumentuje. Po pierwsze SA było za duże jakby. Mam na myśli że było niezorganizowane, dodano mnóstwo funkcji w ogóle nie związanych ze sobą. I tak trzeba było non stop dbać o siłkę itp żeby nie spadła forma. Ogólnie SA fabularnie jest zajebiste i kliamtycznie ale trochę twórcy za dużo nawtykali takich bezsensownych funkcji. GTA VC podobało mi się bo było bardziej kompletne. Wszystko do siebie pasowało. Brakowało paru funkcji żeby było jak na swoje cza
I am vader (19:30, 21.06.18):
A jesli ktos powie ze midzy gta V a IV jest za duzy okres czasu zeby je nazwac "w tym samym czasie" to moze miec racje, ale tego samego argumentu nie mozna uzyc do sa i vc bo wyszly z 2-letnia roznica
I am vader (19:10, 21.06.18):
bo gta V jest dziesiatki razy wieksze od SA, ale kazdy jest tworem swoich czasow i moim zdaniem w swoim czasie SA bylo milion razy lepsze od VC, a GTA V od GTA IV.
I am vader (19:10, 21.06.18):
GTA:SA natomaist to wooo, śmiem twierdzić że GTA:SA = GTA V > GTA 4 > GTA III=GTA VC
I am vader (19:09, 21.06.18):
Nie rozumiem fendomenu gta 4 i VC. VC chyba jedzie na samej nostalgi bo wiele w tej grze nie bylo, nawet fabula byla krotka.
MaxGaming (19:00, 21.06.18):
Według mnie najlepsze 3 części serii to kolejno GTA 4>GTA VC>GTA SA
Wojo (18:38, 21.06.18):
nieźle się typeczek postarał
Wojo (18:37, 21.06.18):
szkoda bo gta 5 to jest mistrzostwo
I am Lord (18:35, 21.06.18):
ostatnie gta jakie grałem było gta 2
Wojo (16:11, 21.06.18):
I tak najlepiej grać w GTA 5
I am Lord (15:01, 21.06.18):
i.imgur.com/VBDH84H.png suwak jest w połowie, poniżej gierki "10000000" już są gry których nie uruchamiałem
I am Lord (15:00, 21.06.18):
Chociaz u mnie nie jest aż tak źle bo 50% ograne ze 100 gierek
I am Lord (14:58, 21.06.18):
prawda :d
MaxGaming (14:08, 21.06.18):
Ja też bym tyle miał gdyby nie to że już dwa lata temu ogarnąłem że mam 300+ gier na Steam z czego 80%+ nigdy nie uruchomiłem xd nie oszukujmy się, żaden z nas nie gra w te gry
exp (12:22, 21.06.18):
kupilem wiecej gier wideo jestem kimś rozumiesz
gnysek (11:47, 21.06.18):
Retaili mam z 40-50.
I am vader (11:43, 21.06.18):
Oj jakbym mial dodac retaile mialbym pewnie tyle samo.
gnysek (9:45, 21.06.18):
wyśmiewam wasze 600 gier na steam. Mam 850 oryginalnych gier na PS2/3/4/Vita.
MaxGaming (2:41, 21.06.18):
Często naprawiam lapki jakieś, od nowa stawiam systemy i to jest problem bo ISO ostanie które miałem usnałem jakiś czas temu przez przypadek xd
MaxGaming (2:41, 21.06.18):
Ale mi bardziej chodzi o serwisowanie
MaxGaming (2:41, 21.06.18):
Ja czytałem że od dawna w unii są przepisy które pozwalają legalnie korzystać z OEM a prawo > licencja producenta. Z tego co wiem to jest to samo co z mac os na pc - niby licencja zakazuje ale jest legalne ze względu na przepisy prawa
MaxGaming (2:39, 21.06.18):
Wojo mam 356 gier na Steam kupionych xd nie trafiłeś xd
I am vader (23:28, 20.06.18):
@Wojo prawda, ale mowisz do goscia ktory ma 594 gry na steam
exp (23:08, 20.06.18):
a i np. mogę sobie jednym kliknięciem zmienić język gry wraz z dubbingiem zamiast błąkać się po internecie
exp (23:07, 20.06.18):
jak gierka kosztuje 20zł i mogę mieć je wszystkie na zawsze w jednym miejscu no to fajna opcja. zwłaszcza, że nie jestem jakimś zapalonym graczem, bo steama mam dwa lata, a gier chyba siedem
exp (23:06, 20.06.18):
ja mam na steamie gierki, które kupiłem legalnie po 999 latach albo nawet miałem kiedyś fizyczne kopie
Wojo (22:03, 20.06.18):
no ale jak masz kupiony oryginał i z różnych powodów nie możesz go uruchomić to moim zdaniem na miejscu jest pobranie sobie wersji z neta zamiast kupować to samo raz jeszcze
I am vader (22:01, 20.06.18):
ja po 123123 lat kupilem Hitmana 2. Kupilem tez Gothic 1/2/3 bo nie wlozylm stacji CD/DVD do komputera i nie mialem jak zainstalowac z plytki
Wojo (21:42, 20.06.18):
no wiadomo ze legalne gry, programy warto mieć bo to też jest szacunek dla twórców no ale bez przesady
Wojo (21:42, 20.06.18):
jak dla mnie to jest durnota, kupować grę, którą się już ma, albo kupowanie gierki ktora ma juz 100 lat bo trzeba byc legalnym
I am vader (21:37, 20.06.18):
Do ISO Win7 masz prawo tylko z kluczem nie-OEM. Jesli masz OEM to technicznie nei otrzymales prawa do legalnego pobrania ISO.
I am Lord (21:33, 20.06.18):
tak żalę się :/ bo to już choroba
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2018 {=|=} fable_inside();

[ Czas generowania strony: 0.03302 sekund ] [ Liczba zapytań MySQL: 14 ]