Q&A:(T) Jak budou fungovat instance pro kamarády, aby se zajistilo, že mohou spolu hrát?

Z Star Citizen CZ Wiki
Přejít na: navigace, hledání
Jak budou fungovat instance pro kamarády, aby se zajistilo, že mohou spolu hrát?
Ten for the Chairman, epizoda 077 ~ Přehled všech otázek naleznete zde.


Pořád pracujeme na tom, aby se do instance vešlo více lidí. Aktuálně, s verzí 2.2, bude maximum hráčů na jednu herní serverovou instanci 24. Jestli se nemýlím, tak takových instancí máme osm na 32jádrovém serveru, kde každá instance zabírá 4 jádra. Chtěli bychom ale, aby jeden server byl jen pro jednu instaci, měli bychom pak 8 × 24 hráčů na jednu instanci, tedy necelé dvě stovky. To je hodnota bez žádné další optimalizace.

Na straně klienta samozřejmě toto není možné, protože se tam musí věci renderovat, ale klient ze serveru bude dostávat informace jen o věcech kolem hráče. Nad rámec tohoto chceme, aby byl plynulý přechod mezi servery, které by se tak různě pospojovaly a rozdělovaly podle potřeby. Nebude pak nutné se starat o čísla serverů.

Příklad pro zjednodušení. Dejme tomu, že na serveru ve Stantonu se vejde padesát lidí. Třicet, čtyřicet z nich si tak různé létá a dělá, co potřebují. To samé platí pro AI. Pak ale najednou přijde do systému velká skupina hráčů a jsme najednou na šedesáti hráčích, což je víc, než dokáže server pobrat. V takovém případě si servery rozeberou skupiny hráčů mezi sebou. Všechny servery mají globální přehled, informace o ostatních serverch a všech klientů. Servery mezi sebou komunikují a předávající si informace. V ideálním případě tak může být v jedné instanci i tisíce hráčů.

Limitujícím faktorem je ale klient, počítač hráče, který věci renderuje a dovoluje hráči fakticky vidět ostatní hráče. Hráč tak neuvidí všechny najednou, ale jen ty, které má nejblíže. Takový dosah viditelnosti, do kterého přirozeně vstupují, a ze kterého i přirozeně vystupují, všechny entity.

My samozřejmě budeme vědět, kdo jsou vaši kamarádi, známí, které postavy/hráče jste označili za osoby zájmu a další. Pokud tedy nastane situace, že klient by musel renderovat příliš mnoho postav, které nezvládne, tyto osoby budou mít prioritu.

Asi nebudeme mít obří bitvy o tisících hráčích, ale pár stovek se nám asi vtěsnat povede.