From 08f65674dc02f613c72e84385a8374c0535d88cb Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Sep 2024 16:31:43 +0200 Subject: research started --- research.tex | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/research.tex b/research.tex index ca2afed..8ce9098 100644 --- a/research.tex +++ b/research.tex @@ -152,12 +152,53 @@ for audio some options could be: FMOD, Wwise, or iirKlang \subsection{Conclusion} -\section{Gameloop/resource manager} +\section{resource manager} \subsection{Introduction} \subsection{Findings} +\subsection{unity formats} +Unity has many different asset file types that can be imported to use for a game \href{https://docs.unity3d.com/Manual/BuiltInImporters.html}{unity imports}. The most important formats are the audio, text and sprite formats. + +\paragraph{Audio} + +Unity uses a *Audio Source* component that holds the reference of the audio format which are all these different types. +\begin{itemize} + \item ogg. + \item aif. + \item aiff. + \item flac. + \item wav. + \item mp3. + \item mod. + \item it. + \item s3m. + \item xm. +\end{itemize} + +Where then the *Audio clip* contains all the audio data used by the *Audio Source* components. Inside the audio clip are options about each specified audio file to change specific settings from the origanl file. for example load type, compression format, quality, sample rate and more \href{https://docs.unity.cn/2018.4/Documentation/Manual/class-AudioClip.html}{audio clip} + +\paragraph{Sprite formats} +Unity supports many different image formats: +\begin{itemize} + \item jpg. + \item jpeg. + \item tif/tiff. + \item tga. + \item gif. + \item png. + \item psd. + \item bmp. + \item iff. + \item pict. + \item pic. + \item pct. + \item exr. + \item hdr. +\end{itemize} + + \subsection{Conclusion} \section{Rendering} -- cgit v1.2.3 From 05911a90908e3fb2bd1c1ca2add2ef4fef1fed1e Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Thu, 12 Sep 2024 14:17:12 +0200 Subject: research --- research.tex | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/research.tex b/research.tex index 8ce9098..b26018e 100644 --- a/research.tex +++ b/research.tex @@ -163,7 +163,7 @@ Unity has many different asset file types that can be imported to use for a game \paragraph{Audio} -Unity uses a *Audio Source* component that holds the reference of the audio format which are all these different types. +The unity engine supports a lot of different audio formats: \begin{itemize} \item ogg. \item aif. @@ -177,9 +177,8 @@ Unity uses a *Audio Source* component that holds the reference of the audio form \item xm. \end{itemize} -Where then the *Audio clip* contains all the audio data used by the *Audio Source* components. Inside the audio clip are options about each specified audio file to change specific settings from the origanl file. for example load type, compression format, quality, sample rate and more \href{https://docs.unity.cn/2018.4/Documentation/Manual/class-AudioClip.html}{audio clip} - \paragraph{Sprite formats} + Unity supports many different image formats: \begin{itemize} \item jpg. @@ -198,6 +197,31 @@ Unity supports many different image formats: \item hdr. \end{itemize} +\paragraph{scripts} +The different text scripts unity supports: + \begin{itemize} + \item txt + \item html + \item htm + \item xml + \item json + \item csv + \item yaml + \item bytes + \item fnt + \item manifest + \item md + \item js + \item boo + \item rsp + \end{itemize} + +\subsection{Audio Format} The choice of audio format for the Crepe game engine depends on several factors, including sound quality, memory usage, and licensing. According to various sources \href{https://dev.to/tenry/comparison-of-audio-formats-for-games-jak}{comparison audio formats}, \href{https://www.universityofgames.net/articles/audio-file-formats-used-in-game-development/}{Audio files in games} , the most commonly used audio formats in game development are WAV, MP3, and Ogg. + +\paragraph{Licensing} Historically, MP3 had patents on the audio format, but these restrictions have expired. Ogg and FLAC, both developed by Xiph.Org, are open-source formats. Additionally, the WAV format, though widely used, does not require a specific license for distribution. + +\paragraph{Conclusion} For the Crepe game engine, Ogg and FLAC are the preferred audio formats due to their open-source licenses and high compatibility. FLAC is ideal for high-quality audio with minimal compression, while Ogg is better suited for lower-quality audio that requires reduced memory usage. Both formats come from the same non-profit organization, Xiph.Org, ensuring that they align with open-source values and licensing flexibility. + \subsection{Conclusion} -- cgit v1.2.3 From 5a803d4b727bab3a8b2f772ac82604a643dada3c Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Thu, 12 Sep 2024 14:48:49 +0200 Subject: design document --- design.tex | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 design.tex diff --git a/design.tex b/design.tex new file mode 100644 index 0000000..30e574b --- /dev/null +++ b/design.tex @@ -0,0 +1,45 @@ +\documentclass{projdoc} +\input{meta.tex} + +\title{design document} + +\begin{document} +\tablestables +\newpage + +\section{Introduction} This document outlines the design and development process of the Crepe Game Engine, detailing the key decisions made during its creation. The primary goal of this engine is to offer a streamlined, Unity-like experience tailored for developing 2D games similar to Jetpack Joyride. + +The Crepe Engine is designed to ease the transition for developers familiar with Unity, ensuring minimal friction when switching platforms. Our aim is to preserve many of Unity’s core features while introducing a lightweight and open-source alternative, licensed under the MIT License. + +The engine is primarily aimed at indie developers who have prior experience with Unity and are looking for a flexible, cost-effective solution with familiar workflows. + + +\section{Architectural overview} + +\subsection{Core} + +\subsection{patterns} + +\section{Design} + +\subsection{Rendering} + +\subsection{Physics} + +\subsection{Scripting} + +\subsection{Audio} + +\subsection{Input} + +\subsection{Physics} + + +\section{Tools} + +\section{Conclusion} + + + +\end{document} + -- cgit v1.2.3 From 83999b29846e1338e43bf9b2fe7489d778cb7d0c Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Sun, 15 Sep 2024 13:12:27 +0200 Subject: research --- research.tex | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/research.tex b/research.tex index b26018e..8dfb2a6 100644 --- a/research.tex +++ b/research.tex @@ -197,25 +197,6 @@ Unity supports many different image formats: \item hdr. \end{itemize} -\paragraph{scripts} -The different text scripts unity supports: - \begin{itemize} - \item txt - \item html - \item htm - \item xml - \item json - \item csv - \item yaml - \item bytes - \item fnt - \item manifest - \item md - \item js - \item boo - \item rsp - \end{itemize} - \subsection{Audio Format} The choice of audio format for the Crepe game engine depends on several factors, including sound quality, memory usage, and licensing. According to various sources \href{https://dev.to/tenry/comparison-of-audio-formats-for-games-jak}{comparison audio formats}, \href{https://www.universityofgames.net/articles/audio-file-formats-used-in-game-development/}{Audio files in games} , the most commonly used audio formats in game development are WAV, MP3, and Ogg. \paragraph{Licensing} Historically, MP3 had patents on the audio format, but these restrictions have expired. Ogg and FLAC, both developed by Xiph.Org, are open-source formats. Additionally, the WAV format, though widely used, does not require a specific license for distribution. -- cgit v1.2.3 From 4022fe99a9a6e1d6e697625800f25aad1073682b Mon Sep 17 00:00:00 2001 From: Max-001 <80035972+Max-001@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:27:45 +0200 Subject: Added tasks --- time.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/time.txt b/time.txt index 43f70df..fcc3adb 100644 --- a/time.txt +++ b/time.txt @@ -66,6 +66,9 @@ max: 2024-09-19 45m sixt project meeting (part two) max: 2024-09-19 20m researching facade design pattern max: 2024-09-20 1h30m checking PvA (and fixing LaTeX) max: 2024-09-20 3h researching engine structure +max: 2024-09-24 2h seventh project meeting +max: 2024-09-24 45m PvA review with Bob +max: 2024-09-25 7h30m Creating EnTT POC and considering other ECS wouter: 2024-09-02 1h project meeting :: project kickoff wouter: 2024-09-02 45m project meeting -- cgit v1.2.3 From 11811b7f53b468f5585c17fbd6afa4ebef9d7b00 Mon Sep 17 00:00:00 2001 From: Max-001 <80035972+Max-001@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:27:37 +0200 Subject: Added task --- time.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/time.txt b/time.txt index fcc3adb..6894803 100644 --- a/time.txt +++ b/time.txt @@ -69,6 +69,7 @@ max: 2024-09-20 3h researching engine structure max: 2024-09-24 2h seventh project meeting max: 2024-09-24 45m PvA review with Bob max: 2024-09-25 7h30m Creating EnTT POC and considering other ECS +max: 2024-09-25 1h wrote email to Bob wouter: 2024-09-02 1h project meeting :: project kickoff wouter: 2024-09-02 45m project meeting -- cgit v1.2.3 From 4865777f7e98ab10c3381a0a36680415bc123113 Mon Sep 17 00:00:00 2001 From: Max-001 <80035972+Max-001@users.noreply.github.com> Date: Wed, 25 Sep 2024 21:11:18 +0200 Subject: Added task --- time.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/time.txt b/time.txt index 6894803..020c578 100644 --- a/time.txt +++ b/time.txt @@ -70,6 +70,7 @@ max: 2024-09-24 2h seventh project meeting max: 2024-09-24 45m PvA review with Bob max: 2024-09-25 7h30m Creating EnTT POC and considering other ECS max: 2024-09-25 1h wrote email to Bob +max: 2024-09-25 2h40m make my own ECS (homemade ECS) wouter: 2024-09-02 1h project meeting :: project kickoff wouter: 2024-09-02 45m project meeting -- cgit v1.2.3 From 2da0290d4e40bc15ec7b17723627daa7da201fa7 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 26 Sep 2024 17:09:23 +0200 Subject: update time.txt --- time.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/time.txt b/time.txt index fc1394c..1a935ec 100644 --- a/time.txt +++ b/time.txt @@ -44,6 +44,7 @@ loek: 2024-09-22 2h15m docs :: research loek: 2024-09-24 1h45m project meeting loek: 2024-09-25 3h implementation :: audio facade and API loek: 2024-09-26 2h project meeting +loek: 2024-09-25 1h20m implementation :: audio facade and API max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting -- cgit v1.2.3 From 426402e42fe5ba66675cba05859af990b51a6a9e Mon Sep 17 00:00:00 2001 From: Max-001 <80035972+Max-001@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:14:08 +0200 Subject: Added tasks --- time.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/time.txt b/time.txt index 47b02e3..2b31a68 100644 --- a/time.txt +++ b/time.txt @@ -76,6 +76,8 @@ max: 2024-09-24 45m PvA review with Bob max: 2024-09-25 7h30m Creating EnTT POC and considering other ECS max: 2024-09-25 1h wrote email to Bob max: 2024-09-25 2h40m make my own ECS (homemade ECS) +max: 2024-09-26 2h eight project meeting +max: 2024-09-26 1h wrote email to Bob (after project meeting) wouter: 2024-09-02 1h project meeting :: project kickoff wouter: 2024-09-02 45m project meeting -- cgit v1.2.3 From 96cd8c6ff8221f0bd5de84d9793dd4fc0e6c0a2b Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Fri, 27 Sep 2024 10:28:59 +0200 Subject: time update --- time.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/time.txt b/time.txt index c53b4e4..3426b35 100644 --- a/time.txt +++ b/time.txt @@ -128,6 +128,11 @@ niels: 2024-09-19 1h30m project meeting niels: 2024-09-19 45m project meeting niels: 2024-09-19 15m PvA reviewing niels: 2024-09-22 2h30m Adding spritesheet functionalities +niels: 2024-09-23 2h researching and POC tiled library tmxlite +niels: 2024-09-24 2h project Meeting +niels: 2024-09-24 45m meeting with Bob +niels: 2024-09-25 6h integrate the resource manager spritesheet, tmxlite, texture. +niels: 2024-09-26 2h project meeting jaro: 2024-09-02 1h project meeting :: project kickoff jaro: 2024-09-02 45m project meeting -- cgit v1.2.3 From 3e31b868d4a090c8cc40d4801ea24bde027f5624 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Fri, 27 Sep 2024 11:10:02 +0200 Subject: updated time --- time.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/time.txt b/time.txt index c53b4e4..6a785e7 100644 --- a/time.txt +++ b/time.txt @@ -102,6 +102,9 @@ wouter: 2024-09-19 15m project meeting wouter: 2024-09-19 1h30m project meeting wouter: 2024-09-19 45m project meeting wouter: 2024-09-19 15m docs :: remove versioning +wouter: 2024-09-26 2h eight project meeting +wouter: 2024-09-26 3h researching event manager + niels: 2024-09-02 1h project meeting :: project kickoff niels: 2024-09-02 45m project meeting -- cgit v1.2.3 From 61013ec6bfdc98105816a535bf2ce67f578fe675 Mon Sep 17 00:00:00 2001 From: Jaro Date: Fri, 27 Sep 2024 13:48:21 +0200 Subject: added notulen --- notulen/wk1-1.txt | 22 ++++++++++++++++++++++ notulen/wk1-2.txt | 32 ++++++++++++++++++++++++++++++++ notulen/wk2-1.txt | 41 +++++++++++++++++++++++++++++++++++++++++ notulen/wk2-2.txt | 40 ++++++++++++++++++++++++++++++++++++++++ notulen/wk3-1.txt | 38 ++++++++++++++++++++++++++++++++++++++ notulen/wk3-2.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ notulen/wk4-1.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ notulen/wk4-2.txt | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 306 insertions(+) create mode 100644 notulen/wk1-1.txt create mode 100644 notulen/wk1-2.txt create mode 100644 notulen/wk2-1.txt create mode 100644 notulen/wk2-2.txt create mode 100644 notulen/wk3-1.txt create mode 100644 notulen/wk3-2.txt create mode 100644 notulen/wk4-1.txt create mode 100644 notulen/wk4-2.txt diff --git a/notulen/wk1-1.txt b/notulen/wk1-1.txt new file mode 100644 index 0000000..eb48e74 --- /dev/null +++ b/notulen/wk1-1.txt @@ -0,0 +1,22 @@ + Documents + Project plan + Setup project plan + 2 meetings 30 minutes standup + 1 hour discussion + document standard + Ask if APA is a requirement. + Git + Setup document repo + Setup code repo + Setup code standard + Environments + Setup environment code + Setup environment document + Research + 3rd party tools + SDL2 + SFML + Watch video project introduction unity + + + + diff --git a/notulen/wk1-2.txt b/notulen/wk1-2.txt new file mode 100644 index 0000000..36b3c3f --- /dev/null +++ b/notulen/wk1-2.txt @@ -0,0 +1,32 @@ + Documents + Research Document + Setup research document + Project plan + [closed]Setup project plan + [closed] 2 meetings 30 minutes standup + 1 hour discussion + Continue adding information to project plan + document standard + Add updates when needed + [closed] Ask if APA is a requirement. (not needed) + Git + [closed] Setup document repo + [closed] Setup code repo + [closed] Setup code standard + Code standard + Add updates when needed + add doxygen code comments + Environments + [closed]Setup environment code + + Setup environment document + issues with windows and linux compatibility latex + Research + 3rd party tools + SDL2 + SFML + [closed] Watch video project introduction unity + research unity game engine + + + + diff --git a/notulen/wk2-1.txt b/notulen/wk2-1.txt new file mode 100644 index 0000000..a83e028 --- /dev/null +++ b/notulen/wk2-1.txt @@ -0,0 +1,41 @@ + Documents + Research Document + [closed] Setup research document + Project plan + Continue adding information to project plan + Review document + document standard + Add updates when needed + use autocite for sources + requirement + setup requirement document + add userstories to requirement + design document + setup design document + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + Setup environment document + issues with windows and linux compatibility latex. (different issue) + Research + [closed] 3rd party tools (added to research document) + SDL2 + SFML + research unity game engine (reviewing added information) + start research gameloop + eventmanager + start research resource manager + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics + start research audio + Design + discussed class diagram + Discussion SDL2 and SFML + + + + diff --git a/notulen/wk2-2.txt b/notulen/wk2-2.txt new file mode 100644 index 0000000..2835d9b --- /dev/null +++ b/notulen/wk2-2.txt @@ -0,0 +1,40 @@ + Documents + Research Document + Continue adding research information + Project plan + [closed] Continue adding information to project plan + Review document + document standard + Add updates when needed + [closed] use autocite for sources + requirement + [closed] setup requirement document + [closed] add userstories to requirement + design document + [closed] setup design document + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + Setup environment document + [closed] issues with windows and linux compatibility latex. + Research + [closed] research unity game engine (reviewing added information) + start research gameloop + eventmanager + start research resource manager + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics + start research audio + start research ecs + Design + discussed class diagram + Discussing validation application + [closed] Discussion SDL2 and SFML + + + + diff --git a/notulen/wk3-1.txt b/notulen/wk3-1.txt new file mode 100644 index 0000000..5894627 --- /dev/null +++ b/notulen/wk3-1.txt @@ -0,0 +1,38 @@ + Documents + Research Document + Continue adding research information + Project plan + Final Review document + document standard + Add updates when needed + requirement + - + design document + - + no version control + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + - + Research + start research gameloop + eventmanager Starting POC + start research resource manager POC + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics Starting POC + start research audio POC + start research ecs + Design + discussed class diagram + Making first version of class diagram + Change string from audio and sprint to a instance of an object (resource) + [closed] Discussing validation application + + + + + diff --git a/notulen/wk3-2.txt b/notulen/wk3-2.txt new file mode 100644 index 0000000..699bd2c --- /dev/null +++ b/notulen/wk3-2.txt @@ -0,0 +1,43 @@ + Documents + Research Document + Continue adding research information + Project plan + Final Review document + document standard + Add updates when needed + requirement + - + design document + - + [closed] no version control + [closed] Converting meeting nodes + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + - + Research + start research gameloop + eventmanager Starting POC adding to documentation + start research resource manager POC add to documentation + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics Starting POC + start research audio finishing POC + start research ecs + start research particels + start research loading level and sprite (visuals) + Design + discussed class diagram + Making first version of class diagram + [closed] Change string from audio and sprint to a instance of an object (resource) + [closed] Discussing validation application + Product + Creating 3rd party tool facade audio + + + + + diff --git a/notulen/wk4-1.txt b/notulen/wk4-1.txt new file mode 100644 index 0000000..f6d49ce --- /dev/null +++ b/notulen/wk4-1.txt @@ -0,0 +1,43 @@ + Documents + Research Document + Continue adding research information + Project plan + [closed] Final Review document + document standard + Add updates when needed + requirement + - + design document + - + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + - + Research + start research gameloop + eventmanager Starting POC adding to documentation + start research resource manager POC move some functionality + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics Starting POC + Discussed functional phiscics requirements + [closed] start research audio finishing POC + start research ecs (creating POC) + start research particels + [closed] start research loading level and sprite (visuals) + Design + discussed class diagram + [closed] Making first version of class diagram + Adding design audio + Adding design resource manager + + Product + Creating 3rd party tool facade audio + + + + + diff --git a/notulen/wk4-2.txt b/notulen/wk4-2.txt new file mode 100644 index 0000000..2bfbadb --- /dev/null +++ b/notulen/wk4-2.txt @@ -0,0 +1,47 @@ + Documents + Research Document + Continue adding research information + Project plan + - + document standard + Add updates when needed + requirement + - + design document + - + Git + Code standard + Add updates when needed + add doxygen code comments + Environments + - + Research + [closed] start research gameloop + eventmanager + start research resource manager POC move some functionality + start research renderer + start research scripting + start research debugging/profiling + start research gameobject + start research physics Starting POC + Discussed functional phiscics requirements + start research ecs (showed poc design must change asked customer if design can change) + start research particels + Design + discussed class diagram + one instance of rigidbody and collider + Gameobject is not the owner of the component but the manager is + and one component type per gameobject. + Functions within a model can they change? + Adding design audio + Adding design resource manager + Adding design gameloop + eventmanager + Product + Creating 3rd party tool facade audio + class diagram to c++ will wait until some design changes + Test + Add unit test for audio + + + + + -- cgit v1.2.3 From ea9cef29f089a7f72d990e2e0878157e54b15519 Mon Sep 17 00:00:00 2001 From: Jaro Date: Fri, 27 Sep 2024 14:33:13 +0200 Subject: updated time.txt --- time.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/time.txt b/time.txt index 6a785e7..b9fd96b 100644 --- a/time.txt +++ b/time.txt @@ -163,5 +163,10 @@ jaro: 2024-09-19 30m project meeting jaro: 2024-09-19 1h30m project lesson jaro: 2024-09-19 1h project meeting jaro: 2024-09-19 30m project plan and class diagram - +jaro: 2024-09-24 3h45m physics research and poc +jaro: 2024-09-24 3h30m project: meeting + delivery project plan +jaro: 2024-09-26 2h30m physics research and poc +jaro: 2024-09-26 30m preparing meeting +jaro: 2024-09-26 2h team meeting +jaro: 2024-09-27 45m converting notes # vim:ft=cfg -- cgit v1.2.3 From e89a3fa70f59cd32cba4572aef2b9c2967c22f77 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Fri, 27 Sep 2024 15:08:36 +0200 Subject: merge #26 + style guide update --- contributing.md | 2 +- design.tex | 25 +++++++++++++++---------- research.tex | 49 +++++++++++++++++++++++++++++++++++++++---------- style.md | 3 +++ 4 files changed, 58 insertions(+), 21 deletions(-) diff --git a/contributing.md b/contributing.md index 46cfeca..8105e0d 100644 --- a/contributing.md +++ b/contributing.md @@ -7,7 +7,7 @@ other document. - Indent using tabs - Wrap long lines at column 80 - ASCII only (LaTeX syntax should be used instead of UTF-8, i.e. `fa\c{c}ade` - instead of `façade`, `---` instead of `—`) + instead of `façade`, `---` instead of `—`, `cr\^epe` instead of `crêpe`) - Images should be placed in the img/ folder - Labels and bibliography keys should only consist of characters from the following set: `[a-z0-9:-]` (lower-case, numbers, colon, dash). diff --git a/design.tex b/design.tex index 30e574b..c5bd017 100644 --- a/design.tex +++ b/design.tex @@ -1,24 +1,32 @@ \documentclass{projdoc} -\input{meta.tex} -\title{design document} +\title{Software Design} \begin{document} \tablestables \newpage -\section{Introduction} This document outlines the design and development process of the Crepe Game Engine, detailing the key decisions made during its creation. The primary goal of this engine is to offer a streamlined, Unity-like experience tailored for developing 2D games similar to Jetpack Joyride. +\section{Introduction} -The Crepe Engine is designed to ease the transition for developers familiar with Unity, ensuring minimal friction when switching platforms. Our aim is to preserve many of Unity’s core features while introducing a lightweight and open-source alternative, licensed under the MIT License. +This document outlines the design and development process of the cr\^epe game engine, +detailing the key decisions made during its creation. The primary goal of this engine +is to offer a streamlined, Unity-like experience tailored for developing 2D games +similar to Jetpack Joyride. -The engine is primarily aimed at indie developers who have prior experience with Unity and are looking for a flexible, cost-effective solution with familiar workflows. +The cr\^epe engine is designed to ease the transition for developers familiar with +Unity, ensuring minimal friction when switching platforms. Our aim is to preserve +many of Unity’s core features while introducing a lightweight and open-source +alternative, licensed under the MIT License. +The engine is primarily aimed at indie developers who have prior experience with +Unity and are looking for a flexible, cost-effective solution with familiar +workflows. -\section{Architectural overview} +\section{Overview} \subsection{Core} -\subsection{patterns} +\subsection{Patterns} \section{Design} @@ -34,12 +42,9 @@ The engine is primarily aimed at indie developers who have prior experience with \subsection{Physics} - \section{Tools} \section{Conclusion} - - \end{document} diff --git a/research.tex b/research.tex index 4a65ec3..1b8a5ab 100644 --- a/research.tex +++ b/research.tex @@ -1,6 +1,6 @@ \documentclass{projdoc} -\title{Research document} +\title{Research Document} \begin{document} \tablestables @@ -310,12 +310,18 @@ for audio some options could be: FMOD, Wwise, or iirKlang \subsection{Findings} -\subsection{unity formats} -Unity has many different asset file types that can be imported to use for a game \href{https://docs.unity3d.com/Manual/BuiltInImporters.html}{unity imports}. The most important formats are the audio, text and sprite formats. +\subsection{Unity formats} -\paragraph{Audio} +% TODO: +ref (urldate 2024-09-11) +Unity has many different asset file types that can be imported to use for a game +\href{https://docs.unity3d.com/Manual/BuiltInImporters.html}{unity imports}. The most +important formats are the audio, text and sprite formats. -The unity engine supports a lot of different audio formats: +\subsubsection{Audio} + +% NOTE: multicols to save space (is this list necessary?) +The unity engine supports a lot of different audio formats:\noparbreak +\begin{multicols}{5} \begin{itemize} \item ogg. \item aif. @@ -328,10 +334,13 @@ The unity engine supports a lot of different audio formats: \item s3m. \item xm. \end{itemize} +\end{multicols} -\paragraph{Sprite formats} +\subsubsection{Sprite formats} -Unity supports many different image formats: +% NOTE: multicols to save space (is this list necessary?) +Unity supports many different image formats:\noparbreak +\begin{multicols}{5} \begin{itemize} \item jpg. \item jpeg. @@ -348,13 +357,32 @@ Unity supports many different image formats: \item exr. \item hdr. \end{itemize} +\end{multicols} + +\subsection{Audio Format} -\subsection{Audio Format} The choice of audio format for the Crepe game engine depends on several factors, including sound quality, memory usage, and licensing. According to various sources \href{https://dev.to/tenry/comparison-of-audio-formats-for-games-jak}{comparison audio formats}, \href{https://www.universityofgames.net/articles/audio-file-formats-used-in-game-development/}{Audio files in games} , the most commonly used audio formats in game development are WAV, MP3, and Ogg. +% TODO: +ref (both urldate 2024-09-12) +The choice of audio format for the cr\^epe game engine depends on several factors, +including sound quality, memory usage, and licensing. According to various sources +\href{https://dev.to/tenry/comparison-of-audio-formats-for-games-jak}{comparison audio formats}, +\href{https://www.universityofgames.net/articles/audio-file-formats-used-in-game-development/}{Audio files in games}, +the most commonly used audio formats in game development are WAV, MP3, and Ogg. -\paragraph{Licensing} Historically, MP3 had patents on the audio format, but these restrictions have expired. Ogg and FLAC, both developed by Xiph.Org, are open-source formats. Additionally, the WAV format, though widely used, does not require a specific license for distribution. +\subsubsection{Licensing} -\paragraph{Conclusion} For the Crepe game engine, Ogg and FLAC are the preferred audio formats due to their open-source licenses and high compatibility. FLAC is ideal for high-quality audio with minimal compression, while Ogg is better suited for lower-quality audio that requires reduced memory usage. Both formats come from the same non-profit organization, Xiph.Org, ensuring that they align with open-source values and licensing flexibility. +Historically, MP3 had patents on the audio format, but these restrictions have +expired. Ogg and FLAC, both developed by Xiph.Org, are open-source formats. +Additionally, the WAV format, though widely used, does not require a specific license +for distribution. +\subsubsection{Conclusion} + +For the cr\^epe game engine, Ogg and FLAC are the preferred audio formats due to +their open-source licenses and high compatibility. FLAC is ideal for high-quality +audio with minimal compression, while Ogg is better suited for lower-quality audio +that requires reduced memory usage. Both formats come from the same non-profit +organization, Xiph.Org, ensuring that they align with open-source values and +licensing flexibility. \subsection{Conclusion} @@ -477,3 +505,4 @@ the most suitable (and only) audio library for use in this project. \subsection{Conclusion} \end{document} + diff --git a/style.md b/style.md index 8dca81b..2229947 100644 --- a/style.md +++ b/style.md @@ -13,6 +13,9 @@ reference. instead of a slash, etc.) - Quotes are closed before punctuation marks. - Do not use contractions, modal adverbs or rhetorical questions. +- The engine is stylized in lowercase, and is just called 'crêpe'. Additional + words describing what crêpe is (i.e. '(game) engine') should not be + capitalized, as crêpe is not written like a porper noun. # References -- cgit v1.2.3 From a2476f312f7f00b1462df55275e55e602382f558 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sat, 28 Sep 2024 15:03:06 +0200 Subject: update time.txt --- time.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/time.txt b/time.txt index e385e49..e85f602 100644 --- a/time.txt +++ b/time.txt @@ -45,6 +45,8 @@ loek: 2024-09-24 1h45m project meeting loek: 2024-09-25 3h implementation :: audio facade and API loek: 2024-09-26 2h project meeting loek: 2024-09-25 1h20m implementation :: audio facade and API +loek: 2024-09-27 20m PR merge and style guide update +loek: 2024-09-27 55m implementation :: fix library import structure max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting -- cgit v1.2.3 From 044cb743be15d61581c06e6b8a8024372206373d Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sat, 28 Sep 2024 17:10:27 +0200 Subject: update time.txt --- time.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/time.txt b/time.txt index e85f602..1e118af 100644 --- a/time.txt +++ b/time.txt @@ -47,6 +47,7 @@ loek: 2024-09-26 2h project meeting loek: 2024-09-25 1h20m implementation :: audio facade and API loek: 2024-09-27 20m PR merge and style guide update loek: 2024-09-27 55m implementation :: fix library import structure +loek: 2024-09-28 2h20m implementation :: audio facade and API max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting -- cgit v1.2.3 From 7a044bb0081f73e2b500f2c1c82d6ad298fc98a1 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sun, 29 Sep 2024 16:39:28 +0200 Subject: update time.txt --- time.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/time.txt b/time.txt index 1e118af..6dc2f0c 100644 --- a/time.txt +++ b/time.txt @@ -48,6 +48,8 @@ loek: 2024-09-25 1h20m implementation :: audio facade and API loek: 2024-09-27 20m PR merge and style guide update loek: 2024-09-27 55m implementation :: fix library import structure loek: 2024-09-28 2h20m implementation :: audio facade and API +loek: 2024-09-29 1h55m implementation :: debug logging facilities +loek: 2024-09-29 20m implementation :: audio facade max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting -- cgit v1.2.3