NukeBoards

Pomoc - [TGF] Duże obiekty a prędkość gry.

Tasmpol - 06-11-2005, 19:34
: Temat postu: [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.
Fadex - 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.
Natie - 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 - 06-11-2005, 19:59
:
Przecież już napisał, że to tło kosmiczne :|
Tasmpol - 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?
Natie - 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 - 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? :P
msg - 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 - 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ę ;)
msg - 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