Czy są jakieś istniejące ramy, na których mogę budować? Czy powinienem zbudować własny? Jak mogę zapobiec zamieszczaniu fałszywych wyników?
Czy są jakieś istniejące ramy, na których mogę budować? Czy powinienem zbudować własny? Jak mogę zapobiec zamieszczaniu fałszywych wyników?
Odpowiedzi:
ScoreLoop jest dostępny na platformę Android.
Możesz także użyć ScoreNinja . ScoreNinja oferuje łatwy sposób na wdrożenie globalnych wyników, ale wymaga przejrzenia wyniku w aplikacji ScoreNinja.
W przeciwnym razie iPhone Cocos zapewnia globalny wynik dzięki CocosLive . Możesz użyć CocosLive.net lub własnej maszyny wirtualnej GoogleApp Engine. CocosLive nie jest dostępny na platformie Android, ale protokół jest REST z JSON i można go łatwo przenieść.
Moje obecne rozwiązanie to CocosLive na Androida i iPhone'a z moją własną maszyną wirtualną, ale wykorzystam ScoreLoop w mojej następnej grze do integracji z sieciami społecznościowymi.
Nie jestem pewien, czy istnieje jedna platforma, która obejmuje wiele platform, ale na pewno istnieją ramy specyficzne dla platformy. Dwa, które przychodzą na myśl na iPhone'a to Scoreloop i OpenFeint .
Sprawdź OpenFeint : Rozpoczęcie pracy z OpenFeint SDK dla Androida 1.8 Łatwy start!
Wykonaj następujące czynności:
(1) Użytkownik otrzymuje wynik w grze.
(2) Utwórz ciąg „Nazwa użytkownika, wynik, znacznik czasu” lub coś podobnego.
(3) Dodaj sól (tajny ciąg) do tego ciągu: „nazwa użytkownika, wynik, znacznik czasu, SALTSTRING”
(4) Oblicz skrót tego ciągu za pomocą swojego ulubionego algorytmu (MD5, SHA ...).
(5) Prześlij „Nazwa użytkownika, wynik, znacznik czasu” wraz z hashem obliczonym na swojej stronie: www.yoursite.com?str=username,score,timestamp&hash=MYHASH lub coś podobnego
(6) Na serwerze powtórz obliczenia, tj. Utwórz „nazwę użytkownika, wynik, znacznik czasu, SALTSTRING”, a następnie porównaj z hashem przesłanym przez użytkownika. Jeśli nie pasuje, coś zostało zmienione.
Uwaga: jeśli użytkownik może uzyskać pliki klas, wówczas można je zdekompilować, dzięki czemu można zobaczyć sól. Jeśli jednak użytkownik może zdekompilować program, nie ma sposobu, aby zapobiec fałszywym wysokim wynikom: użytkownik może zmodyfikować kod, aby ułatwić grę i użyć tej wersji. Nie będziesz mógł tego sprawdzić.