NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
MooAPI Serwer - jak się za to zabrać?
Autor Wiadomość
Aleks 
Moderator
Wilczek


Skype:
Pomógł: 78 razy
Posty: 636

28588 Prestiż
Wysłany: 15-05-2008, 20:29   MooAPI Serwer - jak się za to zabrać?

Tworzenie serwera do gry niekoniecznie kończy się na funkcji host w mooclick
Pewnie borykasz się ze synchronizacją, wydajnością serwera a także tym jak się za to zabrać

Zacznę od opisania przydatnych funkcji przy tworzeniu serwera

Moogame: is Chanel master - Warunek sprawdza czy klient jest serwerem (można zrobić negacje zdarzenia)
Wartość GetChannelMasterId( "MooGame" ) podaje ID głównego gracza
W mooclick jest podobnie

Serwer do gry można zrobić na 2 sposoby
Przykładowo chcę zrobić grę multiplayer ponga, którą nazwie duel pong jak można się domyślić gra będzie tylko na 2 osoby w takim razie nie potrzebuję robić oddzielnej aplikacji serwer wystarczy, że jeden klient będzie serwerem a drugi zaś będzie do niego podłączony.

Nie mogę raz puścić piłkę w grze żeby się odbijała beztrosko ze względu na ping i paletki graczy, dlatego główny gracz będzie pilnował synchronizacji po każdej zmianie kierunku piłki, kiedy odbija się od ścian lub paletki


http://images23.fotosik.pl/213/50227d1a0778432a.png

Kiedy akcja się spełni wysyła główny gracz przeciwnikowi współrzędne piłki XY oraz kierunek
Natomiast żeby uniknąć widocznego lagu u klienta, kiedy piłka próbuje się odbić od ściany zatrzymujemy ją aż otrzyma pakiet od serwera albo można oprzeć synchronizacje na dead reckoning. To tyle, jeśli chodzi o tworzenie serwera, gdy jednen z klientów jest serwerem.

Drugi sposób tworzenia serwera jest bardziej złożony i często od złej strony zabierają się za to twórcy gier. Oczywiste jest to, że robienie serwera gdzie wizualnie sprawdza kolizje z jakimś obiektem czy wykonuje inną podobną funkcje jest zabójcze dla zasobów komputera serwer ma głównie liczyć dbać o synchronizacje niepotrzebne jest mu wyświetlanie grafiki. Robienie w zdarzeniach symulacji zwykłych zjawisk, które mogą zachodzić w ramce też jest bez sensu. Można ułatwić sobie tworzenie serwera poprzez wyświetlenie w ramce kopi rozgrywki odznaczając wszystkim obiektom w properties opcje visible at start ramka wtedy nie będzie zabierała żadnych zasobów z powodu grafiki natomiast ty masz pełną kontrolę nad tym, co się dzieje w grze obiekty są niewidoczne, ale możesz z nich korzystać normalnie sprawdzając w zdarzeniach współrzędne, kolizje itp.

Jeśli chcesz zrobić limit graczy, którzy mogą przebywać jednocześnie na serwerze to tu masz rozwiązanie


Kod:
+ Moogame: on user is here
+ GetUserCount("Moogame") > 2
Disconnect
Set alterable string to "serwer jest pełny"
 
     
mrPG 
Sierżant


Pomógł: 2 razy
Posty: 145

4382 Prestiż
Wysłany: 07-10-2008, 18:52   

bardzo dobry art / moze wreszcie ogarne jakies rozszerzenie sieciowe ;]
 
     
Fly 
Starszy kapral


Posty: 53

2348 Prestiż
Wysłany: 07-01-2009, 21:03   

no ale kto jest channel master?
 
     
Aleks 
Moderator
Wilczek


Skype:
Pomógł: 78 razy
Posty: 636

28588 Prestiż
Wysłany: 07-01-2009, 21:14   

channel master - osoba zakładająca serwer, czyli ten, kto prowadzi rozgrywkę
_________________
( Przystan Ocalenie | Centaurus | Skrzydlaty Pies | WWF | Nakarm Psiaka )
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group