2012-03-21 4 views
4

Я не знаю, разрешено ли здесь задавать этот вопрос, но я собираюсь попробовать в любом случае.Ищете язык программирования для манекенов

Я ищу простой язык программирования для обычного пользователя, который должен понимать и писать, потому что в игре я делаю. Я строю свою фреймворк в C++.

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

Только основные действия, такие как прогулка вперед, стрельба, захват этого, установка этого здесь и т. Д. Необходимы. Это игра на основе плитки.

+0

Javascript может быть хорошим выбором. Это не простой язык, когда он используется полностью, но быстро и легко учиться достаточно, чтобы делать простые вещи ... – jcoder

+3

Как можно было бы написать такой скрипт на любом языке? Это всего лишь серия действий, которые могут быть выражены по одной строке. –

+0

Правда, однако, я думаю, что многие пользователи будут бояться накладных и страшных символов, необходимых для программирования. Но да, создание собственного интерпретатора было бы вариантом, однако это могло бы стать слишком большим. – RobotRock

ответ

4

Если вы считаете Lua слишком сложны, то вы, вероятно, не ищете общий язык программирования (другое предложение будет Python). Вместо этого подумайте о создании domain-specific language. Я буду делать некоторые предположения здесь о вашей игре, но вы могли бы, например, реализовать на основе правила языка сценариев, где каждый сценарий представляет поведение противника:

can_see(player) and distance_to(player) > 100: 
    run_towards(player) 

can_see(player) and distance_to(player) < 100: 
    shoot_at(player) 

default: 
    wander() 

На каждом рассуждении шага первого правила соответствия может быть казненным. В этом случае вам понадобится некоторая форма hysteresis, чтобы ваши NPC не появлялись без решения.

Это в основном сводит ваш язык программирования к единому if-else-if с ограниченным количеством ключевых слов и операторов, которые будут использоваться. Вы даже можете создать собственный редактор с IntelliSense специально для своего языка. Если пользователи для него вы могли бы иметь вложенные правила:

can_see(player): 
    distance_to(player) > 100: 
     run_towards(player) 
    default: 
     shoot_at(player) 

В какой-то момент вы могли бы начать позволяя переменные и определяемые пользователем функции, но тогда языком общего назначения может быть лучшим выбором с самого начала! Итак, вы видите, главный вопрос - найти баланс между универсальностью и удобством.

2

Просто предоставить графический интерфейс для создания рабочего процесса игры?

Вы можете посмотреть на: http://en.wikipedia.org/wiki/List_of_educational_programming_languages те, могут быть легко понять для начинающего

+0

Guido van Robot, похоже, подходит для меня, спасибо. – RobotRock

+0

@KajToet: Вы понимаете, что Guido van Robot - это просто инструмент графического интерфейса, который пишет скрипты Python, не так ли? Это не сам язык. –

+0

Ну ладно, спасибо за уведомление. – RobotRock

9

Lua - прекрасный выбор. Это именно то, для чего был разработан Lua.

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

Смежные вопросы