General

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Permit comma-separated options in say phrases

    Currently this is not allowed:

    To say foo, loudly:
    say "Foo";
    if loudly, say "!";

    The error says: "...phrase options are not allowed for 'say' phrases, because the commas would lead to ambiguous sentences, and because the content of a substitution is intended to be something conceptually simple and not needing clarification."

    I am not seeing the ambiguity. (It would be one phrase inside a bracketed substitution, which seems straightforward.)

    As for substitutions intended to be simple -- sorry, I don't buy it. The most prominent set of phrase options in Inform is the WriteListFrom routine and its coterie of…

    2 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Use options for more template-internal constants

      Constant RE_MAX_PACKETS = 32;
      Constant MAX_NESTED_ACTIVITIES = 20;
      (Undoubtedly there are more examples, these are just the ones I've noted down.)

      Bumping these constants requires an inefficient template replacement. (You have to copy and paste a lot of template code to change one line.) Instead we could have use options: "Use maximum regexp packets of at least 32", "Use maximum nested activities of at least 20".

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • Define "empty" for containers and supporters

        The "empty / non-empty" adjective is defined for many internal types (rulebooks, texts, etc) but not for world-model objects. I think it would align with authors' expectations if "empty" was defined at least for containers and supporters.

        (A game could still override this adjective for specific objects if other definitions are desired.)

        Be careful about efficiency. The following works without having to iterate the contents:

        Definition: a container is empty rather than non-empty if the first thing held by it is nothing.

        1 vote
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Remove "(I6/v6.33 lib 6/12N)" from the banner

          The current game banner looks like

          Release 1 / Serial number 160227 / Inform 7 build 6M62 (I6/v6.33 lib 6/12N) SD

          The parenthesized part is boilerplate and conveys nothing useful even for deep I6-hacker types (like me).

          - The I6 compiler is packaged with I7 and will not change, unless someone deliberately upgrades it in place -- which is likely to be a bug-fix update that does not change the "6.33" version label. (Yes, I've done this, and no, I didn't touch the label.)

          - "6/12N" is hardcoded in the template layer and dates from the era when we thought…

          1 vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • Release I7 under the Artistic (Perl) License

            Copying my comment from https://inform7.uservoice.com/forums/57320-general/suggestions/6084680-gnu-gpl (which was marked declined):

            Graham has indicated that a future release of I7 will appear under an open-source license, but he hasn't said when that will happen.

            (I assume it will be the Artistic License, as that's what's used for Inform 6 and Inweb.)

            I don't know if that will produce an exponential increase in productivity. But, at a minimum, it should help with the various "port to my system" requests that have appeared here. (http://inform7.uservoice.com/forums/57320-general/suggestions/4805032-make-the-command-line-arm-port-work-on-arm , http://inform7.uservoice.com/forums/57320-general/suggestions/1089677-port-to-app-store-for-ipad , http://inform7.uservoice.com/forums/57320-general/suggestions/2866300--ide-create-a-new-ide-for-android-devices-vw , etc.)

            Those are all marked "volunteer wanted". But in my experience, a volunteer…

            13 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Assign stored actions that exist at boot time to whoever the player is defined to be at boot time.

              Assign stored actions that exist at boot time to whoever the player is defined to be at boot time.

              If a table has actions in it at boot time, they are currently attributed to the default PC (the one who sometimes becomes 'your former self'). This happens even if the author includes a 'The player is Jane' statement. In the latter case, I think the actions in the tables should all be attributed to Jane when the game boots.

              1 vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • (actions) permit the definition of empty kinds of action

                Currently the only way to define a kind of action is to give an example of it; e.g. "Looking is acting fast."

                It would be convenient to allow a kind of action to be defined directly, by "Acting fast is a kind of action." This would be especially convenient for extensions that define a kind that may or may not be populated by the authors that use it--for instance, an extension might want to write rules for "acting fast" in case the author wanted to define any actions as acting fast, without forcing any particular action to count as acting…

                1 vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • (syntax) allow "matched as" for rulebook variables

                  Currently we can use the "matched as" syntax for action variables:

                  The going action has a room called the room gone from (matched as "from").

                  The otherwise very similar rulebook variables do not allow us to use "matched as." It would be convenient to allow "matched as" for rulebook variables as well, so that one could write:

                  The assaying rules are a thing based rulebook. The assaying rules have a thing called the instrument (matched as "with").

                  and then write

                  For assaying the rock with the microscope:

                  rather than

                  For assaying the rock when the instrument is the microscope:

                  3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  Admin →
                  • (syntax) give us a way to acquire the number of the row that was just chosen

                    I would like to be able to be able to determine the number of a row in a table that was previously chosen (by some criteria *other* than number). For example, I want to be able to get a sensible value for 'N' when I code the following:

                    choose the row with fruit "banana" in the Table of Tasty Fruit;
                    let N be the number of the chosen row.

                    -OR-

                    choose a random row in the Table of Handy Lookups;
                    let N be the number of the chosen row.

                    It would also be cool to have functions like "the next…

                    7 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • (Parsing) Reorder and modify tests created by "Understand ... when ..." to allow closer functionality to I6 parse_name() routines

                      If an author tries something reasonable-looking like: 'Understand "with [number] spots" as a tribble when the spot count of the tribble is the number understood.' (in a situation where the tribble kind has a number property called spot count), the compiler does not complain, but the Understand grammar doesn't work, either.

                      Close inspection of the generated source code shows that the tribble kind is assigned a function Parse_Name_GV## (with ## being a number) which includes

                      a. a generated test (called Cond_Token_###) to determine if the condition that came after the "when" is true.

                      b. a series of word-by-word tests looking…

                      1 vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        1 comment  ·  Admin →
                      • Make 'reset' show the title screen again

                        I usually do transcripts by typing '>script' and then '>reset', but this doesn't give me the title screen, meaning that no opening text ever makes it into a transcript. And in general, there's no way to see the opening splash screen without actually closing and re-opening the game. I assume there are technical reasons for this, but if it turned out to be doable, it'd be great if 'reset' tapped into that.

                        3 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          1 comment  ·  Admin →
                        • (Responses, Extension authoring) Allow lettered responses outside of rules

                          Extension authors are expected mark to responses with letters (e.g. "(A)") inside named rules, but there seems not to be an elegant way to handle strings that appear in, for instance, "Understand as a mistake" or "to gild the lily" situations.

                          Examples:

                          http://www.intfiction.org/forum/viewtopic.php?f=7&t=18953&p=100339#p100335

                          http://www.intfiction.org/forum/viewtopic.php?f=7&t=18882&p=99664#p99664

                          6 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            1 comment  ·  Admin →
                          • Provide a way to either delete od or unwanted projects from the history list or edit the history list.

                            In an attempt to find the history file that is created by Inform to store the projects history, I now have a dummy project that I cannot delete.

                            1 vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              1 comment  ·  Admin →
                            • Enable a story.ni file or *.inform folder to be opened with Inform 7 for Linux by clicking on it or from within Inform.

                              I have projects that are no longer in the history file of Inform. I have associated story.ni files with Inform, but all that happens is the Inform welcome screen appears. So there is no real file association with Inform.

                              After selecting “Open an existing project” when I move to the folder where the story.ni file is, the list remains blank. Even if I type in the file name (story.ni), Inform will do nothing to open the project. (That is, when I click on Open, *nothing* happens. It doesn’t open the file, it gives no error message, it doesn’t close. It…

                              1 vote
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                1 comment  ·  Admin →
                              • Allow extensions to have error/help pages

                                When installing a new extension, allow a help page to be included somehow. Maybe some portion of text is extracted from the i7x file and any associated RunTimeProblem messages lead to new help pages auto-generated from the i7x file.

                                0 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  1 comment  ·  Admin →
                                • Disallow to decide phrases that have the same name as variables

                                  If you have a phrase and a global variable that share the same name:

                                  N is a number that varies.

                                  To decide which number is N:
                                  decide on 7.

                                  ...then it becomes impossible to call the to decide phrase because the compiler considers N to always refer to the variable.

                                  This is a very common problem where the author either assumes that N must be declared as a variable in addition to the phrase that defines its value, or changes the variable into a phrase but forgets to remove the variable declaration. Debugging the issue can be tricky.

                                  Since the…

                                  3 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • Rework the parsing when no verb is provided

                                    Currently, if there are any "mistakes" defined in the source text the parser will assume an unrecognized verb is a "mistake" and will give the I don't understand error instead of the the not a verb I recognize error. Also if any verbs have understand lines that have no verb (such as Understand "[kind]" as action) the parser will assume the first word is a noun and if it matches an object in scope (or out of scope if "[any kind]" is used) it will give the noun doesn't make sense in that context error.
                                    It would seem more logical…

                                    1 vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • Separate implicit actions, other notifications into rules

                                      One thing that's been difficult for authors to change in a systematic way is the reports from implicit actions, default notifications, and such. These are usually shown immediately after the command in parentheses.

                                      It would be nice to provide complete control over these textual outputs.

                                      2 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        1 comment  ·  Admin →
                                      • Use the inserting into action as an example in the "did not make sense as a description of an action" error message

                                        The overwhelmingly most common problem people have is trying to use "putting it in" to refer to the inserting it into action. If that specific case was mentioned in the resulting error message it would solve a lot of those problems.

                                        For example:

                                        "You wrote 'Instead of fooing a bar' , which seems to introduce a rule taking effect only if the action is 'fooing a bar'. But that did not make sense as a description of an action. I am unable to place this rule into any rulebook.

                                        This error sometimes occurs when a wrong name is used to…

                                        2 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Admin →
                                        • Make an strict mode option for line endings

                                          Many users get confused by line endings - when to use periods or semicolons, what punctuation inside a text is allowed to end a line.

                                          An optional strict mode could be added which would enforce stricter formatting rules, such as:
                                          every statement must end in a period, and one statement per line
                                          every line in a rule must end in a semicolon
                                          at least one blank line before and after every rule
                                          either begin/end or tabbed blocks, but not both (would have to apply only to the main source file, not extensions)

                                          1 vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            1 comment  ·  Admin →
                                          • Don't see your idea?

                                          General

                                          Feedback and Knowledge Base