Love the Python version. Am planning to use it on our local CoderDojo to help teach kids to code some basic concepts etc. Awesome job! Thanks!
Why did you choose to store the state in a database? It seems like an unusual choice for a game.
Not really. Databases are very common in gamedev but, most of the time, they are not relational and are ad-hoc (i.e the database program is coded in-house). All of this for performance.
Check this out:
The Python clone I wrote is pretty cool and minimal, but I'm much more proud of a clone I later wrote in C:
https://github.com/fogleman/Craft
This one is much more performant and has way more features, including online multiplayer. The server is in Python.
Here's a video of it:
https://www.youtube.com/watch?v=tScCneiTGm4
Anyway, happy to answer any questions.