Взаимодействие Netlo go с внешними агентами - PullRequest
1 голос
/ 09 марта 2020

Может ли кто-нибудь руководить мной, поскольку поиск в Google не отправляет меня в правильные места.

Я хочу адаптировать netlo go, чтобы включить игроков, реальных или смоделированных с другими технологиями. Мне нужно подключиться к ядру netlo go (запуск установленной игры) и определить ходы и выбор, определяемые внешними сущностями, которые могут быть людьми или автоматами.

При поиске API, чтобы это разрешить, Я могу найти управляющий API-интерфейс, который, по-видимому, предназначен для запуска нескольких моделей NetLo go, а не для того, что я хочу.

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

Может ли кто-нибудь помочь.

С уважением

Роберт

1 Ответ

1 голос
/ 10 марта 2020

Существует два основных способа взаимодействия между NetLo go и «внешним миром»:

Какой из них использовать, зависит от того, чего вы пытаетесь достичь.

Вы говорите, что вы:

необходимо взаимодействовать с ядром netlo go (запуск установленной игры) и иметь ходы и выбор, определяемые внешними сущностями, которые могут быть людьми или автоманией.

Для меня это звучит очень очень похоже на работу для API расширений, которая была предложена вам в группе netlo go -devel . Расширения позволяют добавлять новые «примитивы» в NetLo go, и эти примитивы могут быть написаны на любом языке, который работает на JVM (Java, Scala, Clojure и др. c.)

Таким образом, если у вас есть игра, написанная на NetLo go, и бот, написанный на каком-то другом языке, с которым JVM может взаимодействовать (возможно, с помощью JNI ), вы можете написать новый NetLo go Команда расширения, которая вызывает бота (например, что-то вроде bot:play game-state). Игра, написанная на NetLo go, может затем использовать эту команду, чтобы позволить боту сыграть свой ход.

Если это действительно то, что вы хотите сделать, то Джереми уже дал вам хорошую отправную точку в своем нетло. go -уровень ответа, и мы мало что можем добавить к этому, пока у вас не появится больше c вопросов.

Вы также сказали, что рассматривали использование управляющего API, так что, возможно, Вы имели в виду, что игра должна быть написана на каком-то другом языке, и использовать модель NetLo go для генерации поведения конкретного игрока в этой игре. Управляющий API позволяет вам это делать. (Это не только для запуска модели несколько раз!) Если вы посмотрите на примеры в руководстве по управлению , вы увидите, что вы можете использовать API для отправки команд на модель NetLo go и сообщить о результатах обратно вашей внешней программе. Единственным ограничением является то, что эта внешняя программа должна иметь возможность общаться с JVM.

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

...