Скриптовый движок для XNA

9

Скажем, я делаю эту большую игру на C # с XNA.

Какие варианты я должен включить функцию сценариев для моей базы кода?

АСТК
источник
2
Какие функции, в частности , скриптового движка вам действительно нужны? Подавляющее большинство вещей, которые дает вам движок сценариев, уже доступны в C #.
Эндрю Рассел
По сути, я думаю сделать что-то вроде производителя игр на базе XNA с графическим интерфейсом. Таким образом, вы используете этого создателя игры и получаете доступ к моим классам и функциям C # из скрипта для реализации игрового процесса.
2010 г.
1
Кто конечный пользователь? Это что-то вроде Klik & Play (дети, любители)? Или это больше похоже на Unreal Kismet (художники и дизайнеры)? Или что-то другое?
Эндрю Рассел
Скажем, как Game Maker. Несмотря на то, что он позволяет реализовать любую игровую механику, он все еще хорош для Klik и Play. Для этого не нужно иметь визуальный редактор скриптов, такой как Kismet.
АСТК
Это очень отличается от вопроса, который вы задали. Возможно, попробуйте задать другой, который лучше объясняет ваши требования. Или возьмите мой короткий ответ: используйте делегаты C # в качестве основы системы, которая может обрабатывать функции как объекты. Используйте эти объекты для построения системы с графическим интерфейсом или откройте систему для опытных конечных пользователей через C #, как описано в моем ответе.
Эндрю Рассел

Ответы:

15

Я защищаю не использование языка сценариев в C # . C # уже решает подавляющее большинство проблем, для решения которых используется механизм сценариев. Просто используйте C # так же, как вы используете язык сценариев.

Так как я уже проходил это несколько раз, вот несколько материалов для чтения:


ОБНОВЛЕНИЕ: Если вы хотите рабочий процесс редактирования в реальном времени, попробуйте этот дерзкий метод для использования Редактировать и Продолжить .

Эндрю Рассел
источник
1

Если вы планируете нацеливаться на XBox360 или Windows Phone 7, тогда ваши возможности ограничены. Эти платформы не поддерживают генерацию кода во время выполнения, поэтому единственным вариантом будет интерпретированный язык. Я бы порекомендовал избегать интерпретируемых языков, поскольку их производительность может варьироваться от «подпункта» до «ужасного».

Если вы ориентируетесь только на Windows, и вам действительно нужен / нужен язык сценариев, взгляните на IronPython или IronRuby. Оба предназначаются для DLR и работают очень хорошо (для того, чтобы быть динамическими языками).

Майк Штробель
источник