Una pregunta común que recibo es, ¿puedo usar C++ con el motor de juego Godot? Si está buscando hacer secuencias de comandos de juegos en vivo como en Unreal Engine, la respuesta corta es no, no puede hacer eso con Godot. Sin embargo, puedes desarrollar en Godot usando C++ de tres maneras diferentes.
Desarrollo Nativo
La primera opción es extremadamente sencilla. Godot es un proyecto de código abierto, con la gran mayoría del código fuente escrito en C++ (11). Por supuesto, puedes ampliar o cambiar todos los aspectos del motor del juego Godot de esta manera, simplemente necesitas un compilador de C++, Python y SCONS. Puedes conocer más sobre el proceso aquí o en la documentación de Godot disponible aquí.
Un detalle importante a tener en cuenta es que, aunque Godot es de código abierto, se publica bajo la licencia MIT, que es muy liberal en lo que te permite hacer. A diferencia de las licencias como GPL o LGPL, no hay ningún requisito para hacer públicos los cambios de código.
Nativo de GDN
La siguiente y más nueva opción es Nativo de GDN. Puede pensar en GDNative como una interfaz de complemento para Godot que le permite escribir código C o C ++ y es una forma ideal de crear complementos o extensiones compartidas. La ventaja ideal de GDNative sobre los módulos es que no están estrechamente acoplados al propio motor, por lo que un cambio menor no requiere una reconstrucción completa.
Hay plantillas C y C++ disponible aquí que le dan una buena idea de cómo crear su propia extensión GDNative. Un ejemplo importante de una extensión nativa de GDN es OpenVR de Godot implementación. Las extensiones nativas de GDN son las más desacopladas del motor subyacente de los 3 métodos.
Módulos
En algún lugar entre modificar Godot y extenderlo con GDNative está el uso de módulos. Si echas un vistazo al código fuente del motor Godot, notarás que una gran parte del motor está implementado como módulos. Esto incluye todo para la física assimp y bullet, hasta GDScript, Mono e incluso GDNative se implementan mediante módulos. Los módulos son una parte integral del motor del juego y pueden integrarse estrechamente, pero te brindan una forma… más modular de extender Godot.
Detalles sobre cómo crear sus propios módulos después de esto tutorial o la documentación oficial aquí.
Puede obtener más información sobre las tres opciones en el video debajo.