Hardcore Games is based at Victoria, BC, Canada. With extensive experience in development, its possible to work with small studios using remote desktop where guidance can be provided. Even full development is possible for most major engines.
Years ago, games were largely done in Assembler. Then C++ gained ground and more recently C# has been used for game development. C++ is on average 2-3 times faster than C#. Modern machines however are so powerful that the overhead of .NET is not as bad it used to be.
Game development needs a good understanding of undergraduate math. Linear algebra is part of the needed curriculum and so vector calculus.
Early games did not consider physical reality much. Weapon fire moved in a straight line. Eventually games started supporting gravity which affects projectiles
Level of detail has been pushed as the resolution of LCD panels has moved from 1920×1080 to 3840×2160 and beyond.
Tessellation was a minor part of DX9 but it was moved into focus with DX11. This technique increases the number of triangles making up a given surface which tends to look more natural.
Most recently ray tracing has become a marketing mantra. The PC got into tray tracing long before the GPU ever surfaces. The FPU was adequate for handling the math to slowly render raytraced scenes. The RTX 2080 which supports hardware ray tracing may find traditional rendering to be too demanding for real time.