В вашем вопросе не указано, является ли для вас наиболее важна эффективность использования пространства (т. Е. Памяти), времени или производительности труда.Просто потому, что вы рассматриваете гибридное приложение C ++ / Python, я предполагаю, что производительность труда является существенным фактором.Поскольку вы разрабатываете игру, я предполагаю, что будет какая-то ее часть, которая нуждается в чрезвычайно узкой скорости выполнения.
Возможно, такой подход приведет к равновесию.Сделайте все взаимодействие с пользователем (ввод и вывод, включая любые сети) на C ++ с минимальной задержкой.Вы можете поместить это в свой собственный поток или процесс.С учетом события высокого уровня от модели, такого как перемещение персонажа, этот код очень быстро обновляет экран и сеть.Учитывая пользовательское событие или событие из сети, он отправляет сообщение модели.
Модель игры, которая может быть асинхронной для представления / элемента управления, будет тогда для удобства представлена в Python, и поэтомувы можете воспользоваться функциональным программированием и т. д. Вы можете использовать совместно используемую память или аналогичный механизм IPC между ними и запускать их по отдельности, если на самом деле встраивание интерпретатора неудобно.поэтому может показаться заманчивым вернуться к ним на C или C ++, я бы посоветовал сделать это в качестве последнего шага, в ответ на явные проблемы с отзывчивостью в интерпретируемом коде, если вы это делаете вообще.Возможно, вы даже захотите следовать этой линии мышления и с графикой, поскольку в настоящее время большая часть обработки графики делегирована аппаратному обеспечению видео, если у вас есть возможность совершать необходимые вызовы библиотеки из кода Python.
ХотяЯ не разработчик игр, я был рядом и видел несколько ситуаций, в которых (в настоящее время) разница в микросекундах между одинаковыми эквивалентными операциями C и Python ощутима для пользователей.Заметные проблемы с производительностью почти всегда связаны с другими факторами, такими как дисковый ввод-вывод, задержка в сети или неэффективная реализация алгоритмов.