Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building Autonomous Agents with gym-retro
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kartones
October 26, 2018
Programming
52
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Autonomous Agents with gym-retro
Given at MindCamp X
Kartones
October 26, 2018
More Decks by Kartones
See All by Kartones
Python static typing with MyPy
kartones
0
86
High-impact refactors keeping the lights on
kartones
0
76
Remote Work
kartones
0
100
Geospatial CSV Imports Hidden Complexity
kartones
0
62
Intro to GameBoy Development
kartones
0
110
Myths & The Real World of OpenSource Development
kartones
0
53
CartoDB Tech Intro
kartones
0
57
Copy Protection & Cracking History
kartones
0
140
Cómo ganar dinero con tus juegos online
kartones
1
130
Other Decks in Programming
See All in Programming
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
820
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1.1k
継続モナドとリアクティブプログラミング
yukikurage
3
620
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
320
symfony/aiとlaravel/boost
77web
0
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
520
初めてのKubernetes 本番運用でハマった話
oku053
0
130
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
600
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
170
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
4k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
730
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
250
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
What's in a price? How to price your products and services
michaelherold
247
13k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Exploring anti-patterns in Rails
aemeredith
3
450
Abbi's Birthday
coloredviolet
3
8.7k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Transcript
@Kartones
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
observation, reward, done, info = environment.step(action)
None
None
action = environment.action_space.sample()
None
paddle_size = 24 paddle_safe_margin = paddle_size/4 if last_info: go_left =
1 if (last_info['player_x_start'] + paddle_safe_margin > last_info['ball_x']) else 0 go_right = 1 if (last_info['player_x_end'] - paddle_safe_margin < last_info['ball_x']) else 0 # ["B", null, "SELECT", "START", "UP", "DOWN", "LEFT", "RIGHT", "A"] action = [0, 0, 0, 0, 0, 0, go_left, go_right, self.env.current_time % 2]
None
None
None
probability = numpy.random.random() if probability < EPSILON: return self._random_movement() else:
if self.env.current_time < self.best_time: action = self.best_actions[self.env.current_time] else: return self._ai_movement(last_info)
None
None
def _epsilon_value(self): if self.USE_DECAYING_EPSILON: # with 1 becomes practically random
return 0.1 / (self.env.current_time + 1) else: return self.EPSILON
Why decaying epsilon = 0.1? 0.1 * 5 = 0.02
0.1 * 250 = 0.0004 0.1 * 500 = 0.0002 0.1 * 1000 = 0.0001
None
None
None
None
None
None
soon at : github.com/kartones
None
None
github.com/openai/retro-baselines/agents
• Intro documentation: blog.openai.com/gym-retro/ • Example code and documentation: github.com/openai/retro/
github.com/openai/retro-baselines/ "gotta_learn_fast_report.pdf" • Game integration guide: github.com/openai/retro/blob/develop/IntegratorsGuide.md • Contests and other resources: openai.com • JERK sources: www.noob-programmer.com/openai-retro-contest/jerk-agent-algorithm/
None