Here are some of the major changes since last year:
I really wanted access to some of the DX11 features and the SharpDX toolkit makes the transition from XNA very painless. I was never really a big fan of XNA's content pipeline, so I created my own. Turns out, Assimp is a a lot faster, more flexible, and robust than XNA's importers and crunch does an excellent job of compressing textures.
I always thought the math involved in skeletal animation was scary. However, implementing it for myself was surprisingly easy. Besides simply playing and mixing animations, I can now easily sync gameplay actions with events embedded in the animations.
While working on the AI, I realized that the classic waypoint graphs weren't working for me anymore. They had to be way too dense in order to allow the kinds of behaviors I wanted. So now I entered the 21st century and use navmeshes that are automatically generated from the level geometry. Since the walkable areas are 2D, I use the excellent libraries Clipper and Poly2Tri to generate and triangulate the meshes.