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. (World model/actions) Add a sanity-checking layer to action handling

    Add checking for the sanity of an action before trying implicit actions (like the "Delicious, Delicious Rocks" example, where if we're trying to eat something, we notice it's inedible before rather than after implicitly picking it up).

    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…)
    • Allow phrase "number of turns <condition>" or "number of times <condition>" to evaluate as a number

      Although it is currently (6L38) possible to construct rules like:

      Every turn:
      if the player has been in Place for exactly one turn:
      say "1.";
      If the player has been in Place for exactly two turns:
      say "2.";
      If the player has been in Place for exactly three turns:
      say "3."

      this is obviously labor-intensive for larger sets of branches based on given values of elapsed time. It would be nice to be able to write something like:

      Every turn:
      let n be the number of turns player has been in Place;
      say "[n]!"

      and there are several other possible…

      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…)
      • (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…)
        • (Syntax) May conditional relations directly consult a rulebook

          As is, we must use a To phrase (and global variables) as a go-between, just as the "can see" and "can touch" relations do. But this is such a powerful pattern that I feel it merits fluid expression:

          The friendship rules are a rulebook.
          Likability relates a person (called X) to a person (called Y) when the friendship rules succeed with X and Y.
          A friendship rule: if X is.....

          I think of this compound construct as a very good "design pattern" for Inform 7, much like using an amendable table to define kinds-of-value while holding all of an extension's…

          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…)
          • Add themes to the text editing window

            The linux version of the Inform 7 application has themes. The Windows version needs this feature to accommodate people with vision issues.

            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…)
            • Show a list of recent projects on the splash page

              The splash page currently lets you start a new project, open the most recent project, or browse to open another project. The third option is alright if your projects are all in the one place, but if they're not it's a bit of a nuisance. Instead, a list of the most recent 5 or so projects could be shown for you to choose between (still with the option to browse if needed.)

              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…)
              • (Programming) "involving" to refer to both noun and second noun

                Ability to write

                Instead of doing something involving the baseball: ...

                as shorthand to catch both the case where the baseball is the noun and the one
                where it is the second noun; and perhaps also

                Instead of doing something indirectly to the baseball: ...

                to catch only the one where it is the second noun.

                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…)
                  planned  ·  0 comments  ·  Admin →
                • (IDE) Allow Save Debug Build to output a gblorb instead of an ulx file

                  Currently, when the Save Debug Build option is used for a glulx project, the game file that is created is not blorbed (.ulx extension) and contains no multimedia resources. This makes it very difficult to test multimedia games. Story files with multiple graphics windows and sound both need to be tested outside of the IDE (the former because of screen-spae issues, the latter because Zoom does not yet support sound). There are ways to get around this, but they involve dropping into I6 to define the DEBUG constant to enable built-in debugging commands, while at the same time using an…

                  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…)
                  • (Releasing) Have "release along with private source text" still build HTML

                    When releasing along with source text, I note that marking the "source text" as "private" not only doesn't link it but also skips the generation of the typeset HTML version; the only effect the statement has is to copy in source.txt. Personally I'd prefer it to still generate the HTML source; just not to link to it.

                    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…)
                    • Abstract out block value initialisation/shell code, for use with other phrases

                      When you use block value types (indexed text etc) the code a phrase produces is actually placed in a SHELL function, with the head rule function instead being used to initialise the block value and close it down when finished.

                      It would be useful to be able to do this with other functions. I am having a look at refactoring Flexible Windows, as it is very slow because every time you change a window it runs a bunch of code. If we could use the same sort of stuff as block values do, then the window configuring could run once,…

                      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…)
                      • note unknown (uniquely occurring) words in certain compiler errors

                        There are certain compiler errors that are often produced by typographical errors. It would be nice if the Inform 7 compiler were able to detect that one of the words in the offending line appeared nowhere else in the code, and issue a comment like "It looks as though 'tchochke' appears nowhere else in your code; is it perhaps misspelled?"

                        This would save me some time staring at a particularly tricky syntax and trying to figure out where it went wrong when the mistake was that I left out the second t in "tchotchke" (admittedly choosing a word I can't…

                        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…)
                        • Clarify the problem report for top level "let..." phrases

                          Currently writing "Let Cave be a room." outside a rule raises a problem report that "You wrote...but I can't find a verb here that I know how to deal with, so I am ignoring this sentence altogether."

                          This might be a little hard to understand for anyone who hasn't absorbed all the relevant documentation. I7 takes great pains to produce helpful messages, which is the only reason this one stands out.

                          A more tailored message would be splendid, a la "You wrote "let Cave..." but that suggests that Cave should be or begin a temporary name for something. I expected…

                          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…)
                          • MoveFloatingObjects should set self when calling found_in

                            (This was originally a bug report, but jesse suggested moving it here. See http://inform7.com/mantis/view.php?id=594 for original post.)

                            The problem is that MoveFloatingObjects is not sufficiently flexible for extensions that want to make new and better kinds of backdrop.

                            Way back in the I6 days, the MoveFloatingObjects routine would call "i.found_in()" to decide whether i should be in or out of the location. But in the rewrite to the template system, this was changed to:

                            address = i.&found_in;
                            m = address-->0;
                            if (m.call(real_location) ~= 0) ...

                            The difference is that the old way set "self" to i (for the duration of…

                            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…)
                            • (IDE/Compiler) Provide a better compiler response when a command is indented below the end of a rule

                              I do this all the time. Consider the following code:

                              Check an actor going (this is the automatically open closed doors rule):
                              if the door gone through is not nothing and the door gone through is closed:
                              if the actor is the player, say "(first opening [the door gone through])[command clarification break]";
                              silently try the actor opening the door gone through.
                              if the door gone through is closed, stop the action.

                              Note the full stop after the "silently try the actor opening the door gone through" command. The compiler should be able to detect the invalid command after the full…

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

                                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…)
                                • (IDE) table extra-column errors are unclear for large tables

                                  If I have a table like the following:

                                  table of q
                                  x(tab)y(tab)z
                                  1(tab)2(tab)3
                                  4(tab)5(tab)6
                                  7(tab)8(tab)9(tab)10

                                  The error the IDE displays shows the whole table and not the specific line. I can use PERL to figure this out on my own, but it is messy. Could the IDE show only the first line that fails?

                                  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…)
                                  • Support for bundling old game files into a Blorb archive

                                    A long-running complaint about IF systems is that every new release of a game breaks compatibility with old save files. This is a manageable nuisance with old-fashioned native interpreters -- you can keep your old game files, or delay upgrading until a convenient time. A web interpreter gives the player no control: the author installs an upgraded release, and players find that their save files have effectively disappeared.

                                    True backwards compatibility of save files is a very difficult problem (which is why this is a *long-running* complaint). It requires much more game file introspection than Zcode/Glulx currently provide, and that…

                                    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…)
                                    • Restore "recording on/off" and "replay" functionality from I6 level

                                      I6 offers the debugging commands "record on" to start recording only player commands to an external file, "record off" to negate "record on", and "replay" to play back a series of commands saved to an external file.

                                      While this is very similar in functionality to the built-in (and generally superior) skein, and the skein offers many features that "replay" did not, this feature is missed when beta-testing a work.

                                      Since saved games are not transferable between compilations of a work, and since interpreters do not provide a skein like the IDE does, playtesters must retype all commands to get back…

                                      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…)
                                      • (Windows/IDE) Auto-size the toolbar buttons based on the height of the toolbar images

                                        I'd like to customise the icons used in the Inform toolbar. I find the default icons a bit blurry, and "un-Windows-like". I've found that I can replace the icons by editing/replacing a few PNGs in the Images subdirectory. It'd be great if Inform could make allowances for differently sized (smaller) toolbar icons. This would also make a primitive form of skinning possible for the Inform IDE.

                                        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…)
                                        • Allow custom relation to specify object tree structures

                                          Object tree structures are the most efficient in Inform, but they are limited to only the built in relations. If you have relations between non-model world things it would be potentially possible to use object tree structures for those relations. This would help to model the Flexible Windows system, and probably for conversation models too.

                                          I don't think this functionality should be exposed directly to Inform 7, but if those relations were defined in the template code rather than in ni itself, then it might be possible to add extra relations which use the object tree.

                                          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…)
                                          • Don't see your idea?

                                          General

                                          Feedback and Knowledge Base