163 lines
5.6 KiB
Markdown
163 lines
5.6 KiB
Markdown
# Difficult Rocket
|
|
|
|
[中文](../README.md) | English
|
|
|
|
- [GitHub](https://github.com/shenjackyuanjie/Difficult-Rocket)
|
|
- [Gitee](https://gitee.com/shenjackyuanjie/Difficult-Rocket)
|
|
- [Discord](https://discord.gg/kWzw2JrG6M)
|
|
- [Kook](https://kook.top/sRPjFG)
|
|
|
|
>Note: This repo will only publish `DR SDK` updates, `DR game` updates will be published [here](https://github.com/shenjackyuanjie/DR-game).
|
|
|
|
[![996.icu](https://img.shields.io/badge/996.icu-996.icu-red.svg)](https://996.icu)
|
|
[![semver](https://img.shields.io/badge/SemVer-2.0.0-blue.svg)](https://Semver.org/)
|
|
[![python-3.8.10](https://img.shields.io/badge/编写于_Python_版本-3.8.10-blue.svg)](https://Python.org)
|
|
[![pyglet-2.x](https://img.shields.io/badge/编写于_Pyglet_版本-2.x-blue.svg)](https://pyglet.org)
|
|
[![support python 3.8~12](https://img.shields.io/badge/Python-_3.8_~_3.12_-blue.svg)](https://Python.org)
|
|
|
|
## Version
|
|
|
|
[About Versions](src/version.md)
|
|
|
|
[![release version](https://img.shields.io/badge/Release-0.8.7.2-blue.svg)](https://github.com/shenjackyuanjie/Difficult-Rocket/releases)
|
|
[![pre version](https://img.shields.io/badge/Pre_Release-0.8.7.2-blue.svg)](https://github.com/shenjackyuanjie/Difficult-Rocket/releases)
|
|
[![devlo version](https://img.shields.io/badge/Devloping-0.9.0-blue.svg)](https://github.com/shenjackyuanjie/Difficult-Rocket/releases)
|
|
|
|
[![language badge](https://stats.deeptrain.net/repo/shenjackyuanjie/Difficult-Rocket?theme=dark)](https://stats.deeptrain.net/repo/shenjackyuanjie/Difficult-Rocket?theme=dark)
|
|
|
|
[DR sdk latest Action build](https://nightly.link/shenjackyuanjie/Difficult-Rocket/workflows/nuitka/main)
|
|
|
|
[DR rs latest Action build](https://nightly.link/shenjackyuanjie/Difficult-Rocket/workflows/dr_rs/main)
|
|
|
|
## Introduction
|
|
|
|
Difficult-rocket is a Simple Rocket liked game build with Python (shorten as "rocket simulator"). It is lighter than Vanilla SR.
|
|
|
|
[Plan feature list](src/plan_features/README.md)
|
|
|
|
[YouTrack](https://difficult-rocket.youtrack.cloud/projects/8dafd498-59c0-4ce7-9900-d9292e9ed1f0)
|
|
|
|
[Update logs](src/change_log/readme.md)
|
|
|
|
## Run
|
|
|
|
### 1. Clone
|
|
|
|
```bash title="clone.sh"
|
|
mkdir DR
|
|
cd DR
|
|
git clone https://github.com/shenjackyuanjie/Difficult-Rocket.git
|
|
# or
|
|
git clone https://gitee.com/shenjackyuanjie/Difficult-Rocket.git
|
|
# or
|
|
git clone git@github.com:shenjackyuanjie/Difficult-Rocket.git
|
|
```
|
|
|
|
### 2. Install requirements
|
|
|
|
```bash title="install.sh"
|
|
python -m pip install -r requirements.txt
|
|
git submodule update --init --recursive
|
|
cd libs
|
|
python -m pip install ./lib_not_dr
|
|
python -m pip install ./pyglet
|
|
```
|
|
|
|
### 3. Run
|
|
|
|
```bash title="run.sh"
|
|
python DR.py
|
|
```
|
|
|
|
## Environment
|
|
|
|
>The developing environment used Python `3.8.10`, but `3.10.11` is also available.
|
|
|
|
- `Develop platform 1 - Windows 10 x64 22H2`
|
|
- Python `3.8.10` / `3.10.11`
|
|
- pillow `10.0.0`
|
|
- psutil `5.9.5`
|
|
- rtoml `0.9.0`
|
|
- tomlkit `0.12.1`
|
|
- defusedxml `0.7.1`
|
|
- objprint `0.2.2`
|
|
- viztracer `0.15.6`
|
|
- vizplugins `0.1.3`
|
|
- nuitka `1.7.10`
|
|
- ordered-set `4.1.0`
|
|
- imageio `2.31.2`
|
|
- wheel `0.41.2`
|
|
- setuptools `68.1.2`
|
|
- setuptools-rust `1.7.0`
|
|
- `AMD R5 5600X`
|
|
- `AMD RX 550 4G`
|
|
|
|
## Required Python Modules
|
|
|
|
- `pyglet` (pre-installed V2.0.8 path:`./libs/pyglet`)
|
|
- `xmltodict` (pre-installed V0.12.0 path:`./libs/xmltodict`)
|
|
- `pyperclip` (pre-installed V1.8.2 path: `./libs/pyperclip`)
|
|
|
|
[requirement.txt](requirement.txt)
|
|
[requirement-build.txt](requirement-build.txt)
|
|
[requirement-dev.txt](requirement-dev.txt)
|
|
|
|
## Credits
|
|
|
|
- Open Source Projects
|
|
- [pyglet](https://github.com/pyglet/pyglet): GUI and graphics
|
|
- `tomlkit` / `rtoml` toml parser
|
|
- `xmltodict`: translate data between xml and dict
|
|
- `pyperclip`: paste board!
|
|
- [rapier2d](https://rapier.rs/) : Phy simulate engine
|
|
- [pyo3](https://pyo3.rs/main) : Rust Python Binding
|
|
|
|
- Main contributors
|
|
- [@Rayawa](https://github.com/Rayawa) : Check mistake in docs & some translates
|
|
- [@rouxiao-you](https://github.com/ruoxiao-you) : Translate chinese to English
|
|
- [@Billchyi](https://github.com/Billchyi) : Check mistake in docs
|
|
- [@MSDNicrosoft](https://github.com/MSDNicrosoft) : Optimize code
|
|
|
|
## Other Links
|
|
|
|
>Pending to be completed.
|
|
|
|
## License
|
|
|
|
#### https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
|
|
#### Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
|
|
|
|
This is a human-readable summary of (and not a substitute for) the license. Disclaimer.
|
|
|
|
You are free to:
|
|
|
|
Share — copy and redistribute the material in any medium or format
|
|
|
|
Adapt — remix, transform, and build upon the material
|
|
|
|
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
|
|
|
Under the following terms:
|
|
|
|
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You
|
|
may do so in any reasonable manner, but not in any way
|
|
|
|
that suggests the licensor endorses you or your use.
|
|
|
|
NonCommercial — You may not use the material for commercial purposes.
|
|
|
|
ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same
|
|
license as the original.
|
|
|
|
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from
|
|
doing anything the license permits.
|
|
|
|
Notices:
|
|
|
|
You do not have to comply with the license for elements of the material in the public domain or where your use is
|
|
permitted by an applicable exception or limitation.
|
|
|
|
No warranties are given. The license may not give you all the permissions necessary for your intended use. For example,
|
|
other rights such as publicity, privacy, or moral rights may limit how you use the material.
|