\documentclass{article}
\usepackage{xskak}    % Vorgänger: skak
\usepackage{animate}
\usepackage[utf8]{inputenc}
\begin{document}
\section{Spiel anzeigen -- schamlos aus der Doku kopiert}
  
\setchessboard{boardfontsize=0.8cm,shortenend=5pt, margin=false}%
%\setboardfontencoding{LSBC4}%
\newskaklanguage{german}{KDTLSB}\skaklanguage[german]%
%
\newcommand\getmovestyle[1]{%
\ifthenelse
{\equal{#1}{N}}%knight move
{\def\mymovestyle{[clockwise=false,style=knight]curvemove}}
{\ifthenelse
{\equal{#1}{}}% castling
{\def\mymovestyle{curvemove}}
{\def\mymovestyle{straightmove}}}}%
%
\newchessgame[white=Paethz,black=Dirr,result=0-1,id=anim]%
\hidemoves{%
1.d4 Sf6 2.c4 g6 3.Sc3 Lg7 4.e4 d6 5.Sge2 O-O
6.Sg3 c6 7.Le2 a6 8.a4 a5 9.h4 h5 10.Le3 Sa6
11.f3 e5 12.d5 Sd7 13.Sf1 Sdc5 14.Sd2 Db6
15.Db1 Sb4 16.Sb3 Scd3+ 17.Kd2 Dxe3+}%
%
\unitlength0.8cm\relax
\begin{animateinline}[autoplay,loop,controls]{0.5}%
\begin{picture}(11,11)
\put(1.5,1.5){\chessboard[setfen=\xskakgetgame{initfen}]}%
\end{picture}
\newframe
\xskakloop{%
\getmovestyle{\xskakget{piecechar}}%
\begin{picture}(11,11)
\put(1.5,1.5){%
\chessboard[pgfstyle=\mymovestyle, color=blue,
pgfshortenend=0.3em,arrow=to,
markmoves=\xskakget{move},
coloremph,piececolor=blue,
emphfields={\xskakget{moveto}},
setfen=\xskakget{nextfen}]}%
\end{picture}%
\newframe}%
\begin{picture}(11,11)
\put(1.5,1.5){\chessboard[setfen=\xskakgetgame{lastfen}]}%
\end{picture}
\end{animateinline}

\end{document}