IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Micinaua
Člen
Avatar
Micinaua:19.5.2012 11:38

Ahoj, mám následující dotaz:
Už docela dlouho pracuji na jedné 2D hře v GM. A přestože ještě nejsem ani v půlce tohoto díla, tak se hra při spuštění příliš dlouho načítá..

Lze nějak dosáhnout toho, aby se jednotlivé levely (o dvou až třech místnostech) načítaly při svém spuštění zvlášť, namísto toho, že se hra na začátku načte komplet celá?

 
Odpovědět
19.5.2012 11:38
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Micinaua
David Jančík:19.5.2012 12:00

Ahoj,
pokud používáš větší množství zvuků, zkus jim odškrtnout preload Jinak tohle se v GM moc neřeší asi :/ setkal sem se, že se většina her načítá delší dobu. Jediné co můžeš udělat je, načítat nějaké zdroje externě - zvuky, obrázky jen nevím jestli to není pak moc složitý a jak to ve výsledku bude fungovat.

Nahoru Odpovědět
19.5.2012 12:00
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Micinaua
Člen
Avatar
Micinaua:19.5.2012 12:07

Ozvučení jsem ve hře zatím vůbec neřešil, to nechávám až na konec. Spíše jde o velkou spoustu animovaných obrázků (samozřejmě se snažím paměť zatěžovat co nejméně, takže jednotlivé sprity v animacích hloupě nekopíruji, ale používám funkce jako je Image_speed, apod.)

Představoval jsem si to tak, že by se zpočátku nahrálo pouze menu a věcí s tím spojené. Jednotlivé levely by se nahrávaly z nějakých mnou vytvořených externích souborů Lvl1, Lvl2, atd.. Jen právě nevím, zda tohle v GM lze udělat...

 
Nahoru Odpovědět
19.5.2012 12:07
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Micinaua
David Jančík:19.5.2012 12:28

Ahoj,
já tě chápu. Můžeš udělat, že projedeš místnost cyklem (všechny instance) a uložíš je do souboru, jako jejich umístění a co o nich potřebuješ vědět. Pak budeš při načítání roomu načítat ten soubor a vytvářet ty instance a rovněž tak obrázky a pak zvuky.

Nahoru Odpovědět
19.5.2012 12:28
Zapomeň, že je to nemožné a udělej to ;)
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Micinaua
David Hartinger:19.5.2012 12:32

GM je v tomhle ohledu bohužel naprosto hloupý a je to daň za to, že neprogramuješ v nějakém plnohodnotném jazyce. Výhodou je samozřejmě zase rychlejší a jednodušší tvorba.

Jak píše David, můžeš si načítání řešit sám, neznám tvůj typ hry, ale obvykle se dělá to, že si vytvoříš např. 10 spritů zdi (spr_zed1, spr_zed2...) a ty si na začátku levelu načteš se souboru. V dalším levelu používáš ty samé sprity, ale nahraješ do nich zas jiné obrázky. V paměti máš tedy stále jen 10 spritů, ale v 10ti levelech máš 100 obrázků. Použiješ funkci:

spr_zed1 = sprite_add(...);

Parametry si z hlavy nepamatuji, ale řešilo se to tu ve fóru.

Nahoru Odpovědět
19.5.2012 12:32
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Nahoru Odpovědět
19.5.2012 12:34
New kid back on the block with a R.I.P
Avatar
Micinaua
Člen
Avatar
Odpovídá na David Jančík
Micinaua:19.5.2012 12:34

A jak to lze provézt? Nemám s tím žádnou zkušenost..

 
Nahoru Odpovědět
19.5.2012 12:34
Avatar
Micinaua
Člen
Avatar
Odpovídá na David Hartinger
Micinaua:19.5.2012 12:40

To bych ty obrázky ale musel mít všechny v nějaké složce předpokládám.. Pokud by je ale nějaký hráč potom ze složky smazal nebo poupravil, tak se tím celá hra poškodí (což samozřejmě nechci)... Nejde z těch obrázků udělat pro hráče nějaký needitovatelný soubor, který by si ale zároveň ta hra dokázala pro sebe přečíst a čerpat z něj?

 
Nahoru Odpovědět
19.5.2012 12:40
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Micinaua
David Hartinger:19.5.2012 13:07

O tom nevím, ale nemyslím si, že by ti někdo kradl obrázky, k čemu by mu to bylo? Takový člověk co krade je většinou neschopný, takže by hru s tvými obrázky stejně ani nenaprogramoval.

Nahoru Odpovědět
19.5.2012 13:07
New kid back on the block with a R.I.P
Avatar
Micinaua
Člen
Avatar
Odpovídá na David Hartinger
Micinaua:19.5.2012 13:15

Jde mi o to, že když si tam do těch obrázků někdo něco přikreslí, tak je ta hra znehodnocena. A tomu bych chtěl právě předejít...

Jinak pokud bych před každým levelem vždy externě nahrál obrázky do paměti, lze je poté z paměti zase smazat?

 
Nahoru Odpovědět
19.5.2012 13:15
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Micinaua
David Hartinger:19.5.2012 13:24

A k čemu by mu to bylo, že by tam něco přikreslil? Myslíš jako, že by se to rozšířilo? O tom dost pochybuji, zdrojové kódy máš ty a možnosti z hlediska editace grafiky jsou minimální. A opět jde o to: kdo by se k tomuhle snížil, nebude mít na to, aby to dotáhl do konce nebo nějak rozšířil. Opravdu bych se toho nebál, má to tak hodně her a věci jako postavy atd budeš mít v GM, řešíme jen pár sad zdí a podobně. Nebál bych se.

Psal jsem ti, že budeš mít jen 10 spritů, ty budeš vždy přepisovat, poslal jsem ti i kód. Nic tedy nemusíš ani tvořit ani mazat, jen do existujících spritů nahráváš obrázky z disku.

Nahoru Odpovědět
19.5.2012 13:24
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Zdeněk Pavlátka:18.6.2012 15:51

Jde to v neregistrované verzi GM?

Nahoru Odpovědět
18.6.2012 15:51
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Zdeněk Pavlátka
David Hartinger:18.6.2012 15:55

Myslím, že nejde.

Nahoru Odpovědět
18.6.2012 15:55
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.