biały_wilk Opublikowano 22 Sierpnia 2006 Udostępnij Opublikowano 22 Sierpnia 2006 Witam wszystkich :bye1: Mój problem jest następujący : tworzę grę multiplayer ale nie wiem jak zrobić, aby ekran podążał za każdym z graczy osobno ( np. na moim komputerze miałbym kierowaną przez siebię postać w centrum ekranu a inny gracz w centrum widziałby swoją postać ). Przez vievs'y się tego na pewno nie da zrobić ( poprawka : Bigshark umie więc musi się dać ) - wszyscy gracze mają w centrum ekranu tylko jedną postać a nie swoje. Bardzo proszę o pomoc, gdyż bez tej wiedzy nie mam jak dalej tworzyć gry ( trzeba najpierw znaleźć rozwiązanie a dopiero potem robić dalej ). Pozdrawiam Ps. Przeszukałem forum zarówno te jak i innne - i nir znalazłem niczego co by mi pomogło :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bigshark Opublikowano 22 Sierpnia 2006 Udostępnij Opublikowano 22 Sierpnia 2006 KŁOJTE " Przez vievs'y się tego na pewno nie da zrobić" Nie bądz taki cfany, ja np. umiem to zrobić poprzez Viewsy. Mam conajmniej kilka takich przykłądów w uploaderze. Pamietajcie że zanim zakładacie temat z prośbą o pomoc najpierw przeszukajcie mój uploader Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
biały_wilk Opublikowano 23 Sierpnia 2006 Autor Udostępnij Opublikowano 23 Sierpnia 2006 "Ja ci mogę pokazać drzwi, sam musisz przez nie przejść" - tak, Bigshark nakierowałeś mnie na swój uploader ale jest mały problem - albo ja oślepłem albo tam rzeczywiście nie ma tam pliku który pomógłby rozwiązać mi mój problem. Są co prawda przykłady w kórych zastosowano śledzenie obiektu ale tylko jednego więc nie wiem jak może mi to pomóc w moim projekcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Choosen Opublikowano 23 Sierpnia 2006 Udostępnij Opublikowano 23 Sierpnia 2006 Zasada jest prosta.. Tworząc gre multiplayer musisz zawsze rozdzielić kod odpowiedzialny za hosta i klienta/klientów. Dzięki temu będziesz mógł wydzielic kod odpowiedzialny za tworzenie lub wyszukiwanie dostepnych gier. Kiedy już to zrobisz pozostaje Ci ustawić "sledzenie" obiektu gracza. Jeśli umiesz to zrobić z jednym obiektem wystarczy tylko dodać prosty if. if host { sledz_obj_gracz_nr1(); } else {sledz_obj_gracz_nr2(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 chosen to działa w przypadku dwoch graczy ale przy wiekszej ilosci juz nie, wtedy trzeba uzyc tak zwanych "lalek". Twoja postac, obojetnie czy to klient czy host, jest zawsze tym samym obiektem a przeciwnicy sa generowanie na zasadzietakich marionetek, po prostu kazdy z graczy wysyla swoje polozenie do servera a server przesyla to polozenie do kazdego gracza, ty odczytujac polozenie kazdego gracza z osobna ustalasz polozenie "lalek" ktore udają Twoich przeciwnikow. Takze w skrocie, masz dwa obiekty, ten ktorym Ty grasz i ten ktory udaje przeciwnikow (dummy). Obiekt gracza zawsze jest w centrum a ilosc dummy i ich polozenia okreslasz na podstawie tego co Ci przesyla server lub gracze(jesli Ty jestes serverem). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Używanie dummy to pokopana sprawa, lepiej używać 1 obiektu i tylko rozróżniać który gracz kontroluje dany obiekt. I nie ma z tym większych problemów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 To wyjasnij jak gra ma rozpoznawać tych graczy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Choosen Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Quetzacotl: To czy uzywasz lalek czy oddzielych obiektow nie ma absolutnie zadnego znaczenia. W obydwu przypadkach musze okreslic którym jestem graczem zeby host wiedzial którą lalke przesunąc. Kiedy wiem juz którym jestem graczem mogę juz sobie wybierac czy wyslac polozenie dla 6'stej lalki czy tez stworzyc na poczatku gry obiekt gracz6 i wysylac jego polozenie.. pablo1517: Ja identyfikowałem graczy na podstawie aktualnie obecnych juz w grze. Stworzylem tablicę w ktorej trzymalem id gracy. Każdy nowy dołączający sprawdzał ile osob juz gra i dzieki temu wiedział ktore pole w tablicy do niego nalezy. Wysylal swoje id do hosta ktory wpisywal go do odpowiedniej tablcy.. ot cala filozofia ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Choosen jesli zrobisz tylko jeden obiekt, to rozumiem, ze innych graczy bedzie prezentowal ten sam rodzaj obiektu ktorym Ty grasz i oczywiscie mozna to zrobic uzywajac id. Tylko, ze wtedy ty wciskajac jakis klawisz bedziesz ruszal nie tylko swoim obiektem ale i wszystkimi innymi na tym ekranie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Choosen Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Ale możliwości jest całe mnustwo... 1) Mogę stworzyc oddzielne obiekty dla każdego gracza 2) Mogę stworzyć zmienną nr_gracza którą bede sprawdzał przed wykonaniem ruchu 3) Mogę odwoływać się do id obiektu ... P.S. dawałem komus kod moich literaków ? Ma to jeszcze ktos ? Trudno o lepszy przykład do tego wątku... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Mozna sie tak bawic, ale prawda jest taka, ze dummies to najrozsadniejsze rozwianie i jest w tej chwili uzywane w kazdym mmorpgu. Po prostu duzo mniej pamieci to zżera niz jakbys mial miec 20 obiektów i kazdy z tych obiektow mase zdarzen ktore i tak nigdy nie zachodzą bo zachodzą jedynie na obiekcie ktorym ty sterujesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 24 Sierpnia 2006 Filar Społeczności Udostępnij Opublikowano 24 Sierpnia 2006 Quetzacotl: Mała podpowiedź, tłumaczysz Choosenowi coś co zapewne wie, a wątek raczej dotyczy prostych i łatwych do zrozumienia technik w grach multiplayer, gdzie graczy jest maksimum 4 czy 8, a nie setki jak w mmorpg'ach, więc statyczne tworzenie paru obiektów będzie miało mały wpływ na wydajność (choć w gm, to może być jednak inaczej) a i dla typowego gm nooba bardziej logiczne. ;) Poza tym co szkodzi zrobić jeden obiekt z systemem generatora w create, który tworzy z tego obiektu albo gracza albo "lalkę" zależnie od sytuacji? W sumie najlepsze by było dziedziczenie na zasadzie - obiekt online -> gracz / laleczka, czyli 3 obiekty, lub obiekt laleczka -> gracz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 24 Sierpnia 2006 Udostępnij Opublikowano 24 Sierpnia 2006 Ranmus chyba lepiej od razu sie uczyc technik "poprawnych" niz pozniej miec problemy z przestawieniem sie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
biały_wilk Opublikowano 24 Sierpnia 2006 Autor Udostępnij Opublikowano 24 Sierpnia 2006 Nazbierało się trochę tych odpowiedzi.Wielkie dzięki za tak liczny odzew :) Ranmus : "dla typowego gm nooba" - temu nie zaprzeczę, jeżeli chodzi o multiplayer to jestem całkowitym nowicjuszem dopiero zaczynającym się tym zajmować.Tworzyłem najpierw w singlu a potem postanowiłem na przerzucenie się na multi ( na singlu nawet fajne gierki zaczęły powstawać, choć tak naprawdę żadna z nich nie została nigdy opublikowana szerokiej publiczności - wszystkie służyły mi jako "chomikowanie" doświadczenia i wykorzystania go w jednym projekcie który miał być już porządną grą.Teraz te doświadczenia będą wykorzystywane w multi choć sporo mi ich jeszcze brakuje ). Stwierdziłem też, iż nie ma na razie sensu porywać się z motyką na Słońce - na dzień obecny nie zrobię multi na kilkanaście/dziesiąt osób a nie będę wymagał, by ktoś inny zrobił kod do takiej gry ( z tego co słyszałem to trzeba dużo roboty w to włożyć - ale wszyscy zaawansowani pewnie od dawna o tym wiedzą więc to nie nowość ). Prostego multi uczę się z przykładu Tymona ( nowicjuszom bardzo się przydaje na początek ), ogólnie cały projekt gry bazuje na tym kodzie.Jednak wciąż nie umiem zrobić tego centrowania ekranu na każdym z graczy - nawet w multi tylko na 2 osoby ( jakie to noob-owskie ).Prosiłbym każdego kto ma czas i chęci aby zajrzał do oryginalnego przykładu Tymona ma multiplayer ( przykład Tymona ) i powiedział mi gdzie trzeba wstawić odpowiedni kod. Z góry dziękuję ( i za ten odzew i za kod jeżeli ktoś takowy postanowi dorobić do tego przykładu ) :) Ps. Aha jeszcze jedno - w tym przykładzie nie było potrzeby robienia centrowania ekranu, ale w moim projekcie bazującym na kodzie tego przykładu jest mapka takich rozmiarów, że bez tego centrowania ani rusz ( został praktycznie sam kod na multi, reszta pozmieniana ). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
biały_wilk Opublikowano 27 Sierpnia 2006 Autor Udostępnij Opublikowano 27 Sierpnia 2006 Temat można zamknąć, znalazłem już sposób na rozwiązanie mojego problemu :) . Wielkie dzięki dla tego ( nie pamiętam nicka ) kto podał w jakimś temacie o mmorpg 2 linki do przykładów z zagranicznego forum - w jednym z pliczków znalazła się też strzelanka z lotu ptaka na multi i to z niej podpatrzyłem sposób w jaki zrobione jest centrowanie ekranu na każdym z graczy osobno.Podziękowania też dla osób które starały mi się pomóc - ale nie pomogło mi to tylko dlatego, że jeżeli chodzi o multi to jestem nowicjuszem a nie dlatego, że wskazówki były błędne :) . Jak znajdę linka do tego posta z przykładami to tu wkleję, będzie bardzo przydatny dla osób zaczynających z multi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę