p3: contents ready

master p3-rc0
Clemens Klug 2018-07-26 16:34:43 +02:00
parent 7995172970
commit d150f74d79
3 changed files with 67 additions and 229 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
PresTeX/images/eval.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -100,51 +100,21 @@ compress
%%%%%%%%%% Content starts here %%%%%%%%%% %%%%%%%%%% Content starts here %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Location based Games} \section{A Framework for the Analysis of Spatial Game Data}
\begin{frame}{Location based Games} \begin{frame}{A Framework for the Analysis of Spatial Game Data}
\framesubtitle{Put the 'fun' in education} \framesubtitle{Goal definition}
\begin{columns} \begin{columns}
\column{0.55\linewidth} \column{0.49\linewidth}
Intersection of GIS and gaming technology\footnotemark Geogames: Intersection of GIS and gaming technology\footnotemark
\begin{itemize} \begin{itemize}
\item Game actions tied to real-world spatial places ('Break the magic circle')%TODO citation \item Game actions tied to real-world spatial places ('Break the magic circle')
\item Locomotion as essential game part \item Locomotion as essential game part
\item Trade-offs between board and race style games\footnotemark \item Trade-offs between board and race style games\footnotemark
\item Foster recognition of environment \item Foster recognition of environment
\item Focus through game related tasks \item Focus through game related tasks
\end{itemize} \end{itemize}
\column{.45\linewidth} \column{.49\linewidth}
\image{.5\textwidth}{gg2}{Geogame map view}{img:gg2} Scope of the analysis framework
\end{columns}
\addtocounter{footnote}{-1}
\footcitetext{Ahlqvist2018}\stepcounter{footnote}
\footcitetext{1705427}
\end{frame}
\begin{frame}{Research with location based games}
\begin{columns}
\column{0.35\linewidth}
\begin{itemize}
\item Define mission statement
\item Build statistical framework
\item Questionnaires
\begin{itemize}
\item Pre
\item Post
\end{itemize}
\item {[Data entry]}
\item Statistical processing
\end{itemize}
\column{.6\linewidth}
\image{\textwidth}{biodiv-schaal}{Statistical framework for BioDiv2Go\footnotemark}{img:biodiv-schaal}
\end{columns}
%\addtocounter{footnote}{-1}
\footcitetext{Schaal2017}%\stepcounter{footnote}
\end{frame}
\section{Goal definition}
\begin{frame}{Goal definition}
\framesubtitle{A Framework for the Analysis of Spatial Game Data}
\begin{itemize} \begin{itemize}
\item Framework for analysis \item Framework for analysis
\item Two target groups: \item Two target groups:
@ -155,9 +125,13 @@ Intersection of GIS and gaming technology\footnotemark
\item Integration of external data (questionnaire results) \item Integration of external data (questionnaire results)
\item Adaptable for multiple games \item Adaptable for multiple games
\end{itemize} \end{itemize}
\end{columns}
\addtocounter{footnote}{-1}
\footcitetext{Ahlqvist2018}\stepcounter{footnote}
\footcitetext{1705427}
\end{frame} \end{frame}
\begin{frame}{Components} \begin{frame}{Framework components}
Prerequisites: Game log Prerequisites: Game log
\begin{itemize} \begin{itemize}
\item Creation \item Creation
@ -173,123 +147,18 @@ New components
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\section{State of research} \section{Modular map-reduce architecture}
\frame
{
\tableofcontents[sectionstyle=show/hide,hideothersubsections]
}
\subsection{Log processing}
\begin{frame}{Modern log processing stacks}
Technologies: Collection, Time-series databases, Frontend
\begin{itemize}
\item ELK (Elastic search, Logstash, Kibana)\autocite{andreassen2015monitoring} \autocite{yang2016aggregated} \autocite{steinegger2016analyse} \autocite{sanjappa2017analysis}
\item Collectd, Influx DB, Grafana \autocite{komarek2017metric}
\item
\end{itemize}
\begin{itemize}
\item[+] widely deployed
\item[+] powerful query languages %TODO example
\item mainly web/container/hardware monitoring
\item[-] spatial analysis: heavily anonymized
\item[-] fast-paced environment
\end{itemize}
\end{frame}
\subsection{Pedestrian traces}
\begin{frame}{Analyzing pedestrian movement}
\framesubtitle{… based on GPS logs}
\begin{itemize}
\item GPS overestimates systematically \autocite{Ranacher_2015}
\item GPS is a suitable instrument for spatio-temporal data\autocite{van_der_Spek_2009}
\item Activity mining \autocite{Gong_2014}
\begin{itemize}
\item Speed-based Clustering \autocite{ren2015mining}
%\item \autocite{Ferrante_2016} % closed access
\item Machine Learning \autocite{pattern_recog} %TODO
\end{itemize}
\item E.g.: Improve tourist management \autocite{tourist_analysis2012}
\end{itemize}
\end{frame}
\begin{frame}{Heatmap}
\image{.81\textwidth}{strava}{Heatmap: Fitnesstracker\autocite{strava}}{img:strava}
\end{frame}
\begin{frame}{Space-time cube}
\image{.72\textwidth}{space-time}{Space-time cube examples\autocite{bach2014review}}{img:spacetime}
\end{frame}
\begin{frame}{Trajectory patterns}
\image{\textwidth}{traj-pattern}{Flock and meet trajectory pattern\autocite{jeung2011trajectory}}{img:traj-pattern}
\end{frame}
\begin{frame}{Generalization}
\image{\textwidth}{generalization}{Trajectories and generalizations with varying radius parameter \autocite{adrienko2011spatial}}{img:generalization}
\end{frame}
\subsection{Analyzing games}
\begin{frame}{Analyzing games}
\begin{itemize}
\item there's more than heatmaps
\item combine position with game actions
\item identify patterns, balancing issues
\item manual processes %\citetitle{Drachen2013}\citetitle{AHLQVIST20181}
\end{itemize}
\vspace{-42pt}
%\image{.5\textwidth}{game-an}{chat logs with players location \autocite{Drachen2013}}{img:chatlogs}
%\image{.5\textwidth}{ac3-death}{identify critical sections \autocite{Drachen2013}}{img:ac3death}
\twofigures{0.5}{game-an}{Chat logs with players location}{img:chatlogs}{ac3-death}{Identify critical sections}{img:ac3death}{Game analytics \cite{Drachen2013}}{fig:gameanal}
\end{frame}
%\subsection{Location based games}
\subsection{Summary}
\begin{frame}{Summary}
\begin{itemize}
\item Log processing: Powerful stacks
\item Movement analysis: Large field already explored (GPS influence, Patterns, Behavior recognition, …)
\item Track rendering: Track (with attributes), Space-time cube, Heatmap, …
\item Spatial analysis of digital games with GIS
\item Analysis of location based games: Laborious manual process
\end{itemize}
\end{frame}
\section{Solution approach}
\frame
{
\tableofcontents[sectionstyle=show/hide,hideothersubsections]
}
\subsection{Requirements}
\begin{frame}{Requirements}
\framesubtitle{Wait, what did I want to do again?}
\begin{itemize}
\item Per-game importer (Web client, File loader, …)
\item Analyzer modules (number crunching)
\item Output \& Visualization (CSV, [Geo]JSON, KML, Graphs, …)
\item Interface (Configuration)
\begin{itemize}
\item Expert users/researchers
\item Staging/designing staff
\end{itemize}
\item Cross-game comparisons
\item Integration of external data (questionnaire results)
\end{itemize}
\end{frame}
\subsection{Architecture}
\begin{frame}{Experiment: Kibana}
\image{.85\textwidth}{kibana}{Game trace in Kibana}{img:kibana}
\end{frame}
\begin{frame}{Experiment: Kibana}
\image{.85\textwidth}{kibana2}{Game trace in Kibana}{img:kibana2}
\end{frame}
\begin{frame}{Experiment: Grafana}\hspace{.3\textwidth}a\\[-24pt]
\image{.85\textwidth}{grafana}{Side project: Weather station with Grafana}{img:grafana}
\end{frame}
\begin{frame}{Architecture} \begin{frame}{Architecture}
Log processing turn-key solutions
\begin{itemize}
\item fast update cycles
\item low spatial resolution
\item query languages as entry barrier
\end{itemize}
Custom stack solution
\begin{itemize} \begin{itemize}
\item Based on map-reduce \item Based on map-reduce
\item Map: Analysis \item Map: Analysis
@ -309,7 +178,7 @@ Technologies: Collection, Time-series databases, Frontend
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}{Architecture scheme} \begin{frame}{Log processing scheme}
\image{\textwidth}{../../ThesTeX/images/map-reduce.pdf}{Data flows}{img:flow} \image{\textwidth}{../../ThesTeX/images/map-reduce.pdf}{Data flows}{img:flow}
\end{frame} \end{frame}
@ -318,39 +187,9 @@ Technologies: Collection, Time-series databases, Frontend
%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
\section{Implementation} \section{Microservice oriented implementation}
\subsection{Technologies} \subsection{Service Composition}
\begin{frame}{Implementation}
\begin{columns}
\column{0.55\linewidth}
Analysis
\begin{itemize}
\item Python (3.6)
\item Standalone library/CLI tool
\item Web based configuration/Runner/API (Flask, Celery)
\end{itemize}
Rendering
\begin{itemize}
\item Matplotlib, Numpy
\begin{itemize}
\item Graphs
\end{itemize}
\item Javascript
\begin{itemize}
\item Leaflet
\item Web visualization: Maps, Tracks, …
\end{itemize}
\end{itemize}
\pic{.5\textwidth}{matplotlib}
\column{0.4\linewidth}
\pic{.5\textwidth}{python}
\pic{.4\textwidth}{flask}
\pic{.4\textwidth}{leaflet}
\end{columns}
\end{frame}
\subsection{Microservice Composition}
\begin{frame}{Microservice Composition} \begin{frame}{Microservice Composition}
\framesubtitle{Dockerize everything!} \framesubtitle{Dockerize everything!}
\begin{columns} \begin{columns}
@ -368,51 +207,23 @@ Technologies: Collection, Time-series databases, Frontend
\end{columns} \end{columns}
\end{frame} \end{frame}
\subsection{Classes} \subsection{Results}
\begin{frame}{Analysis}
\twofigures{0.5}{code/analyzer}{Analyzer interface}{code:anif}{code/mask-spatials}{Sample analyzer}{code:mask}{Analyzer stub and implementation}{fig:pyan}
\end{frame}
\begin{frame}{Result}
\image{\textwidth}{code/result}{Result class}{code:result}
\end{frame}
\begin{frame}{Render}
\twofigures{0.5}{code/render}{Render interface}{code:reif}{code/render-board}{Sample render}{code:rebo}{Render stub and implementation}{fig:pyre}
\end{frame}
\subsection{Configuration}
\begin{frame}{Configuration \& result}
\twofigures{0.5}{oeb-kml}{Analyzer configuration}{img:oebkml}{oeb-ge}{Result visualized}{img:oebge}{Example: Generate KML tracks (BioDiv2Go; Oberelsbach2016)}{fig:oeb2016}
\end{frame}
\begin{frame}{ActivityMapper} \begin{frame}{ActivityMapper}
\image{.7\textwidth}{track-fi}{Combined screen activity and spatial progress}{img:trackfi} \image{.7\textwidth}{track-fi}{Combined screen activity and spatial progress}{img:trackfi}
\end{frame} \end{frame}
\begin{frame}{Graphs}
\begin{columns}
\column{0.45\linewidth}
\image{\textwidth}{simu-retries}{Experimentational rounds}{img:retries}
\column{0.45\linewidth}
\image{\textwidth}{speed}{Speed distribution}{img:speed}
\end{columns}
\end{frame}
\begin{frame}{Graphs}
\image{.9\textwidth}{time-rel}{Time distribution}{img:time}
\end{frame}
\section{Evaluation} \section{Evaluation}
\subsection{Setup} \subsection{Setup}
\begin{frame}{Evaluation} \begin{frame}{Evaluation}
\begin{itemize} %\begin{itemize}
\item Analyse other geogames % \item Analyse other geogames
\item Describe effort % \item Describe effort
\item ? % \item ?
\item Profit % \item Profit
\end{itemize} %\end{itemize}
\image{\textwidth}{eval}{Evaluation setup}{img:eval}
\end{frame} \end{frame}
\begin{frame}{Evaluation} \begin{frame}{Evaluation}
@ -441,8 +252,35 @@ Equilibrium & $\approx40$ & GPX with missing end tag\\
\end{frame} \end{frame}
\subsection{Results} \subsection{Results}
\begin{frame}{Integration of Neocartographer}
Challenges
\begin{itemize}
\item Corrupted XML files
\item No game server with API for log retrieval
\end{itemize}
\begin{longtable}[H]{rl}
Geogame & Log files \\
\hline
missing attribute space & <desc><event message="leaveObject"geoid="9"/></desc>\\
unclosed tag & <desc><event </desc>\\
missing attribute name & <trkpt lat="48.3689110.897709">\\
invalid attribute values & <trkpt lat="UNKNOWN" lon="UNKNOWN">\\
\caption{Neocartographer GPX log error types}
\label{tab:xml}
\end{longtable}
Solutions
\begin{itemize}
\item Recovery parser \& custom cleanup (new dependency: lxml)
\item Additional log server (Nginx with JSON autoindex)
\end{itemize}
\end{frame}
\begin{frame}{Evaluation results} \begin{frame}{Evaluation results}
\image{\textwidth}{eval-changes}{Code changes necessary for the integration of another game}{img:eval}
\end{frame} \end{frame}
\section{Demotime} \section{Demotime}