mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-11-10 18:07:13 +01:00
* Initial plan * Add comprehensive thesis completion game plan (deadline Feb 10) Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Add quick start guide and daily progress tracking template Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Add visual tracker and planning system overview Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Update work schedule to 4hrs weekdays, 8hrs weekends (144 total hrs) Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Update dates to Jan 16-Feb 15, add helper scripts for data collection Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Add complete LaTeX content for chapters 5-8, graph generation script, auto-compile script Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Add extensive citations throughout chapters, fix Linux-specific issues, replace subjective language with objective data Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Fix CI pipeline: use test_pdf instead of test target in workflow Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> * Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
260 lines
9.6 KiB
TeX
260 lines
9.6 KiB
TeX
% 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}
|