<div dir="ltr"><div class="gmail_extra">Skimming through your text and diagrams..</div><div class="gmail_extra"><br></div><div class="gmail_extra">you are attempting to provide &#39;one big file with the API&#39;, instead of the bits, as is now.</div><div class="gmail_extra">One big file is seldom a good idea and, in this case, the BGE is designed in modules and objects. The python API reflects the Object Oriented programming that is inside. It should be modular and in bits, it is intentionally designed this way. OpenGL is designed in a different way.</div><div class="gmail_extra">this means that you shouldn&#39;t do    function(objectid, args), but object.function(args)</div><div class="gmail_extra"><br></div><div class="gmail_extra">next, you are splitting of the API from the engine into a separate shared library. why? (and take care, because dlls are the windows version of shared libraries, blender is multi-platform).</div><div class="gmail_extra">the API is a door to interact with a system. doors should be provided along with the room, they are a part of it.</div><div class="gmail_extra"><br></div><div class="gmail_extra">the third thing is your focus on start, tick, stop.</div><div class="gmail_extra">The GE loop currently is not prepared to be controlled externally.</div><div class="gmail_extra">Look at your diagram in page2, you have concurrent arrows, who controls the call of a next frame?</div><div class="gmail_extra">Is it even useful to control it manually?</div><div class="gmail_extra"><br></div><div class="gmail_extra">all this said, the python api for the ge is incomplete and has many things out of place.</div><div class="gmail_extra">as a suggestion, why don&#39;t you try to fix smaller things in the current API, starting by lacking documentation, if you will. until you have enough experience to know where exactly it is lacking and what you can be done about it.</div><div class="gmail_extra"><br></div><div class="gmail_extra">--</div><div class="gmail_extra">Inês Almeida / brita_</div><div class="gmail_extra"><br></div></div>