Godot is an advanced, feature-packed, multi-platform 2D and 3D open source game engine. The project has joined the Software Freedom Conservancy project and it growing community makes it hopes to become a real alternative to Unity & GameMaker.
This talk cover a year long journey of the port of Python as a scripting language for the engine, starting from a rant against Godot's Python-like proprietary language.
We will have a look at Godot's internal architecture as is it itself a real interpreter with it garbage collector, dynamic typing, introspection and even builtin custom scripting language. All of this having to work next to our Python interpreter and communicate back and forth with it.
Finally we will see the different approaches that have been tried to bind Python to Godot each with there own pros & cons:
- Using Micropython interpreter instead of CPython
- Using PyBind11 to statically bind to Godot C++ API
- Using CFFI and rely on a 3rd party C API
The audience should have some basic knowledge of C level computing (static vs dynamic language, compilation & linking).