1. BusinessCase
1.1 Цели
Овозможување на „Instant-Play“ искуство: Елиминирање на потребата од преземање и инсталација на големи датотеки, овозможувајќи играње веднаш преку прелистувач.
Реално-временска синхронизација: Обезбедување на флуидна борба помеѓу играчи со минимално доцнење преку WebSocket технологија.
Социјално поврзување: Креирање на заедница преку системи за пријателства.
Натпреварувачки карактер: Мотивирање на играчите преку транспарентен систем за рангирање (Leaderboard) базиран на победи и собрана валута.
1.2 Предности
Ниски хардверски барања: Играта се извршува во прелистувач и не бара скапи графички картички, што ја прави достапна за поширока публика.
Централизирана логика: Сите пресметки за борбата се случуваат на серверот (GameLoop), што го намалува ризикот од мамење (cheating).
Едноставен пристап: Интеграцијата со Google OAuth2 овозможува најава со еден клик без памтење нови лозинки.
Скалирање: Можност за лесно додавање на нови класи (херои) и функционалности без потреба корисникот да ажурира софтвер.
1.3 Проценети Ризици
| Ред. бр. | Ризик | Опис | Справување со Проблемот |
|---|---|---|---|
| 1 | Мрежна латенција (Lag) | Доцнење во WebSocket комуникацијата што влијае на прецизноста на борбата | Оптимизација на GameLoop и имплементација на client-side prediction |
| 2 | Небалансирани класи | Една класа (пр. Heavy) е значително посилна од другата (Light), нарушувајќи го натпреварот | Редовно ажурирање на атрибутите (Health/Damage) во базата и бета тестирање |
| 3 | Преоптоварување на базата | Бавни читања/запишувања при голем број истовремени мечеви и ажурирања на статистика | Индексирање на PostgreSQL табелите и кеширање на резултати |
| 4 | Зависност од Google Auth | Неможност за најава доколку Google сервисите се недостапни или API клучевите се истечени | Имплементација на "Remember Me" сесии и мониторинг на API лимити |
| 5 | Browser Компатибилност | Разлики во исцртувањето на Canvas елементите на различни прелистувачи (Chrome vs Firefox) | Тестирање на повеќе прелистувачи и користење на стандардизирани Web API-ја |
