Z reguły jest tak jak mówisz, chociaż wcale nie musi tak być. Najprostszym sposobem na ograniczenie manipulacji użytkownika po stronie klienta jest po prostu zamknięcie kodu gry w tzw. scope, czyli przestrzeni nazw, która nie przedostanie się do przestrzeni globalnej, wówczas klient nie będzie mógł manipulować różnymi dziwnymi właściwościami. Czy w JS można stworzyć grę? Tak, nawet włączając w to serwer, który zasilać może środowisko node.js, co da nam w rezultacie spore możliwości, jak chociażby dzielenie kawałków kodu między klientem a serwerem (zachowanie odpowiednich poziomów abstrakcji kodu bo obu stronach barykady). Jeśli chodzi o ingerencję w gre za pomocą skryptów - jeśli serwer będzie pilnował tego, co przesyła mu klient i odpowiednio to filtrował, to nie będzie dostawał żadnych fałszywych danych. :) Czy jest sens tworzenia gier w JS? A jak najbardziej, jeszcze jak. ( ͡° ͜ʖ ͡°)