Я видел пару таких, а именно Java и C # / XNA ... и недавно я брал Python. Что заставило меня задуматься.
Какие (известные) игры были написаны на Python, с Pygame / Pyglet / Pyopengl?
Я видел пару таких, а именно Java и C # / XNA ... и недавно я брал Python. Что заставило меня задуматься.
Какие (известные) игры были написаны на Python, с Pygame / Pyglet / Pyopengl?
Ответы:
Eve Online , вероятно, самая большая и использует Stackless Python , облегченную микропотоковую версию Python. И у Civilization IV был встроенный интерпретатор Python, но я не уверен, что это было только для сценариев, или сколько игры было написано в нем.
Кроме того, « Пираты Карибского моря» Диснея были написаны с использованием игрового движка Panda3d (который позволяет использовать скрипты как на Python, так и на C ++, но, используя Google, Дисней использовал Python). Двигатель находится в C ++, но опять же , Python интерпретатор сам по себе также использует много кода C. :)
Для длинного списка игр:
которая также охватывает множество известных игр, таких как Mount и Blade .
Первоначальная версия Galcon была на чистом Python, хотя она давно перенесена на другие языки (по последним подсчетам были версии Obj-C, Flash и C ++). Он по-прежнему использует Python для AI через библиотеку TinyPy, но я полагаю, что это «просто сценарий».
Как общий комментарий, Python не очень подходит для создания невероятно быстрого графического движка. Вы получаете гораздо больший контроль над написанием основного, чувствительного к производительности кода на C или C ++, а затем за написанием сложной игровой логики на Python. Python превосходит другие области, связанные с логикой, поскольку его выразительность - выигрыш в производительности над C, и снижение производительности не является проблемой. Вот почему все (CCP, Panda3D, Unity, Civ4 и т. Д.) Все работают так. Реальный вопрос в том, считается ли это "в Python"? Например, в Eve все, что связано с реальной игрой (более или менее), относится к Python, часть C ++ - это просто общий игровой движок, который обрабатывает нажатие пикселей и звука.
Frets on Fire (в дополнение к Galcon, который больше не является родным Python) является единственной игрой «родной Python», которая, как мне кажется, достигла некоторой степени длительной славы.
Кроме того, Battlefield Heroes, мультипликационная версия поля битвы (обрабатывает большую часть игровой логики)
А, BattleField 2 и 2142 (для логики и управления сервером)
Диснеевские «Toontown» и «Пираты Карибского моря онлайн» используют движок Panda3D со скриптами Python.