Source Code Amnesty Day 2025

I open in advance the thread for the 2025 Amnesty day, April 1, 2025.

Of course, my entry (a really substantial one, namely the last adv3 version of Isekai prior of its successful port to a3Lite) is already ready to deploy; if people want a substantial appetizer, please post so, and I’ll deliver in advance :wink:

Best regards from Italy,
dott. Piergiorgio.

8 Likes

Hey, thanks for kicking things off! I kept meaning to make a post and having it slip my mind, but hopefully we can have a good showing this year.

I’ll try to work up a longer intro soon, but in the meantime for folks not sure what this is about, the IF Wiki page has a good write up — if you’re looking for an excuse to release source, especially for a game you put out last year, April 1 is a day specially reserved for the process!

7 Likes

OK i’ll wait the first of April.

2 Likes

Thanks for the reminder about Source Code Amnesty Day! I’ve just uploaded Bad Beer’s Inform 7 source code to IFArchive, though it may take some days to be fully available. Will link to it from IFDB when it’s in the IFArchive properly. Maybe by 1st April? :stuck_out_tongue_winking_eye: Or soon after.

This is a fantastic annual initiative, and I’m very happy to participate again :slight_smile:

7 Likes

I’ll see what source code I can release! Oh, wait… none.

All jokes aside, I love Source Code Amnesty day and I’ll see what I can do!

4 Likes

my unreleased code is kind of like flatulence. i’d be proud of it under the right circumstances but wouldn’t want to subject the general public to it.

7 Likes

I won’t be participating this year, because you’ve got me into the habit of releasing my source code shortly after releasing my games. I’ve got nothing to release from the last year because it’s already been released.

6 Likes

Not to pick on you, but I think you might be slightly missing the reason for the season? It’s an amnesty - literally anything can and should be released, and the only rule is you can’t feel bad about it.

And you never know whether your self-assessment is completely off! The game whose source code inspired SCAD was my first Inform 7 effort, which boasted such awesome coding choices as having conversations implemented as like 74 independent Instead rules - and when I realized that this meant I couldn’t easily test whether the player had entered into conversation in a turn, rather than fix things I just manually pasted the extra bit of code into all 74.

But after I made the code public, a certain experienced author looked at how I implemented a specific scene when they were working on a certain highly-acclaimed release. Am I saying that without me taking the Source Code Amnesty Day plunge, Never Gives Up Her Dead wouldn’t have happened? Obviously, yes, that’s exactly what I’m saying, and your crappy-seeming source code might likewise inspire a masterpiece, so get it out there!

11 Likes

I released my source code for Braddison Rayburn’s Revenge! in its retrospective a few days ago. I think the source for my other game might be already available, but it’s unfinished so it’s not too much of a help anyways.

1 Like

In the Breakfast in the Dolomites postmortem I wrote:

But now the time has come to change my mind.

5 Likes

Concur and agree with Roberto. Two major amnesties from Italy should help in reducing the excessive non-constructive criticism on Italian IF in english, because of the technical merits.

(and I always delayed working on The Portrait’s 2.0 and its source code release… oh, well.)

Best regards from Italy,
dott. Piergiorgio.

ps. on bad english: I generally care on commenting, but sometimes I use extemporary abbreviation (e.g. imp isn’t in the infocom sense, but in the early 8 bit verb abbreviation sense, ex. imp this = implement this), and sometimes comment can make sense only to me and/or really old timers in coding (e.g. a comment on the code of a double bass in upper.t perhaps can be understand only by an old Amiga coder…) so, please be free to ask about comments’s meanings (a thing I admit defeats the rationale of commenting…)

2 Likes

Haven’t written any IF yet, but now I kind of want to clean up one of my small programming projects for a source release… or perhaps just post most of the contents of my ~/Programming folder as is to sightless-sanctuary.net

2 Likes

Now is 1st of April here in Italy, and albeit is already in the IF Archive, I’ll upload also here, for convenience of everyone interested in the Amnesty Day of 2025:

isekai-adv3.zip (1.3 MB)

Good source-reading ! but, I recommend reading the README first, as always…

Good Amnesty day, and

Best regards from Italy,
dott. Piergiorgio.

4 Likes

I made BOSH public in GitHub: GitHub - rileypb/BOSH

Please promise not to look at it.

10 Likes

But how can we resist the opportunity to finally track down the game’s one use of the word “reification”?

8 Likes

For those who are really curious: it’s one of nineteen random possibilities for the word that scares the lizard people.

5 Likes

Thanks to rgrep, I found it in the source :smiley: looking at the other 18 (actually 17, one is duplicated…), I think that Umberto Eco will be the “Evil One” of the lizard people !! lol !

Best regards from Italy,
dott. Piergiorgio.

2 Likes

As promised I am making available the source of Breakfast in the Dolomites.

source

It is available on my website also via IFDB

The whole project is available on GitHub

This is not a good code example, but maybe it can be of use to someone.

4 Likes

Bad Beer’s Inform 7 source code is in IFArchive and linked from the IFDB game page:

The source code is presented in its original untidied form. Rather devoid of comments :stuck_out_tongue_winking_eye: Using chapters to break up the game. And within each chapter broken down further into locations, NPCs and scenes. There’s also an “Extra coding” section at the end, implementing a few extra things.

The code is pretty standard stuff. The only points of possibly particular interest are:

  • The use of compact tables for handling topic based conversation ASK X ABOUT Y stuff (see under Part 2 “Extra Coding” for numerous NPC conversation tables)
  • In the Extra Coding section a short bit of code (adopted from elsewhere) to report nicely if you try going in an invalid direction, and tell you available exits.
  • In Section 3 of the code there’s a “RESUME THE STORY” instruction, allowing the player who reaches an unsuccessful ending to type PAST at the end of game prompt, and jump back into mid game for another try. This required restarting the game process after the final ending. It was a little bit tricky to get it working.

Thanks again folks - and especially @DeusIrae for starting this in 2023 - for this event again! Fab initiative :star_struck:

8 Likes

Ah, but did you find the one way to die?

2 Likes