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 vote and comment on it.

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

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

  1. The IDE interpreter should reject invalid Glk calls

    There are several common mistake patterns for erroneous Glk calls:

    - Calling a window function (e.g. glk_window_clear) with a window argument of zero, or a window argument that doesn't refer to a real window

    - Ditto for stream and sound-channel function.

    - Printing to a text window which is awaiting line input.

    These are fatal errors on some Glk libraries, but are ignored on others. (Or they're ignored by default, with a "strict mode" preference.) This leads authors into a trap, like the "vile zero" situation on the Z-machine a decade ago.

    To avoid this, the IDE interpreter's Glk library…

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

      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…)
      • Add the keyword "ever" to conditional syntax

        The word "ever" seems to be implied in the syntax for looking backward. Although the semantics of "has been x" and "has ever been x" are the same, if you consider having "for x turns" added to the condition, then the use of "ever" would provide a useful semantic difference. "Ever" releases the end point of the counted consecutive turns so that it need not be the current turn. "Has been x for y turns" can go away. "Has ever been x for y turns" can not.

        Example:
        Instead of drinking the milk:
        if the milk has ever been unrefrigerated…

        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…)
          1 comment  ·  Admin →
        • Integrate a Credits system

          ...for acknowledging public extensions in a work, retrievable by interpreters like any metadata, so online databases can advertise an extension as "used in creating the following titles", as well as for showcasing extensions used in an individual work's download page.

          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…)
            1 comment  ·  Admin →
          • 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…

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

              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.

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

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

                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.

              • (Version control/extensions) Automatic archiving of source text with relevant extensions

                Make it possible to save a source text archive together with the current forms of whatever extensions it is using, to make it easier to reconstruct later.

                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…)
                  planned  ·  3 comments  ·  Admin →
                • 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.

                  • Allowing the author to set his own story serial number

                    I'd like to see the author being able to set his/her own story serial number over riding the number which I7 automatically generates

                    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…)
                    • Thoroughly document topics, or make them far more intuitive

                      Topics have been giving me some difficulty, and they receive scant attention in the documentation other than for easy cases which can be explained whilst glossing over their true nature. They work very intuitively if you are simply attempting to place them as the column of a table and follow the excellent example code. They do not work at all intuitively otherwise, since they are fundamentally a function and this nature is not sufficiently hidden from, or explained to, the user.

                      Examples:

                      - It is gently implied that "the topic understood" is a topic, when it is in fact a…

                      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…)
                        1 comment  ·  Admin →
                      • Add Use options to control compilation

                        During the work on the German extension we sometimes met the point where it
                        would be nice if the author could determine whether certain sections of the
                        extension code would be compiled or ignored just by setting a use option
                        (like one can exclude or include sections for the use with a certain
                        extension or story file format).

                        For example:

                        The use option traditional kinds translates as (- Constant
                        TRADITIONAL_KINDS; -).

                        […]

                        Section – New kinds (for use without the traditional kinds option)

                        […]

                        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…)
                        • Permit extensions to insist on a specific build of Inform

                          We can already parenthetically note that a build requires a certain target. Since there are a number of breakpoints where having a certain *source* matters, it would be great to have an extension mark which text is for, say, 5Z and which is for 6E, and compile on both.

                          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…)
                            1 comment  ·  Admin →
                          • (Namespace) Addition of namespace control

                            "namespaces", or some other way to help prevent ambiguities. We
                            listed this in the previous consultation document: the idea was to perhaps
                            create some concept of namespace, which would in particular help prevent
                            names in one extension from interfering with names in another.

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

                              Since the initial discussion, there have been some changes to the way that Inform resolves its
                              ambiguities, and it may be that this is no longer felt to be as necessary; we
                              have heard fewer complaints about namespace clashes recently. So we’re
                              curious. Is this still a pressing concern? We would prefer to avoid
                              complicating the language more than necessary, but at the same time want it to
                              be as practically useful as possible.

                            • Allowing creators to publish their works as an iOS App that can be submitted to iOS App Store

                              I'm an iOS game developer, making games using Game Salad. But I'd love to complete a work using Inform 7, especially if I could publish it to the App store as a finished game for iPad and iPhone.

                              It feels as though the world is ready for text based interactive storytelling, seeing they spend so much time using their iPhones and iPads in similar ways already, I can imagine that standalone apps would be a fantastic way for authors to share their works of Interactive Fiction.

                              Is there anyone out there who would consider working with Inform 7 to create…

                              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…)
                              • (IDE/Compiler) Mark errors in the source code with a red underline

                                This would make it faster and easier to track down trivial errors than having to mouse over to the "Problems" pane and click on the tiny orange arrow.

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

                                  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…)
                                  • Save per-project window position and size

                                    The IDE should remember the position and size of each project window across app restarts, so that the next time you open a project, its window appears in the same place on the desktop when you last quit (or crashed).

                                    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…)
                                      1 comment  ·  Admin →
                                    • Improve sound support and playback in the IDE

                                      The three user interface applications differ with each other on the
                                      extent to which they can play back sound effects in the Game panel:

                                      (a) On Mac OS X, sounds are not played back; messages are printed instead.
                                      While we would like to address this, issues with Apple's CoreAudio
                                      and licensing problems with APIs present frustrating challenges.
                                      (b) On Gnome for Linux, nothing happens; but it's expected that sound
                                      playback will be easier to add.
                                      (c) On Windows, sounds are played back normally, and there's no issue.

                                      5 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 →
                                      • (Gnome/IDE) Optimise embedded testing interpreter performance, e.g. by allowing disabling the Skein entirely

                                        The IDE's embedded testing interpreter is very sluggish on this otherwise reasonably fast i3 laptop, making the testing annoying if you want to skip fast through things.

                                        The standalone glulxe for the very same game on the same computer is blazingly fast.

                                        Please optimize the embedded testing interpreter performance and offer settings for performance tweaking, e.g. by allowing the IDE user to disable the Skein entirely to speed up things.

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

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

                                          General

                                          Feedback and Knowledge Base