I recently finished porting a game that a friend and I wrote together a few 
years ago from Python to Nim, and I released the initial version (0.1.0) of 
this port.

The game, which is titled The Last Gardener, was originally created for PyWeek 
21, a week-long challenge in which submitted games must be created mostly with 
Python. This game used the pyglet library originally, but the Nim port uses 
nimgame2 instead. It's a bullet hell game in which the player has to mow lawns 
with a drone while avoiding bullets that are being shot by aliens. It's silly 
and doesn't really make any sense :p

I wanted the Nim port to behave as closely as possible to the original Python 
implementation for 0.1.0, which also means that I intentionally kept most of 
the flaws that the original PyWeek submission had. Future versions that may be 
released in the distant future will hopefully improve the game by ironing out 
these flaws, cleaning up the messy source code, and maybe add new features and 
levels. Porting the game was not difficult, and I had fun doing so, although I 
did run into a few issues along the way. The Nim port performs significantly 
better than the Python version with less effort on my part, so I'm really happy 
about that.

For now, probably the biggest issue with 0.1.0 is that the difficulty is very 
high, so if you do not have any experience with bullet hell games, easy 
difficulty is highly recommended. I don't recommend hard difficulty because it 
was mostly untested due to lack of time back then, and it is probably 
ridiculous and unfair, but you can attempt to beat it if you want.

Anyway, the source code of the game is here: 
[https://bitbucket.org/Jjp137/last-gardener](https://bitbucket.org/Jjp137/last-gardener)

Linux 64-bit builds are here: 
[https://bitbucket.org/Jjp137/last-gardener/downloads](https://bitbucket.org/Jjp137/last-gardener/downloads)

For other operating systems or architectures, you'll have to compile the game 
yourself, unfortunately. Instructions for doing so are in the README. Note that 
you need the devel version of nimgame2.

Finally, here's a screenshot. The game relies on using openly-licensed game 
assets from websites such as OpenGameArt as well as public domain images for 
the nonsensical story, so don't expect this game to be pretty. I hope you have 
fun, though!

Reply via email to