Skocz do zawartości

Odciążanie GameMaker


Rekomendowane odpowiedzi

czy da się jakoś odciążyć GameMaker'a.

Np. w almorze można by było podzielić roomy.

I tu zaczyna się nie jasność bo np. w tibii jest jeden "room" i 14000 grafik(32x32) i nie ścina, a przy takich ilościach GM by się ładował 2 dni. Gdzie jest problem w GM, grafikach(tibia ma 1 plik .spr), czy morze gdzieś indziej.

 

Jeśli to problem z GM to trzeba pogadać z YoYo morze oni coś na to poradzą,

a morze jakiś dll??

 

Morze tibia działa na zasadzie jednego room o wielkości 1800x1600 i w grze ładuje na bieżąco i grafiki i mapę??

Dla przykładu w Warcraft w pamięci powstają tak zwane "leak'i" i one zżerają pamięć żeby je usunąć ustawia się zmmiene i po pracy z nimi kasuje się je, morze ten problem też jest w GM'ie??

 

Co o tym myślicie morze jednak da się uratować almore i inne gry tego typu??

Odnośnik do komentarza
Udostępnij na innych stronach

W tibi nie ma 14000 grafik tylko 22,000 i to w bmp, a laduja sie wszystkie przy starcie servera :P

Wlacz GM, zrob 1 obiekt i zapisz do .exe, to juz ma okolo 1 mb, powiedz mi gdzie jest ten 1 mb?

Odnośnik do komentarza
Udostępnij na innych stronach

Borek na pewno już dawno myślał o odciążeniu Almory.Mógłby zrobić doczytywanie grafik,ale musiałby je zabezpieczyć bo każdy mógłby sobie je wziąść.W Almorze prawie wszystko jest w jednym exe i żeby nie muliło to jest tylko deaktywowanie obiektów poza viewem.

 

@stig:

Weź File -> New , a potem Create executable. Exe bez niczego ma 1,07 MB

Odnośnik do komentarza
Udostępnij na innych stronach

to chodzi o wielkość room bo w tibii ładuje się tylko to co widzisz + 2 kratki we wszystkie strony. Rozmiar exe jest na początku duży przez globalne tz. kolory, przejścia................... itd. Potem powoli się zwiększa.

Moim zdaniem to są grafiki i rozmiar room'a

dla przykładu podam że ja odpaliłem już program do liczb pierwszych to brał tylko 12,000k pamięci

 

edit: co że je dezaktywujesz jak room jest za duży i one tam dalej są.

 

@stig: tibia nie ładuje grafik na starcie bo ma 16,000k pamięci a plik z grafikami na 22mb!!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Tu nie chodzi o takie rzeczy jak doczytywanie grafiki itd., tylko o to że Game Maker jest za wolny. Jak kiedyś robiłem testy szybkości, to wyszło mi na oko, że C++ jest szybszy około 1000 razy.

Odnośnik do komentarza
Udostępnij na innych stronach

Tu nie chodzi o takie rzeczy jak doczytywanie grafiki itd., tylko o to że Game Maker jest za wolny. Jak kiedyś robiłem testy szybkości, to wyszło mi na oko, że C++ jest szybszy około 1000 razy.

Bo gm jest do tworzenia amatorskich gier na małą skale

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

bo GML to jak już mówiłem taki JavaScript dla Delphi. Jak gra jest kompilowana, to w sumie skrypty co najwyzej sa szyfrowane, ale nie są kompilowane. W trakcie gry GM czyta je dokładnie tak jak zostały napisane i na ich podstawie odwołuje sie do skompilowanych w delphi akcji. Gdyby taką samą grę napisać w Delphi, czy C++ to - jak powiedział Ranmus - działała by 1000 razy szybciej (co nie znaczy, że miała by 30000 FPSów :P). Dlatego też, GM może czytac skrypty z dysku i nie przeszkadza to w działaniu - bowiem on cały czas operuje w podobny sposób i trzyma te wszystkie skrypty itp. w pamięci i operuje na GMLu tak samo jak strony HTML na JavaScripcie. (ciężko to wytłumaczyć, ale może zrozumieliście)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Bo gm jest do tworzenia amatorskich gier na małą skale
Wyskoczyłeś jak Filip z konopii, na dodatek to nie ma żadnego związku z moją wypowiedzią. GM jest taki wolny, bo interpretuje skrypty, a nie kompiluje natywnie. No i ma niezbyt wydajny interpreter...
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Głupie pytanie, ale czy komentarze w kodzie GML spowalniają minimalnie pracę gry? :)

Aha i co jest wydajniejsze?

 

1.

texture=background_get_texture(bac_trawa);

d3d_draw_floor(x-64,y+64,z+1,x+64,y-64,z+1,texture,2,2);

 

2.

d3d_draw_floor(x-64,y+64,z+1,x+64,y-64,z+1,background_get_texture(bac_trawa),2,2);

 

Pierwszy, czy drugi przykład?

Odnośnik do komentarza
Udostępnij na innych stronach

nom jedyne co mozna zrobic to unikanie obciazajacych kompa efektow, nawpieprzanie loadingow do oporu, no i to nieszczesne dezaktywowanie obiektow ktore nie zawsze da sie urzyc. Game maker jest i tak po prostu wolny..

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Głupie pytanie, ale czy komentarze w kodzie GML spowalniają minimalnie pracę gry? :)

Aha i co jest wydajniejsze?

 

1.

texture=background_get_texture(bac_trawa);

d3d_draw_floor(x-64,y+64,z+1,x+64,y-64,z+1,texture,2,2);

 

2.

d3d_draw_floor(x-64,y+64,z+1,x+64,y-64,z+1,background_get_texture(bac_trawa),2,2);

 

Pierwszy, czy drugi przykład?

 

Pierwszy przykład jest szybszy. A co do komentarzy, to są one usuwane przez gm'a w czasie zapisu gry.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...