Klient gry

Diagram sieci komputerowej wskazujący, co dzieje się z serwerem i klientami po przesłaniu przez klienta informacji do serwera

Klient gry to klient sieciowy , który łączy indywidualnego użytkownika z głównym serwerem gry , używany głównie w grach wideo dla wielu graczy . Zbiera dane, takie jak wynik, status gracza, pozycja i ruch od pojedynczego gracza i wysyła je do serwera gry, co pozwala serwerowi zebrać dane każdej osoby i pokazać każdemu graczowi w grze, czy jest to gra na arenie na mniejszym skalę lub ogromną grę z tysiącami graczy na tej samej mapie . Mimo że serwer gry wyświetla informacje każdego gracza dla każdego gracza w grze, gracze nadal mają swoją własną unikalną perspektywę na podstawie informacji zebranych przez klienta gry, tak więc perspektywa każdego gracza jest inna, mimo że świat dla każdego gracza Jest taki sam. Klient gry umożliwia również wymianę informacji między użytkownikami. Przykładem może być wymiana przedmiotów w wielu grach MMORPG gry, w których gracz wymienia przedmiot, którego nie chce, na przedmiot, który chce, klienci gry łączą się ze sobą i umożliwiają wymianę informacji, w tym wymianę przedmiotów. Ponieważ wiele gier wymaga scentralizowanej przestrzeni, w której gracze mogliby się gromadzić, oraz sposobu wymiany informacji między użytkownikami, wiele klientów gier to hybryda struktur aplikacji typu klient-serwer i peer-to-peer .

Historia

World Wide Web narodził się na NeXTCube z procesorem 256 MHz, 2 GB dysku i monitorem w skali szarości z systemem operacyjnym NeXTSTEP. Sir Tim Berners-Lee umieścił pierwszą stronę internetową w Internecie 6 sierpnia 1991 roku, pracując dla CERN w Genewie w Szwajcarii. Gry online zaczęły się na początku lat siedemdziesiątych. W tamtym czasie tablice ogłoszeń typu dial-up umożliwiały graczom granie w gry przez Internet. W latach 90. nowe technologie umożliwiły pojawienie się witryn z grami w całym Internecie. System klient-serwer zapewnił grom online sposób funkcjonowania na dużą skalę.

Funkcje

Klient gry ma 4 podstawowe funkcje: odbierać dane wejściowe, analizować dane, przekazywać informacje zwrotne, dostosowywać system

Otrzymuje dane wejściowe

Klient gry otrzymuje dane wejściowe od pojedynczego użytkownika. Na przykład w grze FPS gracz wykonuje wiele różnych czynności, takich jak poruszanie się, strzelanie i komunikowanie się. Każdy z nich będzie wymagał od gracza sterowania urządzeniami wejściowymi . Po otrzymaniu tych danych klient gry odeśle je z powrotem na serwer.

Analizuje dane

Klient gry dekoduje i wyświetla informacje, które składają się na świat gry, w tym obiekty przechowywane w komputerze i wyniki działań graczy, a następnie przekłada te informacje na interfejs użytkownika i urządzenia wyjściowe.

Daje informacje zwrotne

Serwer przetwarza informacje i odsyła je z powrotem do klienta. Klient wyświetli przetworzone informacje graczowi zgodnie z jego punktem widzenia, dzięki czemu każdy gracz będzie miał inną perspektywę ekranu ze względu na swoich prywatnych klientów.

Dostosuj system

Klient wykryje również wszelkie zmiany wprowadzone według graczy podczas sesji gry, w tym układy i ustawienia. Ponieważ gra toczy się w czasie rzeczywistym, a gracze nieustannie wysyłają akcje, klient stale przetwarza informacje i odpowiednio dostosowuje system.

Przykład zastosowania

Oto przykład działania klienta gry przy użyciu gry League of Legends . W tym przykładzie gracz o imieniu 7Turtle7 używa postaci Kha'Zix do zaatakowania neutralnej postaci znanej jako „Red Brambleback”. Wiele rzeczy dzieje się z perspektywy klienta.

1. Klient pobiera dane przechowywane w archiwach komputera. Obejmuje to statystyki gracza, obiekty na mapie, moby, dzieła sztuki, zachowania postaci i inne dane statyczne do tworzenia otoczenia gracza.

