You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+48-34Lines changed: 48 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,69 +9,78 @@ To run a game in the **RoboCup Soccer Simulation 2D**, you need to operate the [
9
9
10
10
Developing a team can be complex due to the environment's intricacy, typically necessitating C++ programming. However, our framework allows for development in other languages by leveraging the [helios-base](https://github.com/helios-base/helios-base) features. By using **SoccerSimulationProxy**, you can develop a team in any language supported by **gRPC** or **Thrift**, such as **C#, C++, Dart, Go, Java, Kotlin, Node.js, Objective-C, PHP, Python, and Ruby**.
11
11
12
-
To use **gRPC**, you just need to develop a gRPC server based on proto messages and gRPC services ([protofile](https://github.com/CLSFramework/soccer-simulation-proxy/blob/master/idl/grpc/service.proto), check the [wiki](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Protobuf) to become more familiar with messages and services) to receive data from the **SoccerSimulationProxy** and send actions back to it.
12
+
To use **gRPC**, you can check out our [gRPC server](https://github.com/CLSFramework/sample-playmaker-server-python-grpc), which is based on proto messages and gRPC services. This server provides a helpful base to get more familiar with the gRPC implementation.
13
13
14
-
To use **Thrift**, you can similarly develop a Thrift server by generating code from the Thrift [IDL](https://github.com/CLSFramework/soccer-simulation-proxy/blob/master/idl/thrift/soccer_service.thrift) (Interface Definition Language) provided. This way, your team can interact with the proxy using the Thrift-generated code to receive data and send actions.
14
+
To use **Thrift**, you can check out our [thrift server](https://github.com/CLSFramework/sample-playmaker-server-python-thrift), which is based on proto messages and thrift services. This server provides a helpful base to get more familiar with the thrift implementation.
15
15
16
16
This allows you to focus on developing your team's strategy and AI algorithms without worrying about the server's underlying complexity.
17
17
18
+
Check our [wiki](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Protobuf) to be more familier with messages and services.
To find more information about the framework, you can visit the [CLSFramework Wiki Pages](https://github.com/CLSFramework/cross-language-soccer-framework/wiki)
27
31
28
32
29
-
This new base code is powered by Helios-Base code and gRPC to help researcher developing a soccer simulation 2D team or researching in this area by using any languages supported by gRPC:
This new base code is powered by Helios-Base and gRPC, designed to assist researchers in developing a Soccer Simulation 2D team or conducting research in this area. It supports development in any language compatible with gRPC.
45
35
## How To Use it?
46
36
47
-
To use this framework, you need to run rcssserver to host a game, run SoccerSimulationProxy (Agents) to connect to the rcssserver to receive information and send actions, and run Playmaker-Server (gRPC-Server) to receive information from agents and send appropriate actions back. To watch the game, you can run rcssmonitor or SoccerWindow2.
37
+
To use this framework, follow the steps below in order:
48
38
49
-
To run the rcssserver and rcssmonitor, you can follow the instructions in the [rcssserver](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/RoboCup-Soccer-Simulation-Server) and [rcssmonitor](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Soccer-Simulation-Monitor).
39
+
### 1. Start the **rcssserver**
40
+
The **rcssserver** hosts the game. You can follow the instructions for setting it up in the [RoboCup Soccer Simulation Server Wiki](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/RoboCup-Soccer-Simulation-Server).
50
41
51
-
To run the SoccerSimulationProxy, there are some different ways such as using Docker, building from source, or using AppImage.
42
+
### 2. Run the **Playmaker-Server**
43
+
Next, run one of the sample Playmaker Servers, such as this [gRPC Server](https://github.com/CLSFramework/sample-playmaker-server-python-grpc), to receive information from the agents and send appropriate actions back to the game.
52
44
53
-
In this page, we will explain how you can run the SoccerSimulationProxy by using AppImage. To find more information about building from source or using Docker, you can visit the [CLSFramework Wiki Pages](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Soccer-Simulation-Proxy).
45
+
### 3. Set up the **Soccer Simulation Proxy**
46
+
Now, run the **Soccer Simulation Proxy** to connect to the **rcssserver** and handle information exchange between agents and the server. You can do this using AppImage, Docker, or by building from source.
54
47
55
-
## Use AppImage (Linux, WSL)
48
+
Here, we’ll explain how to run the Soccer Simulation Proxy using AppImage
56
49
57
-
### Download
58
-
You can download the AppImage of the Soccer Simulation Proxy from the [release page](https://github.com/CLSFramework/soccer-simulation-proxy/releases).
50
+
For more information on using Docker or building from source, visit the [CLSFramework Wiki Pages](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Soccer-Simulation-Proxy).
59
51
60
-
Or download the latest version by using the following command:
You can download the AppImage from the [release page](https://github.com/CLSFramework/soccer-simulation-proxy/releases) or use the following command to download the latest version:
If you want to connect the proxy to a grpc server change this parameter to `grpc` in start.sh file.
71
+
```bash
72
+
rpc_type="thrift"
73
+
```
74
+
### 4. Watch the Game
75
+
To watch the game, you can use either of the following:
76
+
77
+
-**[rcssmonitor](https://github.com/rcsoccersim/rcssmonitor)**: A tool to visualize the game.
78
+
-**[SoccerWindow2](https://github.com/helios-base/soccerwindow2)**: Another visualization tool for RoboCup Soccer Simulation.
79
+
80
+
For instructions on how to run **rcssmonitor**, check the [Soccer Simulation Monitor Wiki](https://github.com/CLSFramework/cross-language-soccer-framework/wiki/Soccer-Simulation-Monitor).
-[Cross Language Soccer Framework](https://arxiv.org/pdf/2406.05621)
97
+
- Zare, N., Sayareh, A., Sadraii, A., Firouzkouhi, A. and Soares, A., 2024. Cross Language Soccer Framework: An Open Source Framework for the RoboCup 2D Soccer Simulation. arXiv preprint arXiv:2406.05621.
0 commit comments