Integrating objects into rendering has a lot to do with object oriented programming, because objects are being rendered. class NPC { std::vector<std::string> moves{}; public: void move(); }; To render a level, all NPC objects have to be render again, to maintain database and all of it's data consistency. Because they are constantly moving and there are always dozens if not hundreds of them on a server. class Server { std::vector<std::string> point_data{}; public: void send_render(std::string message} }; This is an example of rendering an abstract level object. class River [ std:::vector<std::string> water_stream{}; public: void start_render(); }; This in example of rendering a concrete level object. class Level { std::vector<std::string> data{}; public: void render(); }; This is an example of rendering a virtual level object.
Progress on my games and enhancing your game dev.