
Sutikku
Użytkownicy-
Postów
738 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Sutikku
-
Fajnie jest, tylko pytanie czy split screen nie byłby lepszy, zamiast zmiany postaci. Wygodniej by się grało ze znajomymi. Duży plus, że postacie nie przyklejają się do bloków w trakcie skoku, co ostatnio widuję w każdej gmowej platformówce. Minus taki, że gra jest szybko nudząca, grając samemu i nie ma tak szczerze nic, co by wyróżniało tę grę, od pierdyliarda innych tego typu gier.
-
Mogłeś to zrobić tak, że te piksele są ruchome. I nawet mogłyby mówić jakieś kwestie, krzyczeć, czy coś. I uciekać od kursora. Piksele to by były takie żyjące stworzonka które maltretujemy :) I żeby nie było zbyt łatwo, któreś z tych pikseli, byłyby fake-pikselami i były kółeczkami, więc trzeba uważać, żeby nie kliknąć tego. Jakoś mi szczególnie nie podeszło.
-
Chodziło mi o to, że z tym instance_nearest() i place_meeting() byłyby problemy.
-
Przy dużej liczbie obiektów, które są atakowane, to podejrzewam, że na moim złomku wywołałoby spadek fps.
-
Ewentualnie. Jeśli będziesz to miał w kodzie kolizji z pociskiem, daj with(other)
-
Aż mnie przestraszyłeś, idę robić kopię zapasową. Ja też odzyskałem wiele plików dzięki tego typu programom. O ile nic nie instalowałeś, to się dało odzyskać.
-
Niech będzie później. Nie widzę problemu, jakiegoś wielkiego.
-
Gry multiplayer - struktury wysyłania danych
Sutikku odpowiedział(a) na MaxGaming temat w Pytania zaawansowanych
Hmm. Bo, generalnie, zamiast wysyłać swoje pozycję co ruch, przewiduje się ruchy. W przykładzie networkingu dołączonego do gms, wysyłane są informacje o wciśnięciu klawisza. A serwer oblicza o ile ma nasz pan (ew. pani) się przesunąć. Dlatego też jak najwięcej serwer powinien ogarniać. -
To może błąd GMa który w złym miejscu Ci błąd pokazuje?
-
Ja pamiętam, że kiedy wywoływałem funkcje właśnie instance_exists(), variable_exists(), wywalało błędy, jeśli obiektu nie było. Gdzieś kiedyś znalazłem coś takiego: if( string( ds_map_find_value( mapa, "wartosc" ) ) == "0" ) Ale to tylko gdybyś potrzebował czegoś takiego na gwałt. I nawet nie wiem czy to nadal działa. A tak teoretycznie, czy jego index się może nagle zmienić?
-
Gry multiplayer - struktury wysyłania danych
Sutikku odpowiedział(a) na MaxGaming temat w Pytania zaawansowanych
Ja z takimi ruchomymi obiektami, też miałem listę. A u graczy to już jako obiekty. Tylko, że u mnie to były stworki które się od czasu do czasu pojawiały. Przy pojawianiu wysyłałem informację, gdzie się pojawia i ID tego stworka na serwerze. Jakoś tak GML var iid=nastepne_id_w_kolei var global.npc[iid]=instance_create(random(1024), random(1024, obj_npc); czyszcze_bufor(); wysłanie_short(1); wysłanie_int(iid); wysłanie_int(global.npc[iid].x); wysłanie_int(global.npc[iid].y); Gdzieś czytałem, że powinno się wszystko obliczać itd. na serwerze, ale ja zadawane obrażenia, po prostu wysyłałem do serwera (przypominam, że się ponoć nie powinno tak robić, zależy w sumie). Wysyłałem wtedy ID npc który został uderzony, a przy odbieraniu, wysyłałem informację do reszty graczy z serwera, że ten npc został uderzony, więc u nich ten NPC z tym ID straci to HP. A właśnie. Ja na serwerze lubiłem robić obiekty, bo z serwera miałem podgląd na to, co się dzieje w grze. Zamiast tego możesz zrobić tablicę dwuwymiarową oczywiście. -
To ja tylko dodam od siebie, że z średnikami wszystko ładniej wygląda. A tak to bym sprawdził czy zadziała jak tak zrobisz GML image_index=0; image_speed=cd1anim; atakuje=1; strzela=1; kol=instance_create(x,y,nic); with(kol) { sprite_index=k1; image_speed=image_speed; image_xscale=image_xscale; atak=a1+a1*da; sz=0; stun=0; o=0; typ=cd1typ; pan=id; } Przyznam się, że nie pamiętam jak zadziała takie image_speed=image_speed. Czy przypiszę wartość gracza, czy kol. Ewentualnie self dodaj ;x Bo wychodzi na to, że we wcześniejszych przypisaniach, wszystko działa.
-
Gry multiplayer - struktury wysyłania danych
Sutikku odpowiedział(a) na MaxGaming temat w Pytania zaawansowanych
Robiłem parę gier multiplayer, żeby z kolegami pograć (ale na 39dll). Miałem to zorganizowane tak. Po wejściu na serwer dostajemy od serwera ID, a pod naszym ID w tablicy globalnej player, był socket, czy jak się to tam zwało. Informacje wysyłałem tak GML czyszczę_bufer(); short_wysłanie(0); int_wysłanie(moje_id); int_wysłanie(x); int_wysłanie(y); //short i int, w sensie, że różne te wielkości. Mam nadzieję, że wiesz co mam na myśli, bo nie wiem jak to powiedzieć</span> A odbierałem w ten sposób GML switch( odebranie(short) ) { case 0: var i_id=odebranie(int); global.player[i_id].x=odebranie(int); global.player[i_id].y=odebranie[int); break; } Zrobiłem sobie kiedyś skrypt który wyglądał tak: wysłanie(naglowek_wiadomosci, wiad1, wiad2, wiad3); A ogólnie to sprawdzałem ilość podanych argumentów i wtedy dopiero odbierałem je, bo były problemy. Mi tam taki sposób wysyłania i odbierania informacji bardzo pasował ;3 -
gracz jest obiektem czy przypisujesz sobie gracz = obj_gracz; ?
-
Jak dla mnie lepszy. Przyzwyczaiłem się, że Twój avatar ma dwie klatki, to jakoś dam radę. Bo Chella to ni ciula spamiętać nie mogę ;v
-
Chyba musisz zmienić kod rysowania surface GML draw_surface_ext(sLightMap,0,0,view_xview, view_yview,0,c_white,1); Ej, ale ja mogę walić jakimiś głupotami czasem.
-
Chodzi o to o ile się nie mylę GML sLightMap = surface_create(room_width / downsample, room_height / downsample) Zmień to na GML sLightMap = surface_create(view_wview, view_hview)
-
Weź spróbuj wkleić ten kod ale w with(other) {...} w obiekcie z którym kolidujesz.
-
Samo instance_create(), nie może sprawiać problemów. A gdzie masz ten kod wpisany? Dodatkowo używaj alarmu, żeby nie spamiło tworzeniem instancji. Ja to zawsze robię w ten sposób. Robię specjalny alarm do wystrzału, a następnie GML if(alarm[0] == -1) { //kod na strzelanie alarm[0]=60; // Ustawia licznik i dopóki nie minie tych 60 stepów, to nie można ponownie wystrzelić }
-
Można korzystać z tylu warunków? A weź spróbuj to skrócić. Tak, że jeden if, pod drugim ifem. Wiem, że miałem coś podobnego i chyba właśnie źle coś w ifach dałem.
-
Ale osoby najbardziej aktywne mają te 15+. W okolicach 20 tak w sumie. Przynajmniej z moich obserwacji tak wynika.
-
Ale to nie zmienia faktu, że miał rację, nie?
-
A przepraszam, właśnie się dowiedziałem, że nie potrafię czytać ze zrozumieniem. No więc pomogę. GML var len = Odległość od środka działka, do miejsca w którym wychodzi kula var dir=direction, czyli obrót twojego działka instance_create(x+lengthdir_x(len, dir), y+lengthdir_y(len,dir), object); Te zmienne len i dir, dałem dla większego zrozumienia. Zamiast zmiennych od razu wklep wartość.
-
Lengthdir_x i Lengthdir_y. Dodatkowo musisz ustawić origin sprite w środku. Jak nie rozumiesz jak tego użyć, napisz, a ja postaram się pomóc. EDIT: W sumie, jak lufa nie ma pełnego obrotu wystrzału, to nawet nie potrzebujesz tego lengthdir(). Po prostu jak masz instance_create(x, y, obj), to do x i y dodajesz jakieś zmienne, zależne od aktualnego obrotu. Chociaż lengthdiry, byłyby krótsze w użyciu o ile się nie mylę.
-
To tylko powiem, że najmniej fajnie, wyszedł dach tej chałupki. Ale no, generalnie wysuwiste ;d Robisz to do jakiejś swojej produkcji, czy tak o, cosik rysujesz?