Я думаю о том, чтобы попробовать одну из моих древних идей для игры. Суть этой игры - возможный уровень функциональной настройки игровой среды и объектов (например, изменение поведения оружия космического корабля). Для этого игра должна быть скриптовой. Кроме того, я не ставлю целью коммерциализацию, это просто интересная задача для меня.
Поскольку я в основном парень .NET, я буду использовать XNA / C # для самой игры. Для сценариев я думаю о переходе на Python или Lua. У меня есть предыдущий опыт работы с Python и я ничего не имею против этого как языка. Lua, с другой стороны, почти совершенно новый для меня, кроме некоторых незначительных модификаций аддонов World of Warcraft, которые я делал тут и там, и это выглядит многообещающе. Вот мой вопрос:
Каковы плюсы и минусы Lua vs. Python как языка сценариев для платформы XNA / C #?
Один из них значительно проще использовать с XNA / C #? Есть ли у них какие-то конкретные преимущества или недостатки при использовании с XNA / C #? Почему бы вы порекомендовали один поверх другого для XNA / C #?
Ответы:
Я не могу сравнить их, так как до сих пор у меня был только опыт встраивания IronPython в C #. Вот что мне нравится в этом:
1) Это просто! Скачайте DLL-файлы IronPython, добавьте ссылку в проект,
2) Как видно из приведенного выше примера, IronPython фактически конвертирует в классы BCL, где это возможно. Результатом сценария является System.Numerics.BigInteger, а не PyObject.
3)
dynamic
Ключевое слово в C # было создано для ситуаций взаимодействия, когда у вас нет статического типа:источник
IronPython и C # хорошо сочетаются друг с другом, IronPython может быть добавлен в C # для повышения производительности. Так что если вы пишете игры, то вызовы Python в C # являются преимуществом. Сам Python не может использовать XNA, но может использовать Directx, что C # не может сделать напрямую.
источник