{"id":50286912,"url":"https://github.com/robocup-junior/rcj-soccersim","last_synced_at":"2026-05-28T03:08:53.529Z","repository":{"id":40380663,"uuid":"289533976","full_name":"robocup-junior/rcj-soccersim","owner":"robocup-junior","description":"The RoboCupJunior Soccer Simulator, based on Webots","archived":false,"fork":false,"pushed_at":"2024-09-04T21:01:43.000Z","size":2048,"stargazers_count":23,"open_issues_count":7,"forks_count":21,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-09-06T05:56:22.387Z","etag":null,"topics":["rcj-soccer-simulation","robot","robot-simulation","robot-simulator","simulator","soccer","soccer-sim","soccer-simulation"],"latest_commit_sha":null,"homepage":"https://robocup-junior.github.io/rcj-soccersim/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robocup-junior.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-08-22T17:21:24.000Z","updated_at":"2024-09-04T21:01:24.000Z","dependencies_parsed_at":"2024-05-31T22:42:17.555Z","dependency_job_id":"bff111a1-f985-4550-ae1d-3c58ae5fd2ff","html_url":"https://github.com/robocup-junior/rcj-soccersim","commit_stats":null,"previous_names":["robocup-junior/rcj-soccersim"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/robocup-junior/rcj-soccersim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocup-junior%2Frcj-soccersim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocup-junior%2Frcj-soccersim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocup-junior%2Frcj-soccersim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocup-junior%2Frcj-soccersim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robocup-junior","download_url":"https://codeload.github.com/robocup-junior/rcj-soccersim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocup-junior%2Frcj-soccersim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33592205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rcj-soccer-simulation","robot","robot-simulation","robot-simulator","simulator","soccer","soccer-sim","soccer-simulation"],"created_at":"2026-05-28T03:08:52.608Z","updated_at":"2026-05-28T03:08:53.524Z","avatar_url":"https://github.com/robocup-junior.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RCJ Soccer Simulator\n\nThis is the official repository of the RoboCupJunior Soccer Simulator. The\nsimulator is based on [Webots](https://github.com/cyberbotics/webots) and this\nrepository provides both the \"automatic referee\" (which implements the [Soccer\nSimulated Rules](https://github.com/robocup-junior/soccer-rules-simulation))\nas well as a sample simulated team of robots with some basic strategy.\n\n![Soccer Sim](./docs/docs/images/soccer_sim.png)\n\n*Learn more in the [documentation](https://robocup-junior.github.io/rcj-soccersim/).*\n\n# How do I try this out?\n\n## Installation\n\n1. Install Python 3.7 (or higher) 64 bit from the [official website](https://www.python.org/downloads/) (please make sure it is version 3.7 or higher for Windows, and 3.8 or higher if installing on MacOS or Linux). On Windows, please make sure your Python is referenced in Windows PATH by selecting the option \"Add Python 3.x to PATH\" during the installation. Check out this great [installation guide](https://realpython.com/installing-python/) if you need some help!\n\n2. Download [Webots](https://www.cyberbotics.com/#download) from their official website. Currently, version R2025b is stable with the Soccer Simulator. You can find detailed installation procedure on the official [Webots Installation guide](https://cyberbotics.com/doc/guide/installation-procedure).\n\n3. Clone the rcj-soccersim repository to your computer by downloading the ZIP file from [here](https://github.com/robocup-junior/rcj-soccersim/archive/master.zip) or running\n\n        git clone https://github.com/robocup-junior/rcj-soccersim.git\n\n4. Finally, run Webots, go to `Tools \u003e Preferences \u003e Python command` and set it to `python` or `python3` to point Webots to Python 3. Depending on your system, the reference to Python 3 can be via the command `python` or `python3`. More information on how to configure Webots to work with Python can be found [here](https://cyberbotics.com/doc/guide/using-python).\n\n## Running Soccer Sim\n\n1. Use Webots to open the downloaded `soccer.wbt` world located in the `worlds`\n   directory (via `File \u003e Open World`)\n\n2. Run/pause the simulation by clicking the corresponding buttons on the top-part of Webots window. Note that the controllers that are responsible for the\n   various robots on the field can be found in the `controllers/` directory.\n\n## Notes\n\nA specific `webots` world can be executed directly from the command line as\nfollows:\n\n        webots --mode=run worlds/soccer.wbt\n\nWhich allows for at least some automation. Further info can be found in the\n[docs](https://cyberbotics.com/doc/guide/starting-webots).\n\nThe sample players as well as the \"automatic referee\" are implemented in\nPython, which should allow for easily updating the code to match the rules and\navoid any compilation issues.\n\n## Development\n\nWe are open to contributions! Have a look at our [issues](https://github.com/robocup-junior/rcj-soccersim/issues).\nBefore you make a pull request, make sure the code is formatted\nwith `black` and `isort`, and `flake8` issues are fixed.\n\nTo do so, follow these steps:\n\n1. Create virtualenv `python3 -m venv venv`\n2. Install `pip-tools` by running `pip install pip-tools`\n3. Install development modules `pip-sync requirements/development.txt`\n4. Setup pre-commit hook `pre-commit install`. This hook will not allow you to\ncommit in case one of the checkers raises an error.\n5. In order format the code, run the formatters in this order\n    * `isort .`\n    * `black .`\n6. Manually fix error raised by `flake8 .`\n\n### Updating dependencies\n\nDependencies for development are managed by pip-tools. To compile current\ndependencies run\n\n```bash\n$ pip-compile -o requirements/development.txt requirements/development.in\n```\n\nIn order to update dependencies, use `--upgrade` switch.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocup-junior%2Frcj-soccersim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobocup-junior%2Frcj-soccersim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocup-junior%2Frcj-soccersim/lists"}