Cześć!
Piszę grę przeglądarkową (canvas) i zacząłem się zastanawiać nad tym co powinno wykonywać się po stronie serwera a co po stronie klienta.
W wielkim skrócie gra 2d, chodzenie w każdym kierunku, ściany, jakieś skrzynie z przedmiotami. Strzelanie z wielu rodzai broni (różne strzały np. wiele strzałów w podobnym kierunku - shotgun, pojedynczy strzał - pistolet, strzały które się rozszerzają, oczywiście każda broń strzela cały czas, ma własny odrzut). Przeciwnicy - podstawowe SI, różne zachowania, szukanie drogi. Spawnery spawnujące przeciwnkiów.
Czy klient ma tylko być "inputem" tz wysyłać dane na serwer że gracz nacisnął strzałkę do przodu, czy w jakim kierunku jest myszka względem niego, a cała "gra" ma odbywać się w backendzie i tylko przesyłać do klienta info co i gdzie ma wyświetlić? Czy takie podejście nie będzie powodowało zbyt dużych opóźnień (gra jest dość szybka, było by trzeba wysłać min 30 pakietów danych na sekundę). Czy jednak zostawić część obliczeń w kliencie? Jeśli tak to jakie?
Dodam że klient to na razie javascript który może być edytowany przez klienta. W czasie dojdzie multiplayer.
Z góry dziękuję za pomocne odpowiedzi :)