Язык сценариев С#

Это несколько странный вопрос.

Я хочу предоставить язык сценариев для моддинговых игр, которые я создаю для XNA. Если бы я оценил эти игры для ПК, я просто смог бы использовать файлы С#, скомпилированные во время выполнения (используя reflection.emit) в качестве скриптов и это будет хорошо - хороший простой способ мод игры. Однако компактная инфраструктура .net(которая является тем, что предоставляет xbox) не поддерживает reflection.emit, так как я могу написать язык сценариев, учитывая это?

  • Есть ли проекты, которые уже делают это?
  • Есть ли хорошие ресурсы для запуска моего собственного проекта, чтобы сделать это.
  • Какой лучший язык выбрать? Это для сценариев игр, поэтому он может быть довольно маленьким языком, если он достаточно эффективен и легко реализует интерпретатор для

Ответ 1

Я знаю, что это старый вопрос, но раньше у меня были аналогичные требования, и я узнал о Managed Scripting. Похоже, что он разработан для решения проблемы сценариев в играх XNA, поэтому это еще лучше.

С веб-сайта:

Управляемый механизм сценариев

Managed Scripting предоставляет быстрое и простое решение для разработчиков, которым необходимо внедрить механизм сценариев в свои решения. Управляемый сценарий поставляется с прямым движком script, который может скомпилировать сценарии и экземпляры "на лету", генерировать сборки в памяти или локально на жестком диске и позволять динамически вызывать методы и получать доступ к свойствам во время выполнения. ManagedScripting работает в Windows Vista, XP, Linux, XBox 360 и Microsoft Zune Player со сценариями, написанными с использованием Visual Basic или С# в качестве языка с планами добавления поддержки для Ruby, Python и JScript.

Я не изучал его глубже, но это похоже на то, что мы хотим.

Ответ 2

Lua часто используется для создания сценариев игры. World of Warcraft, например, предлагает его всем производителям мод.

Также ознакомьтесь с этими сайтами:

Ответ 3

Я хотел бы указать на этот связанный вопрос SO, добавив Javascript в качестве опции. Для некоторых Javascript будет более знаком, чем Lua.

Ответ 4

Возможно, вы захотите изучить VSTA, он предоставляет С# или VB.Net. Я не знаю о компиляции во время выполнения.