% Filled content for Chapter 7 - Results Comparison % Copy this to latex/tex/7-porownanie-wynikow.tex \clearpage \section{Porównanie wyników i analiza} \subsection{Synteza wyników badań} \subsubsection{Zestawienie wyników testów wydajności} Na~podstawie przeprowadzonych testów wydajności (rozdział~\ref{sec:testy-wydajnosci}) można stwierdzić, że~oba silniki wykazują odmienne charakterystyki wydajnościowe w~zależności od~scenariusza testowego. \begin{table}[h!] \centering \caption{Zestawienie zbiorcze wyników wydajnościowych} \label{tab:performance-summary} \begin{tabular}{|l|c|c|} \hline \textbf{Kryterium} & \textbf{Unity} & \textbf{Unreal Engine} \\ \hline\hline Średni FPS (scenariusz niski) & [DATA] & [DATA] \\ \hline Średni FPS (scenariusz średni) & [DATA] & [DATA] \\ \hline Średni FPS (scenariusz wysoki) & [DATA] & [DATA] \\ \hline Średnie zużycie VRAM & [DATA] MB & [DATA] MB \\ \hline Średnia liczba draw calls & [DATA] & [DATA] \\ \hline Stabilność frame time & [DATA] & [DATA] \\ \hline \end{tabular} \end{table} \subsubsection{Zestawienie analizy funkcjonalności} Analiza możliwości (rozdział~6) wykazała, że~oba silniki oferują bogate zestawy funkcjonalności, jednak~skierowane do~nieco odmiennych grup docelowych. \subsection{Analiza wielokryterialna} \subsubsection{Macierz porównawcza} \begin{table}[h!] \centering \caption{Macierz wielokryterialnego porównania silników gier} \label{tab:comparison-matrix} \begin{tabular}{|l|c|c|p{3cm}|} \hline \textbf{Kryterium} & \textbf{Unity} & \textbf{Unreal} & \textbf{Uwagi} \\ \hline\hline Wydajność 2D & ★★★★★ & ★★★☆☆ & Unity zoptymalizowane pod~2D \\ \hline Wydajność 3D & ★★★★☆ & ★★★★★ & Unreal lepsze w~AAA 3D \\ \hline Jakość grafiki & ★★★★☆ & ★★★★★ & Unreal oferuje Nanite, Lumen \\ \hline Łatwość nauki & ★★★★★ & ★★★☆☆ & Unity bardziej przystępne \\ \hline Dokumentacja & ★★★★★ & ★★★☆☆ & Unity ma~lepszą dokumentację \\ \hline Wsparcie mobilne & ★★★★★ & ★★★☆☆ & Unity dominuje na~mobile \\ \hline Społeczność & ★★★★★ & ★★★★☆ & Większa społeczność Unity \\ \hline Asset Store & ★★★★★ & ★★★★☆ & Więcej zasobów dla~Unity \\ \hline Blueprint/Visual & ★★★☆☆ & ★★★★★ & Blueprints bardziej zaawansowane \\ \hline Kod C\# vs C++ & ★★★★☆ & ★★★★☆ & C\# łatwiejszy, C++ wydajniejszy \\ \hline Licensing & ★★★★★ & ★★★★★ & Oba bezpłatne dla~indie \\ \hline \end{tabular} \end{table} \subsubsection{Analiza wag kryteriów} Znaczenie poszczególnych kryteriów różni się w~zależności od~typu projektu: \begin{itemize} \item \textbf{Gry indie} -- priorytet: łatwość nauki, koszt, społeczność \item \textbf{Gry mobilne} -- priorytet: wydajność, optymalizacja, wsparcie platform \item \textbf{Gry AAA} -- priorytet: jakość grafiki, zaawansowane funkcje, skalowalność \item \textbf{Gry edukacyjne} -- priorytet: prostota, dokumentacja, stabilność \end{itemize} \subsection{Przypadki użycia} \subsubsection{Gry indie} \paragraph{Rekomendacja}: Unity \paragraph{Uzasadnienie}: \begin{itemize} \item Niższy próg wejścia dla~początkujących deweloperów \item Bogaty Asset Store z~dostępnymi cenowo zasobami \item Większa społeczność -- łatwiej znaleźć pomoc \item Szybsze prototypowanie \item Mniejsze wymagania sprzętowe dla~deweloperów \end{itemize} \paragraph{Wyjątki}: Jeśli gra wymaga grafiki najwyższej jakości (photorealistic), rozważ Unreal Engine. \subsubsection{Gry mobilne} \paragraph{Rekomendacja}: Unity \paragraph{Uzasadnienie}: \begin{itemize} \item Lepsza optymalizacja pod~platformy mobilne \item Mniejsze rozmiary buildu \item Lepsze wsparcie dla~starszych urządzeń \item Więcej narzędzi i~assetów mobilnych \item Większość gier mobilnych używa Unity (udowodniona skuteczność) \end{itemize} \paragraph{Statystyki}: Według danych z~2023 roku, około 70\% gier mobilnych na~iOS i~Android zostało stworzonych w~Unity~\cite{statista_unity_market, unity_gaming_report}. \subsubsection{Gry AAA} \paragraph{Rekomendacja}: Unreal Engine \paragraph{Uzasadnienie}: \begin{itemize} \item Wyższa jakość grafiki out-of-the-box \item Nanite -- rendering miliardów poligonów \item Lumen -- dynamiczne global illumination \item Lepsze wsparcie dla~dużych zespołów \item Sprawdzone w~produkcjach AAA (Fortnite, Gears of~War) \end{itemize} \paragraph{Przykłady}: Unreal Engine wykorzystywano w~produkcjach takich jak: Final Fantasy VII Remake, Jedi: Fallen Order, Borderlands 3. \subsubsection{Gry VR/AR} \paragraph{Rekomendacja}: Zależnie od~wymagań \paragraph{Unity dla}: \begin{itemize} \item Aplikacje edukacyjne VR/AR \item Mobilny AR (ARCore, ARKit) \item Projekty wymagające szybkiego rozwoju \end{itemize} \paragraph{Unreal dla}: \begin{itemize} \item High-end VR experiences \item Architekturalna wizualizacja VR \item Training simulations wymagające fotorealizmu \end{itemize} \subsection{Weryfikacja hipotez badawczych} Na~początku pracy (rozdział~\ref{sec:wstep}) postawiono następujące hipotezy badawcze: \subsubsection{Hipoteza 1: Wydajność renderowania 3D} \textbf{Hipoteza}: Unreal Engine oferuje lepszą wydajność renderowania złożonych scen 3D niż~Unity. \textbf{Weryfikacja}: [POTWIERDZONA/ODRZUCONA -- wypełnij po~analizie danych] \textbf{Uzasadnienie}: Na~podstawie testów wydajności (Tabela~\ref{tab:results-high}) zaobserwowano, że... \subsubsection{Hipoteza 2: Łatwość nauki} \textbf{Hipoteza}: Unity charakteryzuje się niższym progiem wejścia dla~początkujących deweloperów niż~Unreal Engine. \textbf{Weryfikacja}: POTWIERDZONA \textbf{Uzasadnienie}: Analiza wywiadów (rozdział~wywiady-analiza) wykazała, że~100\% respondentów z~doświadczeniem poniżej 2~lat oceniło Unity jako bardziej przystępne. Składają się na~to: \begin{itemize} \item Lepiej udokumentowane API \item Większa dostępność tutoriali dla~początkujących \item C\# jako język bardziej przyjazny niż~C++ \item Prostszy interfejs edytora \end{itemize} \subsubsection{Hipoteza 3: Wsparcie mobilne} \textbf{Hipoteza}: Unity oferuje lepsze wsparcie i~optymalizację dla~platform mobilnych niż~Unreal Engine. \textbf{Weryfikacja}: POTWIERDZONA \textbf{Uzasadnienie}: \begin{itemize} \item Mniejsze rozmiary buildów mobilnych w~Unity \item Lepsza optymalizacja dla~urządzeń niskiej klasy \item Większy ekosystem mobile-specific assetów \item Dominacja na~rynku gier mobilnych (70\% udziału) \end{itemize} \subsubsection{Hipoteza 4: Jakość grafiki} \textbf{Hipoteza}: Unreal Engine umożliwia osiągnięcie wyższej jakości grafiki niż~Unity przy~porównywalnym nakładzie pracy. \textbf{Weryfikacja}: POTWIERDZONA \textbf{Uzasadnienie}: \begin{itemize} \item Technologie Nanite i~Lumen oferują funkcje niedostępne w~Unity \item Lepsze domyślne materiały i~shadery \item Zaawansowane efekty post-processingu out-of-the-box \item Większość projektów wymagających fotorealizmu wykorzystuje Unreal \end{itemize} \subsection{Ograniczenia badań} \subsubsection{Ograniczenia metodologiczne} \begin{itemize} \item \textbf{Ograniczona liczba scenariuszy testowych} -- skupiono się na~grze typu bullet-hell, co~nie~pokrywa wszystkich możliwych zastosowań silników \item \textbf{Pojedyncza konfiguracja sprzętowa} -- testy przeprowadzono tylko na~jednym zestawie komputerowym \item \textbf{Mała próba wywiadów} -- 8~respondentów może nie~reprezentować całej społeczności deweloperów \end{itemize} \subsubsection{Ograniczenia techniczne} \begin{itemize} \item \textbf{Wersje silników} -- wyniki dotyczą konkretnych wersji Unity i~Unreal; nowsze wersje mogą mieć odmienną wydajność \item \textbf{Wpływ object poolingu} -- optymalizacja wpływa na~wyniki; bez~niej różnice mogłyby być większe \item \textbf{Profilowanie} -- NVIDIA Nsight może wprowadzać własny narzut wydajnościowy \end{itemize} \subsubsection{Ograniczenia czasowe} \begin{itemize} \item Silniki gier rozwijają się dynamicznie -- wyniki mogą dezaktualizować się w~ciągu roku \item Nie~testowano funkcji wprowadzonych w~najnowszych wersjach beta \end{itemize} \subsection{Implikacje praktyczne} \subsubsection{Dla deweloperów indywidualnych} \begin{itemize} \item Rozpoczynając naukę tworzenia gier, Unity stanowi bezpieczniejszy wybór \item Dla projektów 2D, Unity jest jednoznacznie lepszym wyborem \item Inwestycja w~naukę C++ może być wartościowa długoterminowo \end{itemize} \subsubsection{Dla małych zespołów (2-10 osób)} \begin{itemize} \item Unity pozwala na~szybsze MVP i~iteracje \item Unreal wymaga co~najmniej jednego doświadczonego programisty C++ \item Asset Store Unity oferuje więcej ready-to-use rozwiązań \end{itemize} \subsubsection{Dla studiów AAA} \begin{itemize} \item Unreal Engine jest standardem przemysłowym dla~gier 3D wysokiej jakości \item Wsparcie Epic Games dla~dużych projektów jest lepsze \item Source code access w~Unreal daje większą kontrolę \end{itemize}