https://github.com/rdb/obbo
Obbo's Descent: Cute asteroid-fishing game for PyWeek 30
https://github.com/rdb/obbo
panda3d pyweek
Last synced: 10 months ago
JSON representation
Obbo's Descent: Cute asteroid-fishing game for PyWeek 30
- Host: GitHub
- URL: https://github.com/rdb/obbo
- Owner: rdb
- Created: 2020-09-20T13:30:08.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-01-23T15:37:26.000Z (over 4 years ago)
- Last Synced: 2025-07-24T22:00:25.327Z (10 months ago)
- Topics: panda3d, pyweek
- Language: Python
- Homepage: https://pyweek.org/e/space-e/
- Size: 89.7 MB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PyWeek 30
This is an entry in the [PyWeek 30](https://pyweek.org/30/) challenge, with the theme "Castaway!".
[Click here to go to the PyWeek entry page.](https://pyweek.org/e/space-e/)
## Controls
* `f1` - Save screenshot (saves to the game's directory)
* `f3` - Toggle wireframe rendering of meshes
* `f5` - Hot reload game files (only available when running from source)
* `left mouse button` - Click to move, hold to start casting, click and hold to reel in
* `right mouse button` - cancel current cast
Click on a spinning build icon to get build options.
## Configuration
The game can be configured by creating a `user.prc` file in the root of the project (i.e., next to `settings.prc`).
If this file is present, then it variables in it will take precedence over any other source.
Some useful variables:
* `win-size` - two numbers to control the resolution (e.g., `win-size 1280 720`)
* `fullscreen` - `true`/`false` to control fullscreen mode (e.g., `fullscreen true`)
* `click-hold-threshold` - a floating point value for how long the mouse needs to remain pressed (in seconds) to be considered "held" (e.g., `click-hold-threshold 0.4`)
* `confine-mouse` - `true`/`false` to control if the mouse cursor can leave the window boundaries (e.g., `confine-mouse false`)
* `skip-main-menu` - `true`/`false` to skip the main menu, intro cutscene, etc. and jump straight to the game (e.g., `skip-main-menu true`)
* `show-frame-rate-meter` - `true`/`false` to display an FPS counter in the top right of the screen (e.g., `show-frame-rate-meter true`)
* `potato-mode` - `true`/`false` try to turn down visuals to run on low-end hardware (e.g., `potato-mode true`)
Here is an example of what a `user.prc` might look like:
```
win-size 1920 1080
fullscreen true
```
## Running from source
### Dependencies
* Python 3.7+
* Python packages in `requirements.txt`
* `blend2bamex` and `gen_asteroids` entry points for `pman` (run `pip install -e .` to get these)
* Blender 2.90 (preferably on the system PATH)
* [limeade](https://pypi.org/project/limeade/) (optional, allows hot reloading of source code)
### Run the game
To run, simply cd to the directory containing the game and type:
```
python run_game.py
```
## Acknowledgments
TODO
Many thanks to @lordmauve and all the other PyWeek participants for a great challenge!