Diskuze: Více pohybujících se nepřátel
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 13 zpráv z 13.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Záleží na tom, jaký systém grafiky máš... Je-li vše ve svém čtvercovém poli, pak jen poměřuješ vzdálenost a poměr ku čtverci nepřítele. Pochopitelně to pak způsobuje problémy vizuální. Proto navrhuji kolizi kružnicovou - nebudeš tedy brát v potaz, že je nestvůra spíše do šířky, ale prostě kolem ní uděláš pomyslnou kružnici. Jen bude v GM asi náročnější vypočítat to s co nejnižšími nároky na PC...
možná špatně pochopeno, problém nemám s tím že vznikne a detekuji kolizi , ale s tim jak ji řešit pro situace 3 a více nepřátel (popřípadně vhodně předcházet).Zkusil jsem několik ruzných reakcí, ale povětšinou to dopadlo tak že se objekt chvíli dost "zmateně" a graficky neesteticky pohyboval než se to vyřešilo.
U takových věcí bývá největší problém optimalizace, abys v každém
průchodu
nekontroloval kolize tisíců objektů. Když kolize blbnou, zkontroluj
masky
všech dotčených sprites a povypínej precision. Všude, kde je to jen
trochu
možné použij čtvercové nebo kruhové masky. Kde to nepomáhá, testuj
vzdálenost
středů např. point_distance(x1,y1,x2,y2). Jakoukoli podmínku, která
omezí
počet testovaných objektů, je dobré použít.
Zdá se, že než jsem to dopsal, už je dotaz trochu jiný. 
Pokud se ti nepřátelé "motají", nechávej je po každém posunu
otestovat
na kolize a pokud bude true, vrať ho na xprevious, yprevious. Tím prostě
zůstane stát. Zatímco, když dáš stop pohybu v případě kolize, motají
se
okolo, protože kolize se opakuje v každém stepu.
No přesně to jsem měl na myslim, sprites měl blbnou ve smyslu, že zatím
jsem řešil kolizi tím že jsem se snažin změnit úhel pohybu rychlost nebo
dokonce i odraz
a mám tam
daný skript který automaticky mení otočení spritu podle toho kterým de
směrem a v takových to chvílich se bláznivě měnil, otáčel z důvodu že
kolize nastávala několikrát za vteřinu. Ano point distance , kruhové masky
atd jsem schopen nějak zapomponovat jak bude potřeba, ale spíš bych chtěl
radu, jak následně řešit situaci, resp jakým směrem se mají nepřátelé
vydat (jak to rozhodnout) aby stále mířili k hráči "nějak" a zároveň si
navzájem nepřekáželi. (něco na způsob avoid obstacles) ale pro pohyblivý
objetky
No kvalitní AI motion plannig je jeden z nejobtížnějších úkolů
vůbec.
Zkus mp_potential_path_object a nech si cestu ukazovat v debug módu,
abys viděl, co to reálně spočítalo.
hm a jak si mám nechat ukázat cestu v debug modu, nějak to nemužu dohledat
Je to path, takže draw_path.
Samosebou if debug_mode.
Taky by možná stálo za pokus, zpomalovat pohyb v případě,
že za N stepů dojde ke kolizi. Tzn. např. ověřím 11 stepů napřed
a pokud dojde ke kolizi na některém z nich, zpomalím o 10%.
Čímž docílím, že pokud má dojít k nárazu hned, objekt zastaví
hned.
Jinak jen zpomaluje a doufá, že překážka uhne nebo zmizí.
No povedlo se mi na foru najít tohle http://host-a.net/…Handlers.gmk
a po chvilce úprav to zatím funguje dobře, ještě to chce upravit pro moji
potřebu a doladit další věci (viz to zpomalování + budu muset naučit
postavu hráče správě interagovat, ale tohle dost pomohlo)
To vypada celkem názorně. Právě se tam dodržují základní tvary
a jednoduché dráhy, jak jsme tady psali. Hezký příklad.
Zobrazeno 13 zpráv z 13.