Мне нужен механизм сценариев для Java, который позволил бы пользователям писать простые сценарии для управления поведением и событиями в игре. То, что:
просто - что-то легко подобрать, особенно для людей с небольшим опытом программирования / написания сценариев
обеспечивает много контроля - я могу легко запускать / останавливать / приостанавливать сценарии и контролировать, сколько времени выполнения каждый получает, возможно, сколько места в памяти они могут использовать
отделен от самой среды Java - доступ скриптов к любым объектам или классам Java отсутствует, только к тем функциям, которые я явно предоставляю
Я рассмотрел движок JavaScript Rhino, и он подошел бы к моим целям, но из того, что я прочитал ( пример ), он разработан так, чтобы настолько интегрироваться с Java, что безопасная песочница его сложно. Я предпочел бы начать с движка, который не дает сценариям доступа ни к чему по умолчанию, чем иметь полностью открытый, который мне нужно закрыть. Скриптам не всегда можно доверять, поэтому из среды непросто вырваться.
Я бы также подумал о разработке своего собственного языка с чем-то вроде ANTLR, но это, вероятно, больше усилий, чем я хотел бы вставить.
Есть предложения?