Interfaces/APIs or abstraction layers.
Everything talks to the engine via an interface or api. A layer between what you need for the game: textures, movement, physics calculations etc
You want to draw a circle so you call drawCircle() method in your code. Now you don’t care how the engine draws the circle but even more importantly all the code that the team uses is written so that they don’t have to.
The layer that actually does the drawing of the circle can be totally rewritten if need be but everyone else who uses it wouldn’t even know. Just update their dependencies.
Of course there are the bugs you have to deal with and the occasional deprecated call but other than that you start and finish doing the same work.
Latest Answers