2. 7Turtle7 próbuje zaatakować Czerwonego Krzewogrzbieta. Klient wysyła dane 7Turtle7 i Red Brambleback do statystyk takie jak pozycja, zdrowie, mana, obrażenia, obrona i wiele innych danych do serwera i pozwala serwerowi obliczyć nowy stan świata po tym, jak 7Turtle7 uderzy w Czerwonego Krzewogrzbieta. 3. Serwer przetwarza dane i przesyła je z powrotem do wszystkich klientów innych graczy, informując, co właśnie zrobił 7Turtle7 i jak klient powinien wyrazić na ten temat opinię. Gdy klient 7Turtle7 otrzyma te informacje, tworzy dane wyjściowe i odsyła je z powrotem do 7Turtle7. W tym przykładzie widzimy, że pojawiła się czerwona liczba wskazująca na obrażenia wyrządzone Czerwonemu Krzewogrzbietowi, a na panelu umiejętności pojawiła się liczba 3, wskazująca czas odnowienia umiejętności 7Turtle7, której właśnie użył. Zachowania postaci, w tym przypadku Czerwonego Krzewogrzbieta, również zmieniają się w wyniku ataku. Teraz staje się wrogim tworem, który zaatakuje 7Turtle7 zgodnie z programowaniem w grze, ponieważ 7Turtle7 jako pierwszy zaatakował Czerwonego Krzewogrzbieta. Zmieniają się również efekty graficzne, takie jak animacja ataku, pasek zdrowia i pasek many.

4. Inni klienci gry również są świadomi ataku przeprowadzonego przez 7Turtle7, ale w zależności od ich perspektywy, ich klienci decydują, czy ta informacja jest im wyświetlana, czy nie. Na przykład klient gracza z drużyny przeciwnej jest świadomy ataku, ale nie wyświetliłby zmian temu graczowi, ponieważ gra ustawia go tak, że trzeba odkryć 7Turtle7 wykonującego taki ruch, tylko wtedy zostanie to wyświetlone na ich wyjściach.

5. Mimo że klient wysyła i odbiera dane z indywidualnej perspektywy, niektóre dane są udostępniane wszystkim w grze lub nie są udostępniane wcale. Weźmy na przykład prawy górny róg perspektywy 7Turtle7, gdzie znajduje się wskaźnik czasu, który jest taki sam dla wszystkich w grze. Istnieje również FPS i Ping , który jest dostępny wyłącznie dla 7Turtle7 i nie jest udostępniany przez klienta.

Stosowanie

Adopcja technologii

Dla wielu twórców gier przyjęcie technologii jest kluczem do ich inżynierii. Standaryzowane platformy, takie jak HTML 5 i JavaScript, umożliwiają integrację z mediami i głębszy rozwój. Klient gry zapewnia taką możliwość.

Doświadczenie użytkownika

Równoważenie gry to duży problem dla twórców. Duża liczba użytkowników na swoim kliencie podłączonym do serwera może powodować wysokie zużycie zasobów, ale jednocześnie użytkownicy muszą pozostać w kontakcie z grą. Klienci gry będą dostarczać tego typu informacje do scentralizowanego serwera.

Współpraca pracowników

Wraz z rozwojem gry będą dodawane nowe funkcje. Zamiast małego, spójnego zespołu, który nie wymaga dużej współpracy na początku gry, rozwinięta gra zwykle składa się z kilku działów współpracujących ze sobą w celu znalezienia rozwiązania, a to wymaga harmonijnej współpracy wszystkich działów.

Aktualizacje

Czasami zespół twórców gry tworzy nową zawartość lub poprawia wcześniejsze błędy, co oznacza, że ​​musi pozwolić klientom każdego gracza na synchronizację z serwerem. Jednym ze sposobów, w jaki twórca gry może naprawić błędy lub dodać nową zawartość do gry, są łatki. Platforma cyfrowej dystrybucji powiadomi użytkownika, że ​​dostępna jest aktualizacja, a klient automatycznie zastosuje te łatki aktualizacyjne dla użytkowników, aby zapewnić, że każdy użytkownik ma taką samą perspektywę zawartości gry po wprowadzeniu zmian. Niektóre przykłady platform dystrybucji cyfrowej to steam , origin i battle.net , które zapewniają te same usługi, jeśli chodzi o klientów gier.

Zobacz też