Best format for Inform 7 source code upload to ifarchive?

I plan on releasing the source code for my 2 IFComp games.

In the past, I’ve just copied it into a text file. Is there an optimal format to use when putting inform 7 code on IFArchive?

Depends how complex it is. If it’s fairly simple then just the main source file is probably enough, but if it has lots of resources, or if there are custom extensions, then it’s probably best to zip up the whole Inform and Materials folders. This .gitignore file might help you know what can safely be excluded (and should be): … .gitignore

Inform 7 can also do it for you:

I’ve found that releasing the source text and a website, (which adds a link to it on your released website) is the most readable format for I7 source - including a table of contents and hyperlinks and a view of the plain text of the source - without marking it up yourself.



If you look closely, I’ve released only a website and the source text (without the interpreter) so it’s just a website that shows the source text - there’s no “play in browser” link. It may also want to link the released gblorb, but I think, in this case, I manually removed that link in the HTML so it’s just a source text website.

Including the project.materials folder is a good idea. Even better if it includes all the extensions needed for the project. That makes it much easier for people to rebuild the game without going through extension versioning hell.

I’d rather people didn’t include the project.inform folder. That contains a lot of large files (Index, Build) which are completely transient – there’s no reason to archive them. It also contains the skein, which is usually enormous. (The skein may contain the author’s blessed walkthrough and test cases, but even then it’s generally 95% ad-hoc commands which have no archival value.)

If you want to be thorough, package up Source/ and uuid.txt. (The UUID is generated when you create the project but is not saved in the source code.)

I don’t use extensions (besides the built-in ones), so I’ve uploaded just the source text with the uuid pasted into a comment near the beginning. Thanks for all the advice! I’ll put it on ifdb when it’s processed.