Skip to content

Commit e740519

Browse files
Merge pull request #47 from RLBot/faq
Add FAQ page
2 parents 10d422c + 4922424 commit e740519

File tree

2 files changed

+252
-0
lines changed

2 files changed

+252
-0
lines changed

faq/index.html

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title>RLBot</title>
7+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
8+
integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
9+
<link rel="stylesheet" href="../css/style.css">
10+
<link rel="stylesheet" href="../css/tournament-style.css">
11+
12+
</head>
13+
<body>
14+
15+
<div class="jumbotron jumbotron-fluid">
16+
<div class="container">
17+
<a href="../">
18+
<h1 class="display-4"><img src="../rlbot_logo.png" class="line-logo"> RLBot</h1>
19+
</a>
20+
<p class="lead">Frequently asked questions and their answers!</p>
21+
</div>
22+
</div>
23+
24+
<div class="container">
25+
26+
<div class="row">
27+
<div class="col-lg-8">
28+
29+
<!-- General info -->
30+
<div class="card mb-3">
31+
<div class="card-body">
32+
<h5 class="card-title">FAQ</h5>
33+
<p>In what follows we have collected a series of frequently asked questions and their answers.
34+
If you do not find your question among these, feel free to join the
35+
<a href="https://discord.gg/zbaAKPt">Discord server</a> and ask there.</p>
36+
</div>
37+
</div>
38+
39+
<!-- How do I play against the bots? -->
40+
<div class="card mb-3">
41+
<div class="card-body">
42+
<h5 id="play-against-the-bots" class="card-title">How do I play against the bots?</h5>
43+
<p>Follow <a href="https://youtu.be/oXkbizklI2U">this installation guide</a>.
44+
It will also show you how to download the bot pack containing bots like Kamael and Botimus Prime.
45+
Note, RLBot only works on PC both with Epic and Steam.</p>
46+
</div>
47+
</div>
48+
49+
<!-- Which bot is the best bot and how good is it? -->
50+
<div class="card mb-3">
51+
<div class="card-body">
52+
<h5 id="which-bot-is-best" class="card-title">Which bot is the best bot and how good is it?</h5>
53+
<p>The best bots are Kamael for 1v1 and 3x Bumblebee for 3v3. They are both around mid-gold level
54+
in terms of skill and can be found in the bot pack.</p>
55+
56+
<p>Here is a summary of other bots in the bot pack:</p>
57+
58+
<ul>
59+
<li><b>S-tier bots:</b> Kamael, ReliefBot, Self-driving car, 3x Bumblebee, Botimus Prime</li>
60+
<li><b>A-tier bots:</b> Wildfire, Codename Cryo, Diablo, Stick, St. Peter (goalie)</li>
61+
<li><b>B-tier bots:</b> Lanfear, PenguinBot, Manticore, Beast from the East, VirxEB, BribbleBot, DisasterBot</li>
62+
<li><b>Spice things up:</b> AdversityBot, Sniper, Snek, Invisibot, LaserBoi</li>
63+
<li><b>Machine learning bots:</b> Levi, TensorBot</li>
64+
</ul>
65+
66+
<p>Notes: Self-driving car and Stick have no teamplay. Codename Cryo is best with 2 teammates.</p>
67+
</div>
68+
</div>
69+
70+
<!-- Can RLBot be used online? -->
71+
<div class="card mb-3">
72+
<div class="card-body">
73+
<h5 id="online-use" class="card-title">Can RLBot be used online?</h5>
74+
<p>The RLBot framework cannot be used online. The API is only activated when the game is started
75+
with a special RLBot setting which disables online play. You can be banned without warning if
76+
we suspect that you have malicious intent (farming, levelling, etc.). We want to stay on
77+
Psyonix's good side here.</p>
78+
</div>
79+
</div>
80+
81+
<!-- Can I use RLBot with friends? -->
82+
<div class="card mb-3">
83+
<div class="card-body">
84+
<h5 id="rlbot-with-friends" class="card-title">Can I use RLBot with friends?</h5>
85+
<p>You can! It requires setting up a LAN/VLAN connection. <a href="https://github.com/RLBot/RLBot/wiki/LAN-Setup">Here is a guide</a>.</p>
86+
87+
<p>It is not possible to play with friends cross platform.</p>
88+
</div>
89+
</div>
90+
91+
<!-- Are the bots using machine learning? -->
92+
<div class="card mb-3">
93+
<div class="card-body">
94+
<h5 id="machine-learning" class="card-title">Are the bots using machine learning?</h5>
95+
<p>Most are hardcoded and do not use machine learning. However, since the release of
96+
<a href="https://rlgym.github.io/">RLGym</a> the machine learning are progressing faster than
97+
ever. If you are interesting in making a ML bot yourself, start by reading the
98+
<a href="https://github.com/RLBot/RLBot/wiki/Machine-Learning-FAQ">ML FAQ</a>.</p>
99+
100+
<p>Some ML projects to check out are:</p>
101+
<ul>
102+
<li>Levi: Supervised learning on the bot Stick</li>
103+
<li>TensorBot: Supervised learning on the bot Diablo</li>
104+
<li>Element: Generic play using reinforcement learning</li>
105+
<li>Eagle: Air dribbling using reinforcement learning</li>
106+
</ul>
107+
</div>
108+
</div>
109+
110+
<!-- How do I get started making my own bot? -->
111+
<div class="card mb-3">
112+
<div class="card-body">
113+
<h5 id="how-to-make-a-bot" class="card-title">How do I get started making my own bot?</h5>
114+
<p>Decide which language to use. RLBot supports :python: Python (most used), Java, Scratch, C#,
115+
Rust, C++, JavaScript, and Go. We recommend having some amount of experience with programming
116+
before making a bot. However, making a bot can be a great way to get more comfortable with
117+
programming or a specific language.</p>
118+
119+
<p>You can find example bots in each language on <a href="http://www.rlbot.org/">the frontpage</a>
120+
showing off the basics and various features.</p>
121+
122+
<p>We also have a few tutorials:</p>
123+
<ul>
124+
<li><a href="https://youtube.com/playlist?list=PL2MGDOTjPtl8fuoXmqxTmASW1ZtrPEXQ2">GoslingUtils (Python)</a></li>
125+
<li><a href="https://www.youtube.com/playlist?list=PLeo0zkmzSE-UUFV-bd2vWtqiqe2cjaQNf">VirxERLU (Python)</a></li>
126+
<li><a href="https://www.youtube.com/playlist?list=PL0Chr9HhL2DQijgJ4b4ho4pBpxFfHXP0m">Java</a></li>
127+
<li><a href="https://tangil.me/posts/dodges">Dodges (C#)</a></li>
128+
<li><a href="https://tangil.me/posts/state">State systems (C#)</a></li>
129+
<li><a href="https://www.youtube.com/watch?v=uGFmOZCpel8&list=PL6LKXu1RlPdxh9vxmG1y2sghQwK47_gCH">RLBotTraining</a></li>
130+
</ul>
131+
132+
<p>Addition resources, documentation, and examples can be found on the
133+
<a href="https://github.com/RLBot/RLBot/wiki">RLBot wiki</a>. Feel free to ask for help in the
134+
<a href="https://discord.gg/zbaAKPt">Discord server</a> in the appropriate language channel or
135+
in the #strategy or #mathematics channels.</p>
136+
</div>
137+
</div>
138+
139+
<!-- What is in the GameTickPacket and FieldInfo? -->
140+
<div class="card mb-3">
141+
<div class="card-body">
142+
<h5 id="game-tick-packet-and-field-info" class="card-title">What is in the GameTickPacket and FieldInfo?</h5>
143+
<p>The GameTickPacket is a packet sent to your bot each tick. It contains information about
144+
everything that tends to update during the game. For instance, the location and velocity of
145+
all cars and the ball, the state of boost pads, the time elapsed.</p>
146+
147+
<p>The FieldInfo contains information that is static throughout the game. For instance, the
148+
location and size of boost pads and the location of goals.</p>
149+
150+
<p>More information about the GameTickPacket, FieldInfo, and even the ControllerState can be
151+
on the <a href="https://github.com/RLBot/RLBotPythonExample/wiki/Input-and-Output-Data">RLBot wiki</a>.</p>
152+
</div>
153+
</div>
154+
155+
<!-- What is the dimensions of the field? Gravity? Ball radius? Max speed? Boost? Kickoff locations? etc? -->
156+
<div class="card mb-3">
157+
<div class="card-body">
158+
<h5 id="useful-game-values" class="card-title">What is the dimensions of the field? Gravity? Ball radius? Max speed? Boost? Kickoff locations? etc?</h5>
159+
<p>All of these values can be found on <a href="https://github.com/RLBot/RLBot/wiki/Useful-Game-Values">RLBot wiki</a>.</p>
160+
161+
<p>To learn more about the physics of Rocket League, see <a href="https://samuelpmish.github.io/notes/RocketLeague/">chip's notes</a>.</p>
162+
163+
<p>We also have a note on <a href="https://github.com/RLBot/RLBot/wiki/Jumping-Physics">jumping physics</a>.</p>
164+
165+
<img src="https://i.imgur.com/nOz84cD.png" alt="game field dimensions" style="height: 400px"/>
166+
</div>
167+
</div>
168+
169+
<!-- How do I use debug rendering/game state setting/ball prediction/RLBotTraining? -->
170+
<div class="card mb-3">
171+
<div class="card-body">
172+
<h5 id="debug-rendering-game-state-setting-ball-prediction-rlbottraining" class="card-title">How do I use debug rendering/game state setting/ball prediction/RLBotTraining?</h5>
173+
<p>The RLBot framework comes with a set of useful features. Learn more about these here:</p>
174+
<ul>
175+
<li><a href="https://github.com/RLBot/RLBot/wiki/Rendering">Debug rendering</a></li>
176+
<li><a href="https://github.com/RLBot/RLBot/wiki/Manipulating-Game-State">Game state setting/manipulation</a></li>
177+
<li><a href="https://github.com/RLBot/RLBot/wiki/Ball-Path-Prediction">Ball prediction</a></li>
178+
<li><a href="https://github.com/RLBot/RLBotPythonExample/wiki/Quickchat">Quick chat</a></li>
179+
<li><a href="https://www.youtube.com/watch?v=uGFmOZCpel8&list=PL6LKXu1RlPdxh9vxmG1y2sghQwK47_gCH">RLBotTraining</a></li>
180+
</ul>
181+
</div>
182+
</div>
183+
184+
<!-- How does RLBot work? -->
185+
<div class="card mb-3">
186+
<div class="card-body">
187+
<h5 id="how-does-rlbot-work" class="card-title">How does RLBot work?</h5>
188+
<p>RLBot uses an API in Rocket League specifically made for us. This API is activated when the
189+
game is launched with the '-rlbot' flag, which simultaneously disables all online play.
190+
The RLBotCore dll communicates with the game through this API and this is where most of the
191+
magic happens. Communication with bots are done through sockets (shared memory in the past)
192+
which allow us to support a wide range of languages.</p>
193+
</div>
194+
</div>
195+
196+
</div>
197+
<div class="col-lg-4">
198+
<iframe src="https://discordapp.com/widget?id=348658686962696195&theme=dark" width="350" height="500"
199+
allowtransparency="true" frameborder="0"></iframe>
200+
</div>
201+
202+
</div>
203+
204+
</div>
205+
206+
<!-- Footer -->
207+
<footer class="page-footer font-small blue pb-5">
208+
209+
<div class="container">
210+
<div class="row">
211+
<div class="col-lg-8 py-5">
212+
<div class="d-flex justify-content-center">
213+
214+
<!-- Twitter -->
215+
<a href="https://twitter.com/RLBotOfficial" class="mx-4">
216+
<img class="ft-img gray-to-color" src="../twitter.png">
217+
</a>
218+
219+
<!-- Youtube -->
220+
<a href="https://www.youtube.com/c/RLBotOfficial" class="mx-4">
221+
<img class="ft-img gray-to-color" src="../youtube.png">
222+
</a>
223+
224+
<!-- Twitch -->
225+
<a href="https://www.twitch.tv/rlbotofficial" class="mx-4">
226+
<img class="ft-img gray-to-color" src="../twitch.png">
227+
</a>
228+
229+
<!-- Reddit -->
230+
<a href="https://www.reddit.com/r/RocketLeagueBots/" class="mx-4">
231+
<img class="ft-img gray-to-color" src="../reddit.png">
232+
</a>
233+
234+
</div>
235+
</div>
236+
</div>
237+
238+
</div>
239+
240+
</footer>
241+
242+
</body>
243+
</html>

index.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,15 @@ <h5 class="card-title">RLGym</h5>
146146

147147
<div class="col-lg-4">
148148

149+
<a href="./faq">
150+
<div class="card mb-3 compact-card">
151+
<div class="card-body" style="text-decoration: none">
152+
<h5 class="card-title">FAQ</h5>
153+
<p>Frequently asked questions</p>
154+
</div>
155+
</div>
156+
</a>
157+
149158
<a href="./tournament">
150159
<div class="card mb-3 compact-card">
151160
<div class="card-body" style="text-decoration: none">

0 commit comments

Comments
 (0)