Skocz do zawartości

Untitled strzelanka


Exigo

Rekomendowane odpowiedzi

  • Filar Społeczności
Mój boże! Świetne! Wszystkie efekty wyglądają piorunująco! Jeszcze nigdy nie widziałem tak dobrej pod względem graficznym gry w GM :D. Rewelacyjny bloom i ogółem całość! Życzę powodzenia :thumbsup:

Cinders? ArcMagi?

Odnośnik do komentarza
Udostępnij na innych stronach

@Anty,

Tru.

 

Btw. mam nadzieje że cieszycie się razem ze mną.

powielanie_graczy.jpg

Napisałem obsługę wielu postaci. Oznacza to że można już zacząć kodzić kod sieciowy. ^^

 

Poza tym zmieniłem trochę kod huda. Od teraz rysuje na vertexach, i przemnażając przez sinusa uzyskuje się całkiem wyglądające "zaginanie". Jest jeszcze dodana własna obsługa particles. ; )

Odnośnik do komentarza
Udostępnij na innych stronach

Exigo mam nadzieję że zrobiłeś zabezpieczenie na wypadek niechcianego zniszczenia surfaców. Różne rzeczy mogą go zniszczyć np niewinne włączenie się komuś wygaszaczu ekranu.

Co do huda to ten poprzedni mi ścinał jak spamiłem left clickiem myszki, no ale teraz to nie będzie miało wpływu na wydajność także plusik.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

GJ, co do tamtego to chodziło mi o to, że grafika to nie tylko efekty :P

 

@kod sieciowy :(

 

może najpierw wersja dla jednego gracza, a później takie ryzykowne próby? ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Anty myśle że jeśli się ogarnia projekt pod względem kodowania (a widać że exigo wie co jest na rzeczy) to zrobienie dobrego multiplaya jest łatwiejsze niż zrobienie dobrego singla :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

... od kiedy Tymek pokazał Borkowi kilka sztuczek i ten wziął się za optymalizację kodu. Nawet na screenach widać, że Borek poprawił sporo rzeczy.

 

@Exigo: mi się nie podoba, że te postaci tak machają rekoma. Owszem, może w karykaturalnej wersji GearsOfWar to by tak wyglądało, ale normalnie, jak ktoś biegnie z bronią - nawet tej wielkości - to nie tańczy przy tym makareny rękoma :P

Odnośnik do komentarza
Udostępnij na innych stronach

Racja, przy sprincie jeszcze gites, tylko wtedy nie powinno się dac celować, ale przy chodzeniu czy nawet lekkim truchcie łapy powinny być troche bardziej statyczne :) No ale to czepianie sie pierdół, a o pierdoły można się czepiać w gotowych lub bliskich ukończenia grach a nie w pokazówkach silnika :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
ANtY myśle że jeśli się ogarnia projekt pod względem kodowania (a widać że exigo wie co jest na rzeczy) to zrobienie dobrego multiplaya jest łatwiejsze niż zrobienie dobrego singla :)

IMO kodowanie multi to zupełnie inny dział kodowania niż to co teraz robi Exigo, to samo się tyczy AI.

Według mnie łatwiej byłoby zrobić dobrego singla.

Odnośnik do komentarza
Udostępnij na innych stronach

IMO kodowanie multi to zupełnie inny dział kodowania niż to co teraz robi Exigo, to samo się tyczy AI.

Według mnie łatwiej byłoby zrobić dobrego singla.

Nie zrozumiałeś mnie. Jasne, kodowanie multi jest dużo bardziej skomplikowane niż kodowanie singla. Chodziło mi bardziej o to że jeśli się ma banie do kodowania i umie sie zaprogramować multi, to już sam design, i wszystko co się tworzenia tyczy jest dużo łatwiejsze jeśli chodzi o multi niż zaprojektowanie porządnej wciągającej kampani single. W sensie multi to taka piaskownica, dajesz graczom zabawki - i sie bawią. W singlu trzeba bardziej nad graczem czuwać i przewidywać jego ruchu dodając elementy tak żeby się nie nudził, jakieś scenki, fabuły, i inne pierdoły ;] sam nie potrafię ni cholery multi zrobić więc może jakimś autorytetem w tej dziedzinie nie jestem, ale takie odnosze wrażenia patrząc po prostu na strulturę gier.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

w trakcie gry naciśnij Start+L na klawiaturze, a potem wróć do swojego zalogowanego konta. Surface znikają. Ten same efekt gdy wciskasz Alt+Ctrl+Del. Niestety, w każdym kroku przed namalowaniem surface trzeba sprawdzać czy ono istneje. To jest porada którą dostałem od Mike'a i Russela:

 

GML
if !surface_exists(a) {

<recreate surface>;

}

draw_surface(a,x,y);

Odnośnik do komentarza
Udostępnij na innych stronach

Exigo mam nadzieję że zrobiłeś zabezpieczenie na wypadek niechcianego zniszczenia surfaców. Różne rzeczy mogą go zniszczyć np niewinne włączenie się komuś wygaszaczu ekranu.

 

Czyli jednak nie zrobił.

Info że można to w ten sposób zasymulować się przyda.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Nie zrozumiałeś mnie. Jasne, kodowanie multi jest dużo bardziej skomplikowane niż kodowanie singla. Chodziło mi bardziej o to że jeśli się ma banie do kodowania i umie sie zaprogramować multi, to już sam design, i wszystko co się tworzenia tyczy jest dużo łatwiejsze jeśli chodzi o multi niż zaprojektowanie porządnej wciągającej kampani single. W sensie multi to taka piaskownica, dajesz graczom zabawki - i sie bawią. W singlu trzeba bardziej nad graczem czuwać i przewidywać jego ruchu dodając elementy tak żeby się nie nudził, jakieś scenki, fabuły, i inne pierdoły ;] sam nie potrafię ni cholery multi zrobić więc może jakimś autorytetem w tej dziedzinie nie jestem, ale takie odnosze wrażenia patrząc po prostu na strulturę gier.

Pewnie, nie zrozumieliśmy się :)

 

Też uważam, że zaprojektowanie gry od strony designowej jest dużo łatwiejsze przy multi, niż przy kampanii single.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Czyli jednak nie zrobił.

Info że można to w ten sposób zasymulować się przyda.

Musisz tylko pamiętać, żeby do "a" coś przypisać na poczatku gry - może to być własnie wykonanie tego skryptu tworzącego surface, tak jak potem w warunku. Miałem z tym problemy na iPadzie i Androidzie, więc dostałem od chłopaków lekcję o surfejsach :P

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego co pamiętam, to surface też znikał jak się korzystało z shitowskiego GMowego Load/Save, po wczytaniu zapisu gry, surface już się nie wyświetlał.

Oczywiście rozwiązaniem było to samo co napisał gnysek :)

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego co pamiętam, to surface też znikał jak się korzystało z shitowskiego GMowego Load/Save, po wczytaniu zapisu gry, surface już się nie wyświetlał.

Oczywiście rozwiązaniem było to samo co napisał gnysek :)

No bo save zrzuca część pamięci ram, którą wykorzystuje gra na dysk a potem przywraca podczas loadu. A pamięci vram nie tyka a jak wiadomo tam surfacy lądują.

 

Taki sam save load jest w wielu emulatorach konsol ( ogólnie emulatorach : D )

Odnośnik do komentarza
Udostępnij na innych stronach

ano wkurwwwrzająca rzecz :) Da się jakoś to pominąć? Bo tu ciężkie kombinacje w tripie odpierdzielam żeby dało się wczytać misję od środka, jakimiś niepraktycznymi i ledwo działającymi metodami :)

Odnośnik do komentarza
Udostępnij na innych stronach

zapis surfacesa do grafiki, a potem wczytanie sprajta, narysowanie go na surfacesie i zwolnienie sprajta?

Odnośnik do komentarza
Udostępnij na innych stronach

ha tylko jak to sie robi :D nie no tak ogólnie to w miare opanowałem, misje wczytuje od dowolnego rooma bezproblemowo, a sejw w środku rooma jakoś specjalnie potrzebny nie jest, i tak quick savów nie mam, a wszystkie autosavy są 'pomiędzy' więc chyba obędzie się bez takich kombinacji ;)

Odnośnik do komentarza
Udostępnij na innych stronach

najpierw:

GML
surface_save(sur,'lala.png')//zapisujesz surfece do pliku</span>

 

a potem:

GML
var sprit;

sprit=sprite_add('lala.png',klatki,1,0,org_x,org_y)//dodajesz sprita z pliku

sur=surface_create(w,h)//robisz surface

surface_set_target(sur)//ustawiasz go na target

draw_sprite(sprit,0,0,0)//rysujesz sprita na nim

surface_reset_target()//resetujesz target

sprite_delete(sprit)//wywalasz sprita</span>

 

nic trudnego, badz po szpanersku nothing hard

 

e:przydaloby sie jeszcze usuwanie pliku

Odnośnik do komentarza
Udostępnij na innych stronach

PSEUDOKOD:

 

save:

surface_save_to_file('save/sur_zmienna.gfx');

 

load:

spr = sprite_add('save/sur_zmienna.gfx');

zmienna = surface_create(sprite_get_width(), sprite_get_height());

surface_target(zmienna);

sprite_draw(spr);

surface_reset();

sprite_destroy(spr);

 

i voila

 

@up: szybszy ;p

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ę...