Whitepaper Graj

Technologia i uczciwość

Omnoxia jest budowana jako nowoczesna aplikacja webowa z autorytatywnym serwerem. Każda decyzja techniczna podporządkowana jest trzem celom: natychmiastowemu dostępowi, uczciwej rywalizacji i możliwości rozwijania gry bez przestojów.

Architektura

Klient

Aplikacja w przeglądarce (React + TypeScript). Pokoje ładowane są osobno, a reszta pobiera się w tle — gra startuje szybko i działa płynnie bez instalacji.

Serwer

Serwer gry napisany w Go: obsługuje całą logikę — misje, walki, sklepy, rynek, plemiona — i jest jedynym źródłem prawdy o stanie świata.

Baza danych

PostgreSQL z wersjonowanymi migracjami schematu. Każda operacja gry wykonuje się w transakcji — zakup, aukcja czy nagroda dzieje się w całości albo wcale.

Serwer autorytatywny

  • Wszystkie rzuty losowe odbywają się na serwerze — łupy, krytyki, ulepszenia, losowania Dżina. Przeglądarka dostaje wyłącznie wynik.
  • Walki są liczone po stronie serwera przez jeden silnik dla PvP, PvE i wojen; klient jedynie odtwarza zapis tury po turze. Zapisy walk są przechowywane, dzięki czemu każdą walkę można obejrzeć ponownie.
  • Serwer weryfikuje każdą akcję — np. misja może wystartować tylko, jeśli naprawdę jest na tablicy opiekuna, a zakup tylko, jeśli gracz ma środki.
  • Silnik walki jest testowany względem referencyjnego symulatora balansu, aby wzory w grze dokładnie odpowiadały założeniom projektowym.

Gospodarka pod kontrolą

  • Każda zmiana stanu walut trafia do księgi transakcji z przyczyną i odniesieniem do zdarzenia.
  • Wartości balansu (szanse, koszty, nagrody, limity) są przechowywane w konfiguracji serwera i mogą być zmieniane w trakcie działania gry, bez nowego wydania.
  • Złoto jest liczone z dokładnością do setnych części, więc nawet najmniejsze nagrody na niskich poziomach są naliczane precyzyjnie.

Bezpieczeństwo kont

  • Hasła i kody PIN są przechowywane wyłącznie jako skróty argon2id — współczesny standard odporny na łamanie.
  • Logowanie wymaga hasła i czterocyfrowego PIN-u; operacje nieodwracalne (usunięcie postaci) — ponownego podania PIN-u.
  • Linki do resetu hasła są jednorazowe i wygasają po godzinie; formularz nie zdradza, czy dany adres istnieje w bazie.
  • Ograniczenia częstotliwości żądań chronią przed automatyzacją i nadużyciami.

Wydajność i dostępność

  • Grafiki w nowoczesnym formacie WebP, kompresja odpowiedzi i ładowanie pokoi na żądanie.
  • Stała scena 1440 × 1024 skalowana do okna — gra wygląda tak samo na każdym monitorze od 1024 × 640 wzwyż.
  • Konteneryzowane wdrożenie (Docker) — serwer i klient wydawane są jako jedna, spójna wersja.
  • Interfejs przygotowany do wielu języków — teksty gry są oddzielone od kodu, a treść fabularna (misje, umiejętności) tłumaczona niezależnie.

© 2026 Omnoxia. Wszystkie grafiki pochodzą z gry. Wartości liczbowe odzwierciedlają wersję Alpha · wrzesień 2026 i mogą się zmieniać wraz z balansem.