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/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.

    • (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…)
      • (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…)
        • (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.

          • (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…)
            • (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.

              • 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.

                • (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…)
                  • (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…)
                    • (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…)
                      • 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…)
                        • 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.

                          • (Extensions) Revise extension inclusions

                            Inform has a very useful feature whereby extensions can refer to one another and include (or not) code based on whether other extensions are installed. This generally works well, but doesn't go quite far enough for all situations. I will use my experience authoring a recent extension (Glulx Status Window Control) to illustrate where I think the functionality still falls short:

                            GSWC can be used with any Glulx project, and it also has special provisions when it is used in conjunction with the Simple Graphical Window and Flexible Windows windowing systems. GSWC requires Glulx Text Effects, but so do these…

                            8 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) Stop guessing the noun

                              The option to turn off or tweak the behavior of noun-guessing
                              (where the parser makes an assumption about what the player means because
                              the player has omitted to name an object). The behavior is often singularly
                              inappropriate when there are only a few objects in scope, leading to
                              exchanges such as

                              >DRINK
                              (the statue of Ponce de Leon)
                              There's nothing here to drink.

                              "Does the player mean" rules helps provide guidance in the situation where
                              the parser is choosing between multiple items of which some are more valid;
                              but there is currently no way to say "if there's nothing of…

                              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…)

                                Much of this behavior is already provided by Jon Ingold’s extension
                                “Disambiguation Control”; nonetheless we feel that it might be useful to
                                consider incorporating some of these features into Inform proper.

                              • (Syntax) Allow "Understand ... as referring to" for text

                                Can the 'referring to' level of understanding be extended from adjectives to any text? This would allow syntax such as 'Understand "car" as referring to the Honda key.' (This would prevent disambiguating between car and car key etc.; Platypus library had the wonderful 'adjective' property.)

                                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…)
                                • (Programming) Inclusion of OR in conditions

                                  As in the Inform 6 code

                                  if (a == 2 or 4 or 6) ...
                                  if (leader ~= bill or martin or fred) ...

                                  Which might be syntactically rendered in I7 as, say:

                                  if a is either 2 or 4 or 6...
                                  if the leader is neither Bill nor Martin nor Fred...

                                  This should work with all verbs, so that we could have, e.g.

                                  if the player is carrying either a knife or a sword...

                                  A variant with positive "and" conjunctions would also be welcome:

                                  if the player is carrying both the flint and the steel and the firewood...

                                  And…

                                  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 →

                                    We agree that this would be nice, but the implementation problems make us want
                                    to hide under the bed. (The word “or” is already used for selection between
                                    actions, and the ambiguities pile up.) We’ll keep this under review.

                                  • 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…)
                                    • 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 →
                                      • Automatically create an 'open' property when defining that a kind or a thing as 'openable'

                                        Currently, defining that something (a specific object or a kind) can be or is openable does not allow the target to be 'opened' in the world model because a separate 'open' property also has to be defined. Inform 7 could safely assume that when something is defined as 'openable' then the 'open' property will be needed to track whether the object is open or closed.

                                        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…)
                                        • Remove hard-coded processing of blank lines from the Keyboard.i6t

                                          If authors want to do something with a blank line (such as run a different command, like LOOK), they currently must hack the Keyboard routine to comment out the hard-coded bailout of the parsing beginning after the comment "If the line was blank, get a fresh line". If this was moved to a rule, or could be deactivated via a use option, authors could adjust behavior in more I7-y ways instead of needing to replace a long I6 routine in ways that render it incompatible with other code or extensions that also might want to adjust this routine.

                                          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…)

                                            I am in favor of this, and think it fits well with other items on the agenda of the present build, to do with allowing much greater output customization overall. We’ll see.

                                          ← Previous 1 3 4
                                          • Don't see your idea?

                                          General

                                          Feedback and Knowledge Base