Aug 8, 2017

P.I.F.F.L.E.

Python Interactive Fiction For Lunatics Exclusively

This was a project I made for a class last year. It's Python based engine (clattering and awash in toxic fumes) for creating IF. It uses a "rules" structure similar to Inform 7, and a syntax similar to CRPL, because of course it would.

I didn't really have any intent to release this, hence no docs or any suchlikery. I just wanted to lend it a modicum of legitimacy such that my ol' buddy ol' pal "GM" could use it for a parallel programming exercise. The rest of the universe, should it stumble onto this Yog-Sothoth-forsaken page, might as well have access to it as well.

Hence, I'm sharing this under the don't be a dick license.

Depending on various factors (including but not limited to: feedback from "GM", alignment of stars) I may at some point decide to clean up this project, document it, extend it, etc.

Download Link. Basic usage instructions follow.

-Have everything in the same directory, mmkay
-Run player.py. This opens a window that prompts for a file. Pick example.pfl or example.sav.
-Opening a .pfl will compile the start of the game to a .sav, then open the .sav
-Note: typing "save" ingame does not create a new file as with most IF platforms. All saves are stored within the original .sav. Convenient! See, every system has at least one upside.
-Due to me being a rubbish programmer, and the serialized saves having links to player.py, if someone is stupid enough to create an alternative interpreter, saves between interpreters will be incompatible. Don't do this. Alternatively, tell me how to avoid this restriction without rewriting most/all code, and I will steal your idea (with credit, of course.)
-No docs I said! Learn from example.pfl, which uses none of the custom parsing features that have the most confusing names! Git gud!



On a more down-to-earth note: probably there are like 5 people scratching their heads because they subscribed years ago to "that embittered screedful teenager thirsty for all the blood in the universe, also ponies are cool" and have an email about this odd programming thing. Okay, perhaps that isn't entirely down-to-earth. You'll note that old posts are now hidden, because I'm kind of ashamed of some of them. In any case, the name of this blog is cursed. I have been considering, for a while, demolishing this blog entirely, but then many questions arise: what about old content? (I want to save it and have a laugh about it some years down the line, and to some extent, preserving the format etc. may be of value.) Should I create a new blog in its place? Should I simply keep this one, and cleanse it? Should I work on other projects in my shrouded, vile den of the abyss? Should I disappear off the web entirely? (Not the last one - I need to keep occupied with something. The last few years have shown what a mess I become without an overarching projectoid structure.)

Che sarĂ  sarĂ .