Przejdź do głównej zawartości

How the engine works

Sprawdź jak działa Engine.Farm i jakie funkcje od siebie są zależne.
Do tego potrzebne jest zapoznać się z kilkoma warstwami silnika.

Dostarczamy kilka jasno sprecyzowanych warstw, które odpowiadają za procesowanie danych pomiędzy graczem, silnikiem i stanem gry:

  • CoreLayer - warstwa odpowiadająca za organizację i załadowanie logiki Twojej gry do pamięci naszych maszyn
  • DataLayer - odpowiada za stan gry i dostarcza mechanizmy do manipulacji danych w Entity
  • LocationSpatialLayer - dostęp do zoptymalizowanego zbioru danych obiektów, dostarcza funkcje przenoszenia obiektów między sektorami manualnie oraz pobranie obiektów z danego obszaru
  • EngineLayer - I/O obliczeń, tutaj przetwarzane są wszystkie obliczenia na obiektach stanu gry
  • EndpointLayer - przetwarzanie pakietów wewnętrznych (w silniku i infrastrukturze do komunikacji między instancjami), zewnętrznych do obsługi eventów graczy oraz synchronizacją stanu gry ze stanem klienta

Engine capabilities

Tworząc projekt gry online w Engine.Farm uruchamiamy:

  • 1 instancję World
  • 1 instancję Sector*
  • 1 instancję Endpoint* - socket dla graczy (SocketIO, w przyszłości zostanie dodany UDP) oraz REST API
  • 1 instancję Agent - kanał administracyjny i developerski
  • 1 instancję Redis* - cache (też jako warstwa w silniku)
  • 1 instancję RethinkDB* - do przechowywania stanu gry z możliwością subskrypcji zmian wewnątrz silnika (w trakcie planowania)
  • 100MB na przestrzeni na kod gry

* - możliwość skalowania instancji

Wszystkie instancje zostają uruchomione na wspóldzielonych klastrach (shared) i każda z uruchomionych Twoich instancji ma gwarantowane zasoby, dzięki temu pozostałe projekty nie powinny negawynie wpływać na działanie Twojej gry.
Jest możliwość zamówienia dedykowany dla Twojego projektu gry klaster zarządzalny przez Engine.Farm.

Data flow

Jak już wiesz jakie istnieją warstwy w Engine.Farm i jakie instancje uruchamiamy aby stabilnie i wydajnie działał Twój projekt to pora na kolejny etap.
... diagram ...