Zabezpieczenie źródła

0

Witam! Mam takie pytanie:
-Czy istnieje jakaś technologia pozwalająca na napisanie prostej gry 2d, którą byśmy odpalali bezpośrednio za pomocą przeglądarki, jednak aby jej źródło(lub choć jego część) było ukryte?

0

Niezupełnie. Możesz jedynie zminifikować kod JavaScript, co mocno utrudni jego odczytanie, bo zmienne będą się nazywały a, b i tak dalej. Możesz wręcz użyć obfuscatora, który jeszcze bardziej postara się zagmatwać kod. Jednak wciąż da się go odczytać, tyle że będzie to wymagało więcej czasu.

Minifikatora i tak powinieneś użyć, żeby zmniejszyć rozmiar skryptów. Polecam YUI Compressor.

0

A mam w takim razie inne trochę pytanie:
Czy jest możliwe jedynie przesyłanie obrazu z gry albo jedynie komend do silnika graficzne(napisanego np. html5) w czasie rzeczywistym?
Czego użyć w tym celu?

0

Co? O co Ci chodzi? Przesłanie skąd dokąd? Jakich komend? Wywołań dla canvas()?

Jeśli chodzi Ci o to, czy jakiś istotny fragment gry może chodzić po stronie serwera, to teoretycznie tak. Nie wiem jednak, czy lag byłby akceptowalny dla gry czasu rzeczywistego. Dla turówki -- na pewno. Logika rozgrywki może być umieszczona po stronie serwera, a w przeglądarce chodziłby taki "cienki klient". W przypadku aplikacji internetowych robi się to bardzo fajnie, w przypadku gier... nie jestem pewien na ile by to zadziałało. (Jestem specjalistą od JS, ale nie od gier)

0

Chodzi mi o takie proste samochodziki 2d - gra zręcznościówka. Mogłoby chodzić? po stronie serwera chociaż po części(np. fizyka)?

0

Nie wiem na ile złożona będzie komunikacja, jaki chcesz mieć framerate, na jakim łączu (+serwerze+obciążeniu) jak szybko ma to chodzić... Ja bym pewnie wykonał jakieś testy, pomiary. Z doświadczenia ci nie powiem, bo na tym polu mam niewielkie. Mówi mi tylko, że da się napisać prostą gierkę multiplayer, z prostą fizyką, coś jak Asteroids. Tylko że dwóch graczy strzela tam do siebie wzajemnie. Przeglądarki graczy wymieniają się informacjami o swojej pozycji i o tym co robią poprzez serwer. Jakoś tam to chodziło parę lat temu, ale raczej jako eksperyment (nie mam linka do tego projektu).

0

A mógłbyś mi jeszcze podpowiedzieć za pomocą czego mogę się tak komunikować z serwerem(php+ html5???). Dzięki za odpowiedzi

0

Po stronie serwera praktycznie nie ma znaczenia, jakiego języka użyjesz. Ja bym może poeksperymentował z NodeJS-em? Czemu nie napisać tego w JavaScripcie? Node mógłby nieźle się do tego nadawać.

Możesz oczywiście użyć też PHP, Javy, C#, Ruby'ego, Pythona czy Perla. Nie ma to znaczenia: serwer i tak wypluje jakiś tekst lub np. JSON-a, a to da się (łatwo) osiągnąć w każdym z tych języków.

Po stronie przeglądarki możesz skorzystać z "HTML-a 5". Ale to tak szerokie pojęcie, że praktycznie niewiele mówi. Użyjesz pewnie <canvasa> by wyświetlać planszę gry, a do komunikacji może np. Server-Side Events czy WebSockety? To są dość nowe metody, nie działające w każdej przeglądarce.

Starsze, mniej wydajne i mniej potężne, ale działające metody to np. polling lub long-polling.

0

Skoro jedyny powód dla którego chcesz użyć tutaj serwera to ukrycie źródeł to po prostu zrób tę grę we flashu - dużo łatwiej niż w HTML5 bo jest do niego w cholerę więcej gotowych engine'ów, frameworków, tutoriali itp - ma też obecnie większe możliwości i masz pewność że w każdej przeglądarce z pluginem flasha będzie działać jednakowo

1 użytkowników online, w tym zalogowanych: 0, gości: 1