Iron ChIF: Season One Episode 3 (FLACRabbit vs. dee_cooke, using Adventuron)

It turns out that the secret to never second-guessing yourself is to wait to do the second-guessing until after the sunk-cost fallacy kicks in!

For instance, it’s natural to wonder whether making a game with a significant story branching point on a strict time limit was a good idea, but I’m 100% confident in my design. (The following puzzle only appears in one branch.)


If there’s one feature that I wish Adventuron had, it’s real functions with arguments and return values, but subroutines and globals will do in a pinch. Here’s an example plucked at random out of my source code:

   describe_suggested_topics: subroutine {
      : gosub "subtract_covered_topics";
      : set_integer var="suggested_topics_c" (0);
      : set_integer var="num_suggested_topics" ((count "suggested_topics"));
      : if (num_suggested_topics > 0) {
         : append {("(You might ask " + d(conversation_partner) + " about ")};
         : iterate "suggested_topics" {
            : append {(collection_get{collection->("topic_descriptions") index->(int(item()))})};
            : if (suggested_topics_c == num_suggested_topics - 1) {
               : append ".)";
            }
            : else_if (suggested_topics_c == num_suggested_topics - 2) {
               : if (num_suggested_topics == 2) {
                  : append " or ";
               }
               : else {
                  : append ", or ";
               }
            }
            : else {
               : append ", ";
            }
            : increment "suggested_topics_c";
         }
         : clear "relevant_topics";
         : clear "suggested_topics";
      }
   }
9 Likes