\documentclass[aspectratio=169]{beamer} % pdfpc slides.pdf --notes=right % comment out to disable notes %\setbeameroption{show notes on second screen=right} \usetheme{metropolis} \usepackage{minted} \setminted{fontsize=\footnotesize,samepage=true} %\usepackage{xcolor} %\definecolor{codecolor}{HTML}{FFC300} \title{VEGO-Engine} \subtitle{A student project} \author{Benedikt, Nicole} \begin{document} \maketitle \note{Tone: light hearted "What did we learn"} \begin{frame}{Outline} \tableofcontents \end{frame} \section{Context} \subsection{The team} \begin{frame}{Who are we?} Hello, this us We had help - 3 other students with similar experience \end{frame} \subsection{The project} \begin{frame}{The assigment} UAS Technikum Project \end{frame} \begin{frame}{Our interpretation and goals} A cool engine \end{frame} \begin{frame}{Roadmap} 3st Semester - learning SDL 4th/5th Semester - making the engine \end{frame} \section{Learnings} \subsection{Project environment} \begin{frame}{Baby's first \texttt{CMakeLists.txt}} \begin{itemize} \item On UAS: Only ever Make or no project setup \end{itemize} \end{frame} \begin{frame}{Visual Studio} Hate \end{frame} \begin{frame}{How the \_ do I import a library?} \begin{itemize} \item git-modules \end{itemize} \end{frame} \note[itemize]{ \item SDL is a library, static compile \item git-modules - do not bloat contributions } \begin{frame}[allowframebreaks, fragile]{We made an ECS - almost?} Why an ECS - Entity Component System? \begin{itemize} \item Encourages reusable code \end{itemize} \end{frame} \begin{frame}[allowframebreaks, fragile]{Memory Management} \begin{minted}[linenos,autogobble]{c++} class Manager { public: Entity& addEntity() { Entity* e = new Entity(*this); std::unique_ptr uPtr{ e }; this->entities.emplace_back(std::move(uPtr)); return *e; } private: std::vector> entities; } \end{minted} \framebreak Does that solve memory management? Not quite: \begin{itemize} \item Missing separation of concern - manager also propagates update call \item What if I want to "save" existing entities \item Everything is an entity \end{itemize} \end{frame} %code example \begin{frame}[fragile] \begin{minted}[linenos,autogobble]{c} #include int main() { printf("Hello, World!"); return 0; } \end{minted} \end{frame} \begin{frame} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate} \end{frame} \end{document}