Язык сценариев С#
Это несколько странный вопрос.
Я хочу предоставить язык сценариев для моддинговых игр, которые я создаю для 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. Я не знаю о компиляции во время выполнения.