Язык сценариев C # - PullRequest
       18

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

11 голосов
/ 02 декабря 2009

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

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

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

Ответы [ 4 ]

6 голосов
/ 02 декабря 2009

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

Также взгляните на эти сайты:

  1. C ++
  2. C #
5 голосов
/ 20 декабря 2009

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

с сайта:

Managed Scripting Engine

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

Я сам не углублялся в это, но это звучит так, как мы хотим.

2 голосов
/ 03 декабря 2009

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

0 голосов
/ 03 декабря 2009

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

...