# How to make an environment with julia, for my RL agent?

**URL:** <https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049>\
**Category:** Modelling & Simulations\
**Tags:** question\
**Created:** [May 14, 2022, 7:07am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049 "2022-05-14T07:07:56Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 7:07am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/1 "2022-05-14T07:07:56Z")

</div>

I want to make an environment for Agents with julia, what are some packages to do that? I’m thinking of GameZero.jl and Makie.jl. Are there any others? Could I use Unreal Engine or Unity, but create Agents using Julia?  
Thanks for Help!

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [May 14, 2022, 8:14am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/2 "2022-05-14T08:14:26Z")

</div>

Have you considered Agents.jl? 😃 [Introduction · Agents.jl](https://juliadynamics.github.io/Agents.jl/stable/)

---

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 8:59am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/3 "2022-05-14T08:59:07Z")

</div>

Yes, I have. But, I haven’t found out how I can make custom environments.

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [May 14, 2022, 9:19am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/4 "2022-05-14T09:19:41Z")

</div>

What does “envorinment” even mean though? You can make your own spaces in Agents.jl there is a tutorial at the docs.

---

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 9:43am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/7 "2022-05-14T09:43:39Z")

</div>

> [@Datseris](#):
>
> What does “envorinment” even mean though?

It means a simulation, something that an agent can interract with. Plus, it has to be possible to actually see it, with GUI.

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [May 14, 2022, 9:45am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/8 "2022-05-14T09:45:28Z")

</div>

If you spent a bit time on the doc of Agents.jl you’ll get the answers to everything you want, because so far everything you’ve said is rather straightforward with Agents.jl, especially the visualization part!

---

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 9:46am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/9 "2022-05-14T09:46:40Z")

</div>

Oh okay, I’ll search a bit, thanks. Just one more thing, if you don’t mind. Can I use anything in DynamicalSystems.jl to build particle simulations, without the GPU.

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [May 14, 2022, 9:56am UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/10 "2022-05-14T09:56:11Z")

</div>

Well, I’ve used it to simulate electron transport and electrons are particles. However I don’t know about your case, as this is an incredibly generic question. You’ll need to make it more specific… Particle simulations can mean a trillion of things, from simulating the large hadron collider to simulating fluid flows.

---

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 3:35pm UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/11 "2022-05-14T15:35:32Z")

</div>

Let’s take fluid flow for example, could we do it?

---

<div class="post-metadata">

**Author:** ![matic\_lauko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matic_lauko/32/27770_2.png) [@matic\_lauko](https://discourse.julialang.org/u/matic_lauko)\
**Post date:** [May 14, 2022, 3:37pm UTC](https://discourse.julialang.org/t/how-to-make-an-environment-with-julia-for-my-rl-agent/81049/12 "2022-05-14T15:37:04Z")

</div>

When you said

> [@Datseris](#):
>
> Well, I’ve used it to simulate electron transport and electrons are particles.

Do you mean something like that: [https://www.youtube.com/watch?v=LQmTKxI4Wn4](https://www.youtube.com/watch?v=LQmTKxI4Wn4)?
