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. (IDE) Make Inform more SCM compatible *VW*

    I can't help it ... I'm a software engineer first and an IF author much, much, much further down the list. I want to keep my Inform project in SCM (Source Code Management). I use Git, which has no problem with many of the normal problems (spaces in the file names, etc.).

    However, it's a little hit-or-miss figuring out which files are (re)generated from the source, and which are not. Some guidelines would be nice, and if all generated files were put in a subdirectory, that would be even better.

    The biggest challenge is the Skein. It's stored as a…

    65 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Write an basic reference manual ASAP.

      The existing manuals do not qualify as reference manuals, and will never do so, as they are not even intended to do so. The well-hidden syntax document is a start, but does not actually give specifications for half the syntax elements, and does not explain the semantic restrictions.

      As a programmer who is extremely picky and perfectionist, I found myself having to learn the language partly by reading the source code (in three languages -- I6, I7, C), and partly by fighting with the IDE as it rejected constructions which appeared perfectly valid from the syntax documents and the "manuals".

      18 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)

        For the reasons Andrew points out, this sounds like a substantial task. However, anyone who likes has always been free to write additional manuals; if there is a volunteer who has a specific idea about what they’d like to see, they’re welcome to write it. We have linked many of those resources from the Inform webpage.

      • (world model) a way to move or conceal doors

        There has never been a satisfactory way in Inform to implement a concealed door that is revealed under certain conditions, or a door that leads to different locations under different conditions. I realize that these are hoary cliches of adventure gaming, but despite this (or, really, because of it), I would like to see some kind of solution in Inform.

        21 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          1 comment  ·  Admin →

          There are assorted ways of faking this behavior, but I can see that it’s sometimes a stumbling block for authors, and it’s easy to do wrong. Historically, the way the map was constructed meant that this kind of adjustment would have been hard to do, but we’ll see whether that has changed.

        • (IDE) Support external editor

          The IDE should keep a timestamp of the last time it saved the source text. Then, when the IDE is foregrounded, it should check the story.ni file's modification time. If the file was updated more recently than the IDE saved, the IDE should silently "revert" to the newer contents.

          This would allow the user to have the file open in an external editor, save, switch to the IDE, and compile.

          (This is the preferred behavior for Mac text editors. See TextWrangler/BBEdit, for example.)

          41 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • (IDE/Compiler) Semantic code highlighting

            Improve the syntax highlighter by also highlighting words based on what they mean to the compiler. We could have different colors for objects, rulebooks, kinds, variables, properties, etc.

            The semantic analysis would have to be done by NI, producing a markup file for the IDEs to read.

            147 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)

              We’re seriously considering this, but more discussion and planning is needed: it would require a great deal of work not just for the core of Inform but for all of the interfaces.

            • Build in ability to print the name of a kind

              It would be nice to be able to easily say the name of a kind.

              Brady Garvin's extension "Object Kinds.i7x" (see https://github.com/i7/extensions/blob/master/Brady Garvin/Object Kinds.i7x )makes this possible through some I6-level hacking, but it would be nice to have this an official part of the I7 level to make it easy to implement things like:

              say "The junk dealer eyes your offering. 'It's a fine [kind of the noun], but I already have a big pile of those out back.";

              7 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                1 comment  ·  Admin →
              • Extend [first time]... to include [subsequently]...

                I am proposing extending the idea mentioned here:

                https://inform7.uservoice.com/forums/57320-general/suggestions/751240--adaptive-text-first-time-only

                ...so that instead of displaying text the first time only (which was implemented) OR displaying text NOT the first time (not implemented), we can choose either/or/both. Example (at game start):

                Grubby Cell
                You wake up on the floor of a dirty prison cell.

                > look
                Grubby Cell
                You are standing in a dirty prison cell.

                ...the code for which could be something along the lines of:

                Grubby Cell is a room. "You [first time]wake up on the floor of[subsequently]are standing in[end] a dirty prison cell."

                Using [first time]...[subsequently]...[end] construction would I…

                1 vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • List all standard rules as Inform 7 code under the Action tab

                  As it is now, programmers who are looking to modify/remove/add existing rules, have to either guess how the standard actions (and probably other rules) are doing things, or find and refer to the obscure page http://inform7.com/sources/src/stdrules/Appendix%20A/SR4%20-%20Actions.w and translate its entry into Inform 7 source (and also test the action several ways to find out what the in-game messages are). I want the I6 source for an action, to be listed as I7 source for each action, ready to be cut and pasted, or inserted into the source through the standard click of a button. This would allow programmers to edit…

                  9 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)

                    We see your point; on the other hand, there are some problematic implications in that it makes the index larger and harder to generate, which is a bit unwieldy. We will think on it.

                  • (Programming) Get rid of "a random" when it's obvious there can only be one

                    A better way to refer to a single item with a given
                    specification, in a situation where it's known that it must be the only
                    one. At present "a random..." is sometimes used for this, so for instance:

                    try inserting the item into a random pocket that is part of the garment;

                    Here the author knows that the garment has exactly one pocket, and is
                    really trying to say "the pocket which is a part of this particular
                    garment" - no actual randomness is really involved, and the source text is
                    therefore misleading to read.

                    Various alternatives are proposed. At…

                    16 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • (World model) Three-way relations

                      It would be nice to have two-way relations that also have an attached value for weighted relationships of some kind; or three-way relations. (These are essentially the same thing, only with different formal properties and kinds of terms.)

                      32 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)

                        We
                        would still like to see this. The most formidable problems are to do with the
                        storage requirements – naive users could easily ask for enormous amounts of
                        storage (e.g., a ternary relation between things) without realising how badly
                        this will scale as their projects grow larger. Sparse data representations in
                        dynamically allocated memory are more plausible, but come with a performance
                        hit, and would be restricted to Glulx.

                      • Understand "offstage" or "off stage"

                        The compiler understands "off-stage" as meaning "removed from play," but it's easy to write "offstage" by mistake and then be confused - perhaps not even knowing that there is a correct phrasing. A compiler error suggesting the use of "off-stage" would probably be best, put perhaps synonyms would work better for some people (or be easier to implement).

                        7 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • provide I7-level access to the parse list when asking "which do you mean"

                          Example 355, "Walls and Noses," provides a very useful snippet of I6 code that allows you to determine what sorts of things are in the parse list when the game asks "which do you mean." I think the concept is useful enough that it should be built into the I7 language, instead of forcing authors to include an ugly chunk of I6 code to get the functionality.

                          10 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • (Parsing) A way to order understand lines explicitly

                            As in:

                            Understand "[a beat]" as discussing (this is the understand discussing
                            rule). The understand discussing rule is listed first in the
                            understand rules.

                            1 vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)

                              We will not adopt this exact syntax (there is no “understand rules”
                              rulebook, so the syntax would be misleading), but we are interested in
                              offering the author some way to manually override Inform’s assumptions
                              about the order of understand lines. We would be interested in suggested
                              syntax.

                            • (Windows and GNOME/IDE) Allow writing of Inform 6 projects *VW*

                              At present, neither the Windows IDE nor the GNOME Linux IDE allows the user to write a project entirely in Inform 6, though both IDEs can package a pre-compiled Inform 6 project with metadata. I'd like to see this feature, already present in the Mac OS X IDE, implemented across the board.

                              26 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • (Mac IDE) In tables, align word-wrapped lines of text with their columns

                                When a line is word-wrapped in a table, it would be nice if it aligned with its column rather than pushing all the way to the left. This would be especially helpful with topic/response dialogue tables, where the response may frequently run longer than one line. These tables may be lengthy and it can be hard to easily identify where rows begin and end.

                                Since this gets messy if inner columns align, perhaps this only applies to the final column in a table. Authors would then just need to save their longest lines for the last column, which they are…

                                18 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • Allow literal string parameters in say substitutions

                                  It is currently possible to define a say-phrase with a number parameter:

                                  To say numphrase (N - number): ...

                                  You can then invoke it:

                                  say "String containing [numphrase 7]."

                                  Object parameters and many other types also work. However, if you define a text parameter:

                                  To say textphrase (T - text):

                                  ...you can do:

                                  let V be "hello";
                                  say "String containing [textphrase V]."

                                  ...but you *cannot* do:

                                  say "String containing [textphrase 'hello']."

                                  (Nor do double quotes work there.)

                                  This form would be nice for creating text filters (rot13), and maybe future effects like named hyperlinks or named styles.

                                  6 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    under review  ·  1 comment  ·  Admin →
                                  • (Syntax) Change the misleading "visible" in "applies to a visible thing)

                                    In action descriptions, the terms "applying to one visible thing" is misleading -- what's really meant is that the thing is *in scope*, and often it isn't visible at all, especially if we're talking about something that is placed in scope at a distance, like a conversation topic.

                                    11 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • (Output filtering) Ability to redefine an apostrophe

                                      Different handling of apostrophes. For some languages like French,
                                      Italian, maybe Spanish as well, it may be useful to be able to disable the
                                      replacement of apostrophe by " and replace quote by something else ([quote] or
                                      ["], etc).

                                      1 vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • (Debugging) Ability to remove all test commands while still running within the IDE

                                        To be able to compile a z-machine game within the IDE but devoid of the
                                        testing commands, to allow full-sized z-code games to take full advantage of the
                                        skein (etc). This would be in addition to the Use memory economy command,
                                        intended for games very close to the z-code limits.

                                        1 vote
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • (Parsing) Ability to understand something as a varying thing or value

                                          The appointed time is a time which varies.
                                          Understand "appointment" as the appointed time.

                                          This seems doable, because the time token just returns the parsed time. It
                                          could return a computed value just as well as a constant one. It's more
                                          complicated with objects, but it could be done. The following:

                                          The suspect is a person which varies.
                                          Understand "suspect" as the suspect.

                                          ...could be internally rephrased as:

                                          Understand "suspect" as a person when the item described is the suspect.

                                          3 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3 4
                                          • Don't see your idea?

                                          General

                                          Feedback and Knowledge Base