I've been writing games for around 10 years now (from QBasic to C# and everything in-between). I need to start stretching my skills into different areas. What are other, surprising topics I should read up on?
Expected topics would include the usual suspects:
Programming language of your choice
Scripting language
Source control
Project management (or Agile)
Graphics API
Maybe some AI (A* path-finding?)
Physics (projectile physics)
Unit testing (automated testing)
I'm looking for more esoteric topics; things that you don't expect to need to know, but if you do know them, they make a difference. This could include things like:
Art skills (drawing, lighting, colouring, layout, etc.)
Natural language processing
The physics of sound (sound-waves, doppler effect, etc.)
Personally, I feel that having technical art skills (eg. can make decent art-work if you can only come up with ideas; or, following Photoshop/GIMP tutorials) was the most beneficial for me.
This is not intended to be an open-ended question; I'm looking for specific skills that helped you and you expect will continue to benefit you in the short- and long-term.