Preservation Python3 is a snake-type game where the player controls a continually shrinking python (though you might not always notice!), a metaphor for obsolescence and data loss. The python must ingest, pun intended, content and preservation information while avoiding elements that accelerate data loss. If the python survives a certain length of time, the required elements will change into preservation actions needed to maintain continued access.
The game is meant to introduce the elements of an OAIS Archival Information Package to beginners in a fun and interactive way, as well as to present digital preservation as a continuous activity. The fast-paced nature of a snake game also encourages the player to make decisions on which elements they prefer to prioritize.
The game is directly derived from Preservation Python.
-
Data Object
-
Provenance
-
Fixity
-
Context
-
Reference
-
Access Rights
-
Representation Information
-
Packaging Information
-
Malware
-
Obsolescence
-
Accidental Deletion
-
Hardware Malfunction
-
Software Bugs
-
Legal Issues
-
Lack of Organizational Commitment
-
Media Refreshment
-
Technology Watch
-
Format Migration
-
Emulation
-
Backups
Each PDI or preservation action increases your score. Obsolescence and data loss will halve your current score.
The game ends when your score goes below 1 or when you hit the walls or yourself.
Download the project either by cloning it (git clone) or by getting the full ZIP of it.
Make sure you have Python3 installed.
Optionally but highly recommended, activate a virtual environment with:
python -m venv venv
venv\Scripts\activate (Windows)
source venv/bin/activate (Linux)Add the dependencies (e.g. pygame) using pip.
pip install -r requirements.txtNavigate to the folder containing main.py and run with Python3:
python main.pyEnjoy!
In order to generate a preservation-python3.exe, you need to:
- add
pyinstallerusingpip:
pip install pyinstaller- run
pyinstaller preservation.specThe executable will be generated in the dist directory.
If you wish to contribute, read the file CONTRIBUTING.md to know how.
The code is directly derived from the preservation-python code by Jonathan Isip.
The game images come from Flaticon.
The snake image come from OpenGameArt.