I had a job interview with a Games Dev company a few years back. Completely out of the blue - saw an ad in the local paper for Science/Maths/Computing graduates with an interest in games. I was teaching IT in a high school at the time, but had a rich background in paper-based role-playing games.
At the first interview I was asked how I would model the wake of a boat... I had no clue, but was advised to look into "Binary Space Partition". By the second interview a week later I knew all about octrees, k-trees and BSPs. I had also managed to knock up a 2D demo of a boat wake using DX7 direct draw.
I didn't get the job (they were driving game specialists and I was waxing lyrical about RPGs), but I set my sights on game programming as a result of that interview and I bought Blitz3D a few months later.
Anyway... my point is that the "Game Programming Gems" books will throw whole new areas of creativity in your path (splines for interpolation, world generation using Rand(seed), neural nets for bot learning, flocking algorithms for emergent behaviour, etc., etc.) that will make you start to think outside the box when dealing with world-building problems.
At the first interview I was asked how I would model the wake of a boat... I had no clue, but was advised to look into "Binary Space Partition". By the second interview a week later I knew all about octrees, k-trees and BSPs. I had also managed to knock up a 2D demo of a boat wake using DX7 direct draw.
I didn't get the job (they were driving game specialists and I was waxing lyrical about RPGs), but I set my sights on game programming as a result of that interview and I bought Blitz3D a few months later.
Anyway... my point is that the "Game Programming Gems" books will throw whole new areas of creativity in your path (splines for interpolation, world generation using Rand(seed), neural nets for bot learning, flocking algorithms for emergent behaviour, etc., etc.) that will make you start to think outside the box when dealing with world-building problems.