On my spare time, I finished reading Game Engine Architecture by Jason Gregory, a lead programmer at Naughty Dog. I highly recommend it to anyone who is interested in learning better ways to handle both common and complex problems in a 3D environment for all different fields of the game industry. Some of the best practices mentioned in the book are GJK collision boundary testing for convex shapes, retargeting poses for 3D objects that have the same skeleton, blending animations using a blend tree, and swapping memory portions of different sections of an open world. It even does an analysis of different architectures found in the Naughty Dog engine, Ogre, and Unreal.
I have also been messing around with 3D gameplay prototyping with Unreal and Unity. They both seem to have their pros and cons, but so far, I find that Unreal has more powerful game development features than Unity and its interface has become very similar to Unity. Also with the move to use C++ as its main scripting language and a similar component based archectiture with Unity, I have begun to like Unreal more. The gorgeous rendering in Unreal really captured my eye before and seeing features such as retargeting animation poses that was mentioned in the book makes me want to explore Unreal more for now.