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.