Ściągawka z matchupu na linii
Szybki podgląd kluczowych umiejętności rywala, czasów odnowienia i założeń na wczesną fazę gry. Przygotowałem ten widok tak, żeby w kilka sekund przed wejściem do gry odświeżyć sobie najważniejsze zagrożenia.

Narzędzie do analizy pojedynków na linii i notatek taktycznych w League of Legends, stworzone z myślą o szybkim podglądzie podczas ładowania meczu.
W League of Legends o wygranej na linii decydują detale: znajomość cooldownów rywala czy nawyków na danym matchupie. Zwykłe portale ze statystykami zasypują graczy globalnymi procentami wygranych z tysięcy gier, ale nie dają miejsca na własne notatki ani analizę swoich wcześniejszych błędów. Kiedy siadałem do gry, brakowało mi narzędzia, w którym mógłbym w trakcie 60 sekund ładowania meczu szybko sprawdzić, jak grać przeciwko konkretnej postaci i co poszło nie tak ostatnim razem.
Napisałem LOLES jako własną aplikację z bazą PostgreSQL postawioną na moim serwerze. Moim celem było stworzenie narzędzia, które uruchamia się w ułamku sekundy, automatycznie pobiera historię moich gier z Riot Games API i pozwala błyskawicznie odnaleźć taktyczne notatki przed rozpoczęciem meczu.
Szybki podgląd kluczowych umiejętności rywala, czasów odnowienia i założeń na wczesną fazę gry. Przygotowałem ten widok tak, żeby w kilka sekund przed wejściem do gry odświeżyć sobie najważniejsze zagrożenia.

System własnych zapisków przypisanych do konkretnych bohaterów i par na linii. Kiedy ponownie trafiam na ten sam matchup, moje poprzednie wskazówki i wnioski z wygranych lub przegranych gier pojawiają się automatycznie.

Szczegółowa analityka własnych gier z podziałem na role i bohaterów. Pozwala mi szybko sprawdzić rzeczywisty bilans przeciwko danemu rywalowi zamiast polegać na zawodnej pamięci.

Oficjalne API Riot Games ma spore ograniczenia: zwraca jedynie powierzchowną historię ostatnich kilkudziesięciu rozgrywek, a wiele zdarzeń traktuje po macoszemu. Zbudowałem moduł synchronizacji, który zapisuje mecze w bazie PostgreSQL na moim serwerze, gromadząc pełną historię setek gier. Na etapie przetwarzania danych musiałem sam obsłużyć przypadki brzegowe. Przykładowo Riot API oznacza gry przerwane (remake) jako zwykłą wygraną lub przegraną. Wprowadziłem więc własną heurystykę: jeśli mecz trwał poniżej 3 minut, aplikacja automatycznie klasyfikuje go jako remake i wyklucza z kalkulacji współczynnika zwycięstw oraz średnich statystyk.
W League of Legends jest ponad 160 postaci, a pojedynki na dolnej alei (botlane) to starcia układów 2 na 2, gdzie dynamikę zmienia nie tylko strzelec (ADC), ale też wspierający (Support). Zwykłe filtrowanie po jednym bohaterze było niewystarczające. Zaprojektowałem strukturę zapytań w bazie i filtry w interfejsie tak, aby precyzyjnie łączyć rolę, własnego bohatera oraz konkretną kombinację rywali na linii. Dzięki temu mogę sprawdzić notatki i statystyki dla dokładnego zestawienia (np. moja postać jako ADC ze wskazanym supportem przeciwko konkretnemu duetowi przeciwników).