https://github.com/charles-l/adv-jam-2022
Game for Adventure Jam 2022 (unsubmitted since I ran out of time)
https://github.com/charles-l/adv-jam-2022
game-jam raylib
Last synced: 2 months ago
JSON representation
Game for Adventure Jam 2022 (unsubmitted since I ran out of time)
- Host: GitHub
- URL: https://github.com/charles-l/adv-jam-2022
- Owner: charles-l
- License: mit
- Created: 2022-06-05T12:05:55.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-06-18T15:23:23.000Z (almost 3 years ago)
- Last Synced: 2025-02-16T10:34:49.264Z (3 months ago)
- Topics: game-jam, raylib
- Language: Zig
- Homepage:
- Size: 40 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Unsubmitted game for adventure jam 2022 (ran out of time during development).
Originally started as a zig game, but switched to python to improve iteration
speed.$ pip3 install raylib numpy
$ python3 wrapper.py# hit F5 to hot reload python source in game.py
## Notes
* Switched to Python so I could easily implement hot-reload and have a reliable coroutine implementation (I kept running into problems with Zig's `async`)
* 3/4 isometric took more time to implement than I anticipated.
* Hacking away with hot-reload would have streamlined early iteration. I should have started out with it.
* `nuitka` can be used to distribute python + raylib projects. It allegedly mixes well with native code, so maybe I still utilize Zig for parts of the game.
* The Python implementation (both interpreted and compiled through `nuitka`) uses roughly ~10x CPU time and ~1.5x memory compared to the Zig version. (When eyeballing `top` while running the game.)
* I was surprised that `nuitka` didn't impact the CPU usage much. It implies that the Python interpreter loop isn't a bottleneck. The code is simple, but that means I can wring a lot more out of Python for this type of project.