-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgymgodot.html
1 lines (1 loc) · 2.94 KB
/
gymgodot.html
1
<!DOCTYPE html> <html lang=en > <link rel=stylesheet href="theme/css/base.css" type="text/css" /> <meta name=viewport content="width=device-width,initial-scale=1"> <title>HugoTini - Gym Godot</title> <meta charset=utf-8 /> <meta name=generator content=Pelican /> <link href="https://hugotini.github.io/feeds/all.atom.xml" type="application/atom+xml" rel=alternate title="HugoTini Blog Atom Feed" /> <!-- --> <link rel=stylesheet href="theme/css/article.css" type="text/css" /> <body id=index class=home > <div id=main_container > <!--/ header menu --> <header id=header > <div class=menu-item-active > <a href="https://hugotini.github.io/">Blog</a> <div class=menu-underline-active ></div> </div> <div class=menu-item > <a href="https://hugotini.github.io/about">About</a> <div class=menu-underline ></div> </div> </header> <section id=content > <div style="background-image: url('assets/gymgodot/banner.jpg');" id=banner ></div> <div id='title_container'> <h1>Gym Godot</h1> <p>Reinforcement Learning & Godot</p> </div> <time id=item_date datetime="2021-07-05T00:00:00+02:00"> July 2021 </time> <div id=article_content > <p>For a side project, I had to experiment with Reinforcement Learning in <a href="https://godotengine.org/">Godot</a>. Some of the parts which might be useful have been extracted and are now available <a href="https://github.com/HugoTini/GymGodot">in this repo</a>.</p> <p>The overall idea is that a Godot scene is driven through WebSocket by a Python-side server which is exposed as a standard <a href="https://github.com/openai/gym">Gym</a> environment (while not the fastest IPC solution, WebSocket is available by default in Godot which makes it easier to install than extra native modules or dependencies).</p> <p>To illustrate how to use those scripts, three demo environments were added, the classic Cartpole & Pendulum :</p> <div class='fit_width img_container'> <video controls> <source src='https://hugotini.github.io/assets/gymgodot/cartpole_pendulum.webm' type="video/webm"> </video> </div> <p>and the Mars-Lander environment (a 3D take on the classic <a href="https://gym.openai.com/envs/LunarLander-v2/">2D Lunar-Lander</a>) :</p> <div class='fit_width img_container'> <video controls> <source src='https://hugotini.github.io/assets/gymgodot/mars_lander.webm' type="video/webm"> </video> </div> <p>The physic & rendering happen step-by-step and offline so that the computation can go faster than real-time. Check <a href="https://github.com/HugoTini/GymGodot">the repo</a> for more details.</p> </div> </section> </div> <div class='footer'> <a href="https://hugotini.github.io/feeds/all.atom.xml"> <img class='svg_icon' src="theme/icons/rss-alt.svg"> </a> <a href="https://github.com/HugoTini"> <img class='svg_icon' src="theme/icons/github.svg"> </a> <a href="https://twitter.com/Hugo_Tini"> <img class='svg_icon' src="theme/icons/twitter.svg"> </a> <a href="https://hugotini.github.io/about"> <img class='svg_icon' src="theme/icons/email.svg"> </a> </div>