Being a programmer of web and DB centered applications, I have knowledge in data structures such as lists, trees, graphs, etc. I honestly use very little of these data structure algorithms in my coding, except for sorting things in plain arrays, as I worked almost entirely with client-oriented frameworks where all the core functionality was built-in. I know C, PHP, Java, HTML, PL/SQL and MySQL. I am currently learning Python.
I want start with game development. I have seen other questions regarding suggestions, tips and approaches to game development for beginners. I understand these point, and am clear with the answers. A few days after posting, I read the article Write Games, Not Engines, and realized I should implement a game before I create a game engine. Still, I have questions.
My aim is to
- Improve my core level programming skills, including using data structure algorithms, mathematics and physics concepts.
- Implement a good game engine, to indulge myself in core level coding.
- To pave my way into the A.I. research field.
What are the specific mathematics, physics, AI and general concepts a programmer should know in order to develop a game engine?