
Quetzacotl
Użytkownicy-
Postów
255 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Quetzacotl
-
Ty chyba nie wiesz o czym mowa
-
gdzie wy macie tego screena? oO
-
Ranmus robiłem gre w stylu globulosa, ale z kolizjami GMa mozna sobie darowac. Ciagle cos sie blokowalo, zacinalo. Nawet napisalem wlasny skrypt odpowiadajacy za kolizje i odbijanie sie we wlasciwe strony, wykorzystujac przy tym rozne sinusy,cosinusy itd. Ciagle byly problemy w tym, ze cos sie gdzies blokuje.
-
no mozna na obiektach, ale wtedy tekst skladajacy sie z 200 znakow oznacza 200 obiektow i komp nam wybuchnie :D
-
Jeśli jest max dwoch gracyz to nie uzywasz zadnych player find, po prostu w miejscu gdzie bedzie mplay_create_session dasz, global.player=1; a tam gdzie sie dolacza czyli mplay_join_session bedzie global.player=2;, jesli chcialbys wiecej playerow to musialbys zrobic wlasny system identyfikacji kazdego nowego playera. Tzn taka petla ktora by wyszukiwala najmniejszy wolny id i nadawala go graczowi. I pamietaj, ze na mapie gracza ktory dolaczal nie ma byc zadnych obiektow ustawionych na poczatku, bo one beda sie tworzyc dopiero jak powstana na serverze, zgodnie z funkcja. Aha jeszcze jest taka sprawa, ze klient musi ciagle wysylac polozenie swojej postaci do servera a server ja odczytywac. Co do image_single, ja mam GM6.1 i działa image_single jak i zarowno image_index.
-
BigShark patrzac na Twoje poprzednie projekty 3D typu Cairo to jestem wrecz pewien, ze nie bedzie ;d
-
tez nie mam pojecia jak to zrobic
-
to nie jest problem, pytanie czy gra jest tego warta, a jakos watpie
-
pewnie bym umiał ale srednio widze pilke nozna w fpp
-
gdybys mial slownik z wyrazami ktore sa dostepne w literakach to mysle ze to jest spokojnie mozliwe do zrobienia, z tym, ze musialbys sam aktualizowac plansze w tym programie tak aby odpowiadala tej z gry.
-
Little Fish zbdury gadasz, wlasnie w tej chwili wchodzi moda na robienie gier opartych na javie, czemu? bo chociaz, ze jest wolniejsza od c++ to jest duzo bardziej funkcjonalniejsza i wygodniejsza, a jako, ze komputery ciagle sie rozwijaja i procesory sa coraz szybsze to pisanie w jezyku wolniejszym nie bedzie robilo roznicy. wiesz co to jest proownanie? sprobuj zrobic gre od podstaw a gre na gotowym silniku. Zreszta zrobienie gry/moda na silniku Half Life 1 trudne nie jest, oczywiscie zalezy to od tego jaka chcesz gre zrobic.
-
jesli masz przeszkadzajki to zrob tak, aby if host=1, czyli server, wysylal informacje o polozeniu kazdej z nich. Problemem jest to, ze wszystkie one sie tworza praktycznie jednoczesnie na poczatku gry, jesli ich ilosc jest stała to wteyd nie ma problemu bo i host i klient mają takie same id dla kazdego obiektu, ale jak sadze w Twojej grze sa przeszkadzajki ktore czyms strzelają, a to są dodatkowe obiekty ktore rowniez musza byc brane pod uwage. Wtedy jest b. proawdopodobne, ze id sie zgadzac nie beda. Jak to zrobic: kazdemu rodzajowi przeszkadzajki dajesz w event create wyslanie message do klienta. Message ten musi zawierac 5 wartosci: x, y, id, object_index i image_single, Jako, ze normalnie jedna wiadomoscia mozesz wyslac jedna wartosc to proponowalbym uzycia kompresji o ktorej juz moiwlem, ale jesli nie chcesz to musisz wyslac 5 wiadomosci pod rzad. Nadajesz tym wiadomosciom dajmy na to id 1, ktore bedzie oznaczalo, iz powstal nowy object. Klient musi miec obj ktory ma w stepie ustawione sprawdzanie nowych wiadomosci i jesli wiadomosc ma id=1 to znaczy ze powstal obj. Wtedy taki klient zaleznie od tego czy wysylasz 5 wiadomosci pod rzad czy skompresowales odbiera wszystkie te 5 wartosci, nastepnie idd=instance_create(x z wiadomosci,y z wiadomosci,object_index ktory pobrales z wiaodmosci), potem idd.image_single=image_single ten ktory pobrales; idd.idd=id ktory pobrales; I w tej chwili masz stworzony object w tym miejscu w ktorym stworzyl sie na serverze, masz rowniez id tego objectu. Trzeba zaznaczyc, ze akcja w CREATE z wysylaniem wiadomosci zachodzi tylko wtedy if host=1 Skoro mamy juz stworozny obiekt to teraz trzeba ciagle odczytywac jego polozenie. Takze dla tego obiektu w akcji STEP if host=1 najpierw wysyla wiadomosc z id obiektu (dajmy na to, ze ten message bedzie mial id=2) do klienta a nastepnie wysyla wiadomosci z 3 wartosciami: x,y i image_single. teraz akacja dla obiektu ktory bedzie u klienta if host=0 odbiera pierwsza wiadomosc, sprawdza czy id wiadomosci=2 jesli tak to jesli mplay_message_value=idd oznacza, ze jest to wiadomosc od naszego obiektu i wtedy odbieramy dalsze wiadomosci. Wiadomosci ktore odbierzemy czyli x, y i image_single oczywiscie od razu aktualizujemy i obiekt ma dzieki temu nowe polozenie i aktualny sprite. I tak w kolko obiekt u hosta bedzie wysylal swoje dane a obiekt u klienta ciagle odczytywal. W ten sposob kazdy zrobisz z kazdym obiektem. CZyli: w akcji CREATE if host=1 wysylasz 5 wartosci: x,y, id, image_single i object_index. w akcji STEP if host=1 wysylasz id a nastepnie 3 wartosci: x,y, image_single if host=0 odczytujesz pierwsza wiadomosc, sprawdzasz id wiadomosci, jesli id=2 to odczytujesz value i sprawdzasz czy pasuje do twojego idd, jesli tak to odczytujesz reszte wartosci i apdejtujesz. : D
-
Jak juz jest gotowy silnik typu np Source to nie jest problemem zrobic gre. Bo praktycznie caly fundament masz gotowy, zmieniasz tylko kod rozgrywki na swoje potrzeby, mapy robisz w VHE a wszelkie potrzebne moduly typu Multiplayer masz gotowe i tylko je dodajesz.
-
a od kiedy wszystkie pliki map sa w bsp, bsp to rozszerzenie dotyczace silnika Quake 2, Half Life i Source. Do ich edycji sluzy Valve Hammer Editor, GMem tego nie otworzysz, choc teoretycznie to mozliwe.
-
do tego uzywa sie tak zwanych dummy, generalnie w mmorpgach. Jest obiekt ktory ma tak jakby symulowac innego gracza, gdy doalcza nowy grasz to ten obiekt zostaje tworzony i w stepie sobie odczytuje pozycje non stop. Dummy ma przypisane id gracza lub jego name i odbiera wiadomosci tylko od tego konkretnego gracza. Nie wiem jak ma wygladac Twoja gra, jezeli ma byc rozna ilsoc graczy, np od 2 do 10. TO radze uzywac tego sposobu, jesli tylko dwoch to lepiej zrob to tak jak jest w przykladzie na gamemaker.nl
-
na win98 nie ma tego problemu
-
ja bym to zrobił inaczej w stepie dajesz sprawdzanie czy sa wiadomosci jak sa, to sprawdzasz jakie mają id (dzieki id wiesz jakie informacje maja dla ciebie), jesli np id=2 co dajmy na to bedzie oznaczalo u ciebie przyjscie wiadomosci z chata to wtedy robisz akcje dodania tej wiadomosci do swojego okna chata
-
to moze najpierw przeczytaj podstawowe komendy dotyczace multi a potem sie pytaj jak je wykorzystac
-
Jesli gra dzieje sie ciagle w jednym roomie, a zakladam, ze tak bo to mario. To server (czyli ten kto zaklada gre) musi non stop zapisywac polozenie wszystkich obiektow ktore sie poruszaja do mplay_data lub wysylac message do drugiego playera z tymi danymi. Bedziesz tutaj potrzebowal jakiejs funckji archiwizujacej dane aby w jednej wiadomosci zmiescic wszystko: Pakuje dane, np data=pack(1)+pack(2)+pack(6)+pack(253) i dzieki temu pod zmienna data bedziesz mial 4 wartosci var byteA,byteB; byteA = (argument0 div 255)+1; byteB = (argument0 mod 255)+1; return chr(byteA) + chr(byteB); Odczytujesz to w ten sposob: dat=unpack(data,1) tutaj dat=1 dat=unpack(data,4) tutaj dat=253 Po prostu pierwszy argument to zmienna w ktorej sa zarchiwizowane dana, a druga to numer wartosci ktora chcesz wyciagnac, numery sa przyznawane w tej kolejnosci w ktorej pakowales dane. var byteA,byteB; byteA = ord(string_char_at(argument0,argument1*2-1))-1; byteB = ord(string_char_at(argument0,argument1*2))-1; return (byteA*255)+byteB Oczywiscie zakldamy ze skrypt do pakowana ma nazwa pack, a do rozpakowywania ma nazwe unpack.
-
nie zrobisz rtsa nie znajac podstaw, zreszta znajac podstawy tez rtsa nie zrobisz
-
wszystko sie da, tylko trzeba sie nauczyc. Przeczytaj HELP'a a jesli nie znasz ang no to... nic nie poradzimy, bo nie mozna do konca zycia Ci dyktowac komend.
-
Jak stworzyć grę typu MMORPG? Naucz się najpierw robić platformera.
-
Jest tam pare efektow, wydaje mi sie nie jego autorstwa. Po za tym sterowanie jest wg mnie strasznie uciazliwe, jak wyrzucilem bron na sciane to bylem bezbronny ;d wpisywanie kodu zrobione w zbyt banalny sposob.
-
PROPAGANJA vol.1 - Duuuży projekt skończony!
Quetzacotl odpowiedział(a) na propaganja temat w Propaganjas Games
ja bym sie jednak upieral przy tym, ze dzieki dobrej znajomosci kodu praca jest duzo latwiejsza i co najwazniejsze szybsza. -
PROPAGANJA vol.1 - Duuuży projekt skończony!
Quetzacotl odpowiedział(a) na propaganja temat w Propaganjas Games
z tego co czytałem to da sie wyczyscic pamiec tylko z soundow