[TGF] Duże obiekty a prędkość gry. |
Autor |
Wiadomość |
Tasmpol
Bohater young god
Główny edytor:
Pomógł: 14 razy Posty: 955
24606 Prestiż
|
Wysłany: 06-11-2005, 19:34 [TGF] Duże obiekty a prędkość gry.
|
|
|
Na ten problem natrafiłem jakieś 3 miesiące temu (zaprzestałem przez niego tworzyć projekt), nie pamiętam, czy nie pisałem o nim na forum EF. Ale cóż, mianowicie:
Sprawa się tyczy gry z gatunku shooter. Technicznie gra polega na tym - gracz porusza się w kwadracie 640x480. Przed nim pojawiają się statki wroga i lecą w jego strone dopóty, dopóki nie znikną z lewej. Teraz jak chcę tło (w formie obiektu aktywnego) tak przesuwać, rozmiar 2000x480. Duuże. Kiedy je próbuję przesunąć to jak całe znajdzie się w polu widzenia to... gra laguje niesamowicie, chociaż na innych komputerach mogło by być ok (ja mam słabiutką maszynę), jednak dążę do najniższych wymagań - potencjalny gracz może mieć komputer o parametrach zbliżonych do mojego. No, i testowanie gry... No właśnie, trzeba ten problem usunąć! I co proponujecie, myślałem o podzieleniu tła na kawałki 100x480, ale czy to przyspieszy? Przesuwanie 20 wcale nie małych obiektów... Dobrze, kto ma jakiś pomysł? Jeżeli uda mi się to pokonać, to może projekt ujży światło dzienne. Jeżeli nie - wysypisko projektów. |
_________________ the preacher man says its the end of time
|
|
|
|
|
Fadex
Legenda #4; #12; #18; #20; #21; #27
Główny edytor:
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 06-11-2005, 19:40
|
|
|
zrób obiekt 640 X 480 i jeżeli obiekt obiekt zkoliduje z lewą ramką, to wtedy stwórz nowy obiekt względem wcześniejszego + jedno zdarzenie przy zdarzeniu zapętlonym. Jeżeli obiekt ma wartość X -640 lub mniejsze to zniszcz obiekt. |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
|
Natie
Bohaterka
Główny edytor:
Pojedynki: nie
Pomogła: 7 razy Posty: 380
10110 Prestiż
|
Wysłany: 06-11-2005, 19:55
|
|
|
O_o Na co ci taki duży obiekt? Już nie chodzi o lagi, ale to grosi zawiechami gry! Wytłumacz specyfike tego obiektu, po co ci on, to się zastąpi czym innym -_-'. |
_________________ ... |
|
|
|
|
Fadex
Legenda #4; #12; #18; #20; #21; #27
Główny edytor:
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 06-11-2005, 19:59
|
|
|
Przecież już napisał, że to tło kosmiczne |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
|
Tasmpol
Bohater young god
Główny edytor:
Pomógł: 14 razy Posty: 955
24606 Prestiż
|
Wysłany: 06-11-2005, 19:59
|
|
|
Leci sobie statek w przestrzeni kosmicznej, a z tyłu widać powoli przesuwającą się fabrykę... Ta fabryka to tło do rozgrywki. Rozumiesz? Bo co to za shooter, w którym ciągle lecimy w kosmosie, jakieś urozmaicenie musi być. Nie mogę go zastąpić obiektem tła, ponieważ obiektem tła nie da się poruszać. A w grze nie ma scrollingu, wszystkie obiekty (statki itp. poza statkiem gracza ) poruszają się w lewo, imitując scrolling. W ten sposób oszczędzam duużo prędkości gry i jej rozmiaru (bo zamiast planszy 1000000x480 mam planszę 640x480, a scrolling to jeden z najbardziej pamięciożernych procesów w TGF). Kapish? |
_________________ the preacher man says its the end of time
|
|
|
|
|
Natie
Bohaterka
Główny edytor:
Pojedynki: nie
Pomogła: 7 razy Posty: 380
10110 Prestiż
|
Wysłany: 06-11-2005, 20:13
|
|
|
Wobec tego proponuję dwa wyjścia:
-poszczególne budynki, lementy wystroju fabryki podziel na sobone kawałki i twórz je losowo z prawej strony i niszcz gdy są daleko poza ekranem z lewej.
-MMF+overlay redux |
_________________ ... |
|
|
|
|
Minty
Stwórczyni omc dr fizyki
Główny edytor:
Drugi edytor:
Pojedynki: być może
Pomogła: 259 razy Posty: 3446
33789 Prestiż
|
Wysłany: 06-11-2005, 20:35
|
|
|
Możesz użyć Picture Object i zmieniać skokowo jego wygląd (czytać z plików następną "klatkę" animacji), ale nie zalecam. Może lepiej przesuwać gracza i ekran, a nie tło będące całym polem gry? Czy może coś mi umknęło? |
|
|
|
|
msg
Pupogłowy ~~~~~~~~~~~
Główny edytor:
Drugi edytor:
Pomógł: 76 razy Posty: 1411
40082 Prestiż
|
Wysłany: 18-11-2005, 22:42
|
|
|
Tak, lepiej bedzie ze scrolingiem, albo wyłącz Machine independent speed. U mnie jak to wyłączysz, to wszystko działa wolniej, ale w ogóle nie się tnie. :o |
_________________ |
|
|
|
|
Tasmpol
Bohater young god
Główny edytor:
Pomógł: 14 razy Posty: 955
24606 Prestiż
|
Wysłany: 18-11-2005, 22:59
|
|
|
No mówię, że scrolling odpada! Na moim komputerze scrolling w rozmiarze 640x480 to morderstwo dla komputera. Poza tym tylko marnuję na rozmiarze gry i jej profesjonaliźmie - wolę iść na trudniejsze, lecz bezpieczniejsze i bardziej ekonomiczne rozwiązanie, niż na łatwiznę |
_________________ the preacher man says its the end of time
|
|
|
|
|
msg
Pupogłowy ~~~~~~~~~~~
Główny edytor:
Drugi edytor:
Pomógł: 76 razy Posty: 1411
40082 Prestiż
|
Wysłany: 21-11-2005, 19:50
|
|
|
Nie można oszukać parametrów komputera. Można za to oszukać wzrok. Jeśli coś będzie się przesuwało w tle to zazwyczaj to coś przesuwa się wolniej niż to co z przodu. Czyli moim zdaniem:
every 0:30sek -> set position of niestety active object "tło" to position "tło" +1 |
_________________ |
|
|
|
|
|