From 0eb9d362425cd175514f518f03ff1fc6249ee0d7 Mon Sep 17 00:00:00 2001 From: QuirinEcker Date: Tue, 29 Mar 2022 11:48:41 +0200 Subject: [PATCH] finished more or less the technology part --- bib.bib | 74 +++++++++++++++++++++++++++-- pics/desktop_os_market_share.png | Bin 0 -> 31524 bytes pics/mobile_os_marketshare.png | Bin 0 -> 33723 bytes sections/technologies.tex | 79 +++++++++++++++++++++---------- 4 files changed, 125 insertions(+), 28 deletions(-) create mode 100644 pics/desktop_os_market_share.png create mode 100644 pics/mobile_os_marketshare.png diff --git a/bib.bib b/bib.bib index 223a91b..cd23bc0 100644 --- a/bib.bib +++ b/bib.bib @@ -290,14 +290,14 @@ year={2014} } -@misc{UNITY_DOWNLOAD, +@misc{Unity_System_Specification, title = {Unity herunterladen}, author = {Unity}, url = {https://unity3d.com/de/get-unity/download}, note = {letzter Zugriff am 7.2.2022}, } -@misc{UNITY_PRICING, +@misc{UNITY_PRICING_1, title = {Pläne und Preise}, url = {https://store.unity.com/de}, note = {letzter Zugriff am 7.2.2022}, @@ -723,10 +723,76 @@ url = {https://www.vive.com/de/accessory/wireless-adapter/}, } -@misc{VR_Conduit_2018, - author = {VR_Conduit}, +@misc{VRConduit_2018, + author = {VRConduit}, year = {2018}, note = {letzter Zugriff 28.3.2022}, title = {HTC Vive Wireless Adapter Explained}, url = {https://www.youtube.com/watch?v=rxDamaNaU2k}, } + +@misc{StatCounter_Mobile_2021, + author = {StatCounter}, + title = {Mobile Operating System Market Share Worldwide}, + url = {https://gs.statcounter.com/os-market-share/mobile/worldwide}, + note = {letzter Zugriff 28.3.2022}, + year = {2021} +} + +@misc{StatCounter_Desktop_2021, + author = {StatCounter}, + title = {Desktop Operating System Market Share Worldwide}, + url = {https://gs.statcounter.com/os-market-share/desktop/worldwide}, + note = {letzter Zugriff 28.3.2022}, + year = {2021} +} + +@misc{Unity_Pricing_2, + author = {Unity}, + title = {Wählen Sie den Plan aus, der zu Ihnen passt}, + note = {letzter Zugriff 28.3.2022}, + url = {https://store.unity.com/de/compare-plans}, +} + +@misc{Unity_Download, + author = {Unity}, + title = {Erstellen mit Unity in drei Schritten}, + note = {letzter Zugriff 28.3.2022}, + url = {https://unity.com/de/download}, +} + +@misc{Mower_UnrealEngine, + title = {Unreal Engine C++ vs. Blueprint – Which Should I Choose?}, + url = {https://www.techarthub.com/unreal-engine-c-vs-blueprint-which-should-i-choose/}, + author = {Nick Mower}, + note = {Letzter Zugriff 28.3.2022}, +} + +@misc{jwatte_2017, + author = {jwatte}, + title = {Blueprints vs C++ for experienced C++ dev}, + note = {letzter Zugriff 28.3.2022}, + url = {https://forums.unrealengine.com/t/blueprints-vs-c-for-experienced-c-dev/92033}, + year = {2017}, +} + +@misc{Unity_Bolt, + author = {Unity}, + title = {Visual Scripting with Bolt}, + note = {letzter Zugriff 28.3.2022}, + url = {https://docs.unity3d.com/2019.3/Documentation/Manual/VisualScripting.html}, +} + +@misc{Viscirele_Unreal_v_Unity, + title = {Unreal Engine or Unity: which software should Gamedeveloper choose?}, + url = {https://viscircle.de/unreal-engine-or-unity-which-software-should-gamedeveloper-choose/?lang=en}, + note = {letzter Zugriff 29.3.2022}, +} + + +@misc{Unreal_Installationsguide, + author = {Unreal}, + note = {letzter Zugriff 29.3.2022}, + url = {https://docs.unrealengine.com/4.27/en-US/Basics/InstallingUnrealEngine/}, + title = {Installing Unreal Engine}, +} diff --git a/pics/desktop_os_market_share.png b/pics/desktop_os_market_share.png new file mode 100644 index 0000000000000000000000000000000000000000..0835b126be9cbf52b0396f9217e4cfe928780226 GIT binary patch literal 31524 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¨Ub-9t>eyO*+Q0JqOkzH#M}(D}9=`%Lm~A z?>)WUu+PZM-1msRX~A~Ocud)C^bPu#l{4~ud={)ISLIU1<$-DU!>sH%HjLy?1-m>$< zAbZZ>t->w9G|ieNbBbUG=V4~X8$e$V68;@rZ*I1vA5X7 zRJ`bpR;>;3F5AAaJ<;olqaBOaQ%47r5?jsDvDVWnb-c4qs%Uh=Nt-o8t-zRj~EenE@ze511J;xqQ)!beNGY_(pRPw10xkoVo^Ol>MX(K}yf* z!UNxX^7rJFGeSaH`)X`k6Ql#_ehO+$pFa9Z%h~kOee(%z=PHvmZr&t|;i{Ug>z*9) zDmwwceDb$GcgvOKnV1;&-XrH!-)(+=2%Uw&lyP_)t>+}@$abo%1kMe%Yfq$V$_F!V z-ka|nYkCD&elK7>=mn$dDm#SAtk6Uc$VXFKqKmKVe0k#4*QdjO0DU zjPHL+E0oO|AN2`jRqZ^?pup$3Wz%v?V@AdW)z=5A5byohG=;h5C)&)5y7Adh>f0AM z;8L~0E2$Hlw$^W>jO9JogjQB&#`U$L5bl}lQq0QF_P9=Iwue59Zen0OmTsdJW9}ED zBFA2YZWT>5ZtypR*xB`FuK8jT>t|a42E9JgwFXVK9vfJn?Jisn%p}8CUX>L32Recl zhdvHH(@Ts?R8oo{l;JIh$8u2%3(JCnEPRKqkq*zva)?1l^=$gk94m{K zQf=IAb&8Z3mz|xD4zDqpp|1~aDTCmOkJ-Bq26_$7AFzpi&oRFz*Z7Dm*guHMnVzO{ z$vRsMHMc-hQftzSitd4;gDEzx)MIi!MEq8Yyr~Z8T$Brf4cJLdSxDY&G?Vcd>53D< zOksaX_8q9fisRWiH@6(Iuk&~sc?u%Up7#sr`C-&%tE!(K;*!z7-Io#*yx^Dg%@_G; z|6hF(^PhKJ9!O){1zb~z0^6VN>^?}@z^^B%KYe&Ha96x*L|^vRH12Irc0=u!Y60Z# GqyGbCBUHEm literal 0 HcmV?d00001 diff --git a/sections/technologies.tex b/sections/technologies.tex index f65ee3c..d12db87 100644 --- a/sections/technologies.tex +++ b/sections/technologies.tex @@ -319,7 +319,7 @@ Daher kann die Funktionsweise nur sehr oberflächlich beschrieben werden. Grundsätzlich wird für die Funktionalität die Wireless Link Box gebraucht, welche mit der PCIe WiGig Card verbunden ist. Die Wireless Link Box kombiniert mit der Antenne welche sich auf der VR-Brille befindet verschafft HTC ein möglichst latenz freies Erlebnis. Durch die ständige Bewegung der VR-Brille variiert die Brandweite konstant. -Für dieses Problem benützt der Wireless Adapter einen Algorithmus welcher das Videosignal je nach Bandbreite in echtzeit komprimiert~\cite{VR_Conduit_2018}. +Für dieses Problem benützt der Wireless Adapter einen Algorithmus welcher das Videosignal je nach Bandbreite in echtzeit komprimiert~\cite{VRConduit_2018}. Durch die zusätzliche Hardware ist die HTC Lösung etwas teuer. Eine Lösung ohne zusätzliche Kosten wurde von Oculus entwickelt und wird Oculus Air Link genannt. @@ -367,29 +367,46 @@ Dies bedeutet beispielsweise, dass nur Spiele mit einer Wikipedia Seite mit einb Unity ist eine Game Engine, welche von Unity Technologies initial exklusiv für Apple Mac OS X entwickelt wurde. Die Engine wurde portiert und kann heute auch auf Windows und auf der Linux Plattform benützt werden. Sie ist für alle im prinzip gratis bis zu einem bestimmten Umsatz. -Auch wenn sie eine Einsteiger Engine genannt wird, ist sie trotzdem im professionellen Bereich in benutzung und viele bekannte Spiele, wie Pokemon GO, Among us und Hearthstone wurden in der Unity Engine entwickelt~\cite{Haas2014AHO,UNITY_DOWNLOAD,UNITY_PRICING,WIKIPEDIA_UNITY_GAME_LIST_2014}. +Auch wenn sie eine Einsteiger Engine genannt wird, ist sie trotzdem im professionellen Bereich in benutzung und viele bekannte Spiele, wie Pokemon GO, Among us und Hearthstone wurden in der Unity Engine entwickelt~\cite{Haas2014AHO,Unity_System_Specification,UNITY_PRICING_1,WIKIPEDIA_UNITY_GAME_LIST_2014}. \paragraph{Vorteile} +\begin{figure} + \centering + \includegraphics[scale=0.35]{pics/mobile_os_marketshare} + \caption{Mobile Betriebssystem Market Share~\cite{StatCounter_Mobile_2021}} + \label{fig:mobile-os-market-share} +\end{figure} + +\begin{figure} + \centering + \includegraphics[scale=0.35]{pics/desktop_os_market_share} + \caption{Desktop Betriebsystem Market Share~\cite{StatCounter_Desktop_2021}} + \label{fig:desktop-os-market-share} +\end{figure} + + + \begin{itemize} - \item Gratis benutzung bis zu einem bestimmten Umsatz eines Produktes - \item Programmierbar in C\#, einer einfach zu erlernenden Sprachen siehe Abb.~\ref{fig:hardest_programming_languages} - \item Es kann für alle möglichen Plattformen ein Programm geschrieben werden~\cite{UNITY_PLATTFORMS} - \begin{itemize} - \item IOS - \item Android - \item Windows - \item Linux - \item WebGL - \end{itemize} + \item \textbf{Leichter Einstieg:} Das Einsteigen in Unity ist ein sehr einfacher Prozess. + Die einzige Voraussetzung für den Start einer Unity Applikation ist ein Unity Account. + Nach der Erstellung eines Accounts kann das Unity Hub heruntergeladen werden. + Anschließend kann in dem Unity Hub eine Version der Unity Engine heruntergeladen werden~\cite{Unity_Download}. + Anfangs ist die Engine gratis, fallen nach einem bestimmten Umsatz an~\cite{Unity_Pricing_2}. + \item \textbf{Programmiersprache:} In Abb.~\ref{fig:hardest_programming_languages} ist ersichtlich, dass viele Programmierer der Meinung sind, C\# einer der einfacheren zu lernenden Sprachen ist. + Verglichen mit den C++, welches die Programmiersprache der Unreal Engine ist, hat sie nach der Abb. eine weitaus kleinere Lernkurve. + \item \textbf{Plattform Kompatibilität:} Applikationen, welche in Unity entwickelt worden sind haben eine hohe Plattformunabhängigkeit. + Unity Applikationen können für die größten Desktop- und Mobile Betriebssysteme gebaut werden. + Siehe dazu Abb.~\ref{fig:desktop-os-market-share} und Abb.~\ref{fig:mobile-os-market-share}. + Für eine volle Liste der unterstützten Plattformen wird auf~\cite{UNITY_PLATTFORMS} verwiesen. \end{itemize} \paragraph{Nachteile} \begin{itemize} - \item im Vergleich zu Unreal weniger Market-share~\ref{fig:game_engine_marketshare} - \item geschlossener Source Code - \item schnellerer Kostenanfall wie bei Unreal + \item \textbf{Market Share:} Nach Abb.~\ref{fig:game_engine_marketshare} hat die Unity Engine weniger Market-share wie beispielsweise die Unreal Engine. + \item \textbf{Kostenanfall:} Es ist in~\cite{UNREAL_ENGINE_PRICING_2022} und~\cite{Unity_Pricing_2} ersichtlich, dass bei Unity schneller Kosten anfallen wie bei der Unereal Engine. + Das bedeutet nicht, dass die Kosten bei Unity mehr sind wie bei Unreal Engine, sondern, dass die kostenlose Entwicklungsphase bei Unreal länger ist. \end{itemize} \subsubsection{Unreal Engine} @@ -410,16 +427,28 @@ Viele Spiele wie Fortnite, Ark Survival Evolved, Borderlands 3 und Jedi Fallen O \paragraph{Vorteile} \begin{itemize} - \item höchster Market-share nach Abb.~\ref{fig:game_engine_marketshare} - \item 'easy to learn' visual scripting~\ref{fig:visual_scripting_unreal_engine} %TODO: Statistic for visual scripting vs Code - \item Lizenzkosten von 5\% folgen erst bei einem Einkommen durch ein Produkt von 1.000.000\$~\cite{UNREAL_ENGINE_PRICING_2022} + \item \textbf{Market Share:} In Abb.~\ref{fig:game_engine_marketshare} ist ersichtlich, dass Unreal den Größten Market Share. + Dies ist genauso wie zuvor mit Vorsicht zu genießen, da diese Daten wie bereits beschrieben unter einem bestimmten Kriterium gesammelt worden sind. + \item \textbf{Visual Scripting:} Unreal Engine benutzt für das Scripting der Applikation neben der Programmiersprache C++ ein visual scripting System, welches auch Blueprint genannt wird. + Anders wie in Bolt, welches das Visual Scripting Tool für Unity ist, ist das Blueprint System bereits eingebaut. + Bolt muss noch extra installiert und konfiguriert werden~\cite{Unity_Bolt}. + Das integrierte Blueprint System hat seine Nachteile und seine Vorteile. + Ein Vorteil ist die abgeschwächte Lernkurve, die das System gegenüber von C++ bietet um die Unreal Engine kennenzulernen. + Dies zumindest nach~\cite{Mower_UnrealEngine} und~\cite{jwatte_2017}. + %TODO: Statistic for visual scripting vs Code + ~\ref{fig:visual_scripting_unreal_engine} + \item \textbf{Kostenanfall:} Wie bereits bei den Nachteilen der Unity Engine besprochen fallen die Kosten bei der Unreal Engine langsamer and wie bei der Unity Engine..\cite{UNREAL_ENGINE_PRICING_2022, Unity_Pricing_2} \end{itemize} \paragraph{Nachteile} \begin{itemize} - \item 5\% Lizenzkosten, wenn das Einkommen eines Produktes über 1.000.000\$ ist~\cite{UNREAL_ENGINE_PRICING_2022} - \item für erweiterte Funktionalität wird C++ benötigt, welches nach Umfrage in Abbildung~\ref{fig:hardest_programming_languages} die drittschwierigste Sprache zu erlernen ist + \item \textbf{Unterstützte Spielplattformen:} Applikationen, welche mit Unreal Engine gemacht worden sind können für weniger Plattformen entwickelt werden wie bei der Unity Engine~\cite{Viscirele_Unreal_v_Unity}. + \item \textbf{Unterstützte Entwicklerplattformen:} Mit der Unreal Engine ist es möglich auf den drei größten Desktop Betriebssystemen, welche in Abb.~\ref{fig:desktop-os-market-share} ersichtlich sind, zu entwickeln. + Dennoch ist es komplizierter die Game Engine auf Linux zu installieren, da man hier die Game Engine selber von der Quelle bauen muss. + Es gibt keinen offiziellen Binary Installer für Linux~\cite{Unreal_Installationsguide}. + \item \textbf{C++:} Für erweiterte Funktionalität, welche nicht mit dem Blueprint System implementiert, werden kann, muss auf C++ zurückgegriffen werden. + In Abb.~\ref{fig:hardest_programming_languages} ist zu sehen, dass C++ eine starke Lernkurve hat. \end{itemize} \subsubsection{Source Engine und Source 2 Engine} @@ -437,16 +466,18 @@ Die folgenden Vorteile und Nachteile beziehen sich auf die Source 2 Engine. \paragraph{Vorteile} \begin{itemize} - \item Source Engine ist gratis zu nutzen und zu publizieren *(siehe Nachteile) + \item \textbf{Gratis:} Die Source Egnine ist grundsätzlich komplett Gratis. + Es gibt keine Kostenanfälle durch das nutzen der Engine. + Das einzige Kriterium von Valve ist, dass die Engine auf Steam publiziert werden muss~\cite{Brenna_Hillier_2015}. \end{itemize} \paragraph{Nachteile}\label{pgr:cons} \begin{itemize} - \item kein hoher Market-share (siehe Abbildung~\ref{fig:game_engine_marketshare}) - \item spiele, welche mit der Engine entwickelt worden sind, dürfen nur auf Steam publiziert werden~\cite{Brenna_Hillier_2015} -\end{itemize} + \item \textbf{Market Share:} In Abb.~\ref{fig:game_engine_marketshare} ist ersichtlich, dass die Source Engine verglichen mit den zuvor gennanten Game Engines keinen großen Marktanteil hat. + Weniger Nutzung einer Engine bedeutet auch weniger unterstützung, welche es online zur Verfügung gibt. + \item \textbf{Publizierung:} Wie bereits bei den Vorteilen angesprochen, muss ein Spiel, welches mit der Source Engine entwickelt worden ist auch auf Steam publiziert werden~\cite{Brenna_Hillier_2015}. \subsection{Steam}\label{subsec:steam}