Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting Julia for minetest #78

Open
ashwanirathee opened this issue Aug 4, 2023 · 1 comment
Open

Supporting Julia for minetest #78

ashwanirathee opened this issue Aug 4, 2023 · 1 comment

Comments

@ashwanirathee
Copy link

Problem

It would be great to have something like MineRL for Julia. I have worked on Miner.jl which is like a toy minecraft: https://github.com/ashwani-rathee/Miner.jl which is integratable with ReinforcementLearning.jl which provides reinforcement learning tools with Julia. But I want a richer experience which minetest can provide and I want it to be part of the environment available there. I can make c++ libraries available in Julia through https://github.com/JuliaInterop/CxxWrap.jl.

Solutions

What I want to ask is if there is c++ api to the whole game? and are you guys interested in something like this? I would help with development but I need support on c++ side of things

@JJJHolscher
Copy link

If you take a look at minetester/minetest_env.py en minetester/util.py you can see that python communicates with c++ using zeromq and protobuf.
For you to make this julia-compatible you might only need to be able to make the same zeromq calls and deserialize the message you receive with protobuf without ever touching the c++ code.

Right now c++ retrieves information from minetest by looking at global variables from the server mods in mods and client mods in clientmods. These are written in lua since that's how the original minetest project set it up.

So, you probably won't need to touch any c++ unless you want features the modding api doesn't provide, but you will need to write your own lua mods for retrieving information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants