Změna velikosti pole jde udělat samozřejmě taky. Zkusil bych hledat " C# Array Resize", možná se ta metoda přímo jmenuje Resize. Osobně bych se tím netrápil, použil bych List, tím bych bez práce získal "samovelikostní pole" a pak ho vrátil jako pole. Má na to metodu. To se tu nedávno řešilo stejně jako serializace a deserializace. Myslím, že byla navržena 3 řešení: 1. udělat z toho řetězec, napsat na to vlastní kód, 2. udělat JSON, což znamená udělat z toho řetězec, ale s minimem vlastního úsilí a 3. udělat xml, jestli se dobře pamatuju, dostals odkazy na to, jak to udělat.
Co se týče toho co udělat na serveru a co na klientovi: musíš vzít v úvahu nakolik potřebuješ mít věci pod kontrolou aby klient nemohl "fixlovat" naproti tomu může být výhodné snížit zátěž serveru tím, že přeneseš část práce na klienta.
Virtuální svět se v mnohém podobá světu reálnému, proto ti byl navržen model ála casino: hráč nevezme kostky do ruky, vždy háže krupiér. Klient (= hráč) pošle na server (= krupiér) "hoď kostky" a server pošle klientovi "padlo ti ..."
hu