General
-
(IDE) Expose template layer within the IDE
Make the template layer available for browsing from within the IDE. Minimally, this might mean making the Reserved extensions folder available from within the Extensions menu (probably with a different name, e.g. Templates). More useful would be an Index pane or special documentation page listing the templates and the order in which they are compiled (if this is straightforward). Links from this index could take us to the i6t file and to each template file's documentation (i.e. the docs currently available only in the Appendix A and B pdfs). If the goal is to hide the template layer from most…
1 vote -
A rulebook sorting law that orders by kind of object.
A new law that sorts rules based on the kind of objects specified after 'when' could be applied when the rules are otherwise equally specific.
Color is a kind of thing.
Blue is a color.
Red is a color.
The current color is a thing that varies;Frobbing is an action applying to nothing. Understand "frob" as frobbing.
Place is a room.
The current color is Blue.Instead of frobbing when the current color is something:
say "Thing!".
Instead of frobbing when the current color is a color:
say "Color!".
Instead of frobbing when the current color is blue:
say…1 vote -
(Documentation) Dedicated chapter on debugging
The Inform 7 documentation currently has several debug commands mentioned throughout the text. They are hard to find.
A dedicated chapter that lists all of them, and maybe some debugging techniques, would be great.
This has previously been discussed on rec.arts.int-fiction: http://rec.arts.int-fiction.narkive.com/dvdEX78q/inform-7-debugging-commands
1 vote -
(Extensions) Enhance Extension versioning to indicate compatibility.
The existing model is to have exactly one version of a given extension on inform7.com. This means that, when an extension is updated to work with a newer version of I7, the older version is no longer available.
Similar to the way I7's download page (http://inform7.com/download/) shows all previous releases, perhaps it would be useful to include downloads for previous releases of extensions. Adding extension syntax (e.g. "Tested with 5T18 and 5U92") would make scripting this relatively easy.
1 voteRelated work is under way with the volunteer overhaul of extension management.
-
(IDE) Remove extensions from the Open Recent menu
The Open Recent menu item collects both projects and extensions. The extensions tend to push projects out of this list, so it would be good to either leave them out (they're quick enough to access through the Open Extension menu) or have separate Open Recent Project and Open Recent Extension menus.
(This is the Mac IDE, don't know how if other IDEs have the same issue.)
1 vote -
(Debugging/Optimization) Add MEMORY command to display memory use in play
In order to allow people to see, for instance, how much of the z-machine readable memory they are using up.
1 voteWe think this should be possible.
-
Choose something differnt from "active" as reserved term.
In the new Inform 7 builds, Use options can be "active" or not "active". There seems to be little reason to use such a common term for such an obscure feature, especially since it breaks at least one oft-used extension, Simple Chat. (Updating the extension may seem like little work, but updating all the games that have made use of it, including its "active" property which the writer will constantly use, is not.) Please choose some other word to describe the status of use options.
1 vote -
Pathfinding for dynamic relations
Specifically, it'd be nice to use things like "number of steps via" for relations on values.
1 vote -
(Syntax) Allow lengthy kind of value names to be abbreviated
Names of kinds of values can grow to arbitrary length, and it can become tiresome to type them out over and over when working with code that makes heavy use of some particular complex KOV. Therefore, being able to introduce shorter aliases would be useful. It could look something like this:
A sequence transform denotes a phrase list of numbers -> list of numbers.
A number grid denotes a list of lists of numbers.That's a fairly simple macro system. Slightly more useful would be if we could make generic aliases:
A sequence denotes a list of numbers.
A K…1 vote -
(Parsing) [Any things] token
Add "[any things]" token, to refer to multiple objects anywhere
in the game; it should be possible to raise scope limits on this.1 voteIt will be up to the authors to cope with the results if the
player then tries to use ALL with such a command. -
(Parsing) [room] without [any room]
Support for [room] as a grammar token matching rooms that are in
scope. At the moment we have to use [any room] - potentially qualified
with an adjective, be it built-in or supplied by a definition - [any
adjacent room] or [any oniony room] for example. Seeing as we can add
rooms to scope explicitly, [room] is currently an omission.1 vote -
Ability to define the IFID
Currently the IFID is autogenerated and the author can't change it manually. It would be important to be able to do so, given the rise of collaborative authorship and increased use of version control for IF projects. Autogenerated IFIDs also mean that if a game is distributed in source code form, each time it's compiled on a different computer it receives a new IFID.
1 vote -
(World model) Revise LOOK UNDER
Per http://therestofyourmice.blogspot.com/2011/05/spring-thing-2011-reviews.html , revise the failure message for looking under something so that it does not suggest the looking was necessarily successful.
1 vote -
(Parsing) Understand "shards" as a broken vase
The ability to use objects and kinds with qualifications, E.G:
A vase is a kind of thing. A vase can be broken.
Understand "shards" as a broken vaseThis is already possible, since one can rephrase it as:
Understand "shards" as a vase when the item described is broken.
...but it would be better if Inform could do this automatically.
1 voteWe’ll see if it can be automated.
-
(Parsing) Understanding properties as things needs to be more flexible
More flexibility in how the parser copes with object names given
the instruction to "Understand the foo property as describing a bar", where
foo contains an enumerated kind of value. At present this only allows the
property to be given at the beginning of the object name, like an English
adjective. This is fine for colours and temperatures, but fails in some
other cases, for example a "can of cola" or "glass of lemonade" where cola
and lemonade are elements of a "flavour" kind of value.One approach is to make flavor a kind of thing instead, and use a…
1 vote -
(Multimedia) Allow figure-names to be forced to refer to resource number 0
This can be done now using a decide phrase and a drop into I6, e.g.:
To decide which figure-name is no-picture: (- 0 -).
But this cannot be used in all situations (e.g., initially definition of a property name). A special purpose constant (e.g., "nothing") that would refer to resource 0 might be one way to go about this.
0 votesStill to be considered, since previous changes have not addressed the core problem.
-
(Documentation) Clarify the RB and WI buttons
It's not totally obvious what the RB and WI buttons mean on examples. Perhaps it would be useful to change to buttons that actually spell those out, or at least have a tooltip that explains if you hover.
0 votes -
(Parsing) "all" vs "all [thing]"
A way to handle "all" and "all [xxx]" differently, so that
"deciding whether all includes" would work differently depending on whether
the player had typed TAKE ALL or TAKE ALL BOOKS.0 votes
Adminemshort
(Admin, Inform 7)
responded
We are not opposed in
principle, but would need more specific suggestions about what authors want
to be able to do, and in what syntax. -
(Parsing/Documentation) Document the way parsing lists are made
A general observation: it seems that parsing involves a lot of list
building & modification. There's a list of items in scope, a list of
player-selected items that need disambiguating between, and the
multiple-object list containing all items selected by the player.
That's at least three lists, and ideally each of them may need
authorial tinkering: adding an item here, removing an item there,
printing the contents for debugging, fiddling with the results of an
ALL, etc. And then Jon has apparently found about three subspecies
of disambiguation, creating a dedicated rulebook for each in his
extension; I still can't…0 votesThis suggestion makes some assumptions that are not completely right: for instance, scoping is not managed as a single list but rather addressed recursively. That said, we appreciate that the current system is insufficiently clear and consistent. Reviewing Disambiguation Control seems like a useful step.
-
(Parsing) Add ways to affect whether [things] is accepted
I wanted
to remove all of the grammar lines using the "[things]" token; this
required having to completely remove a number of commands and re-
introduce all of the grammar lines which didn't use "[things]".A bit more ambitious solution to that specific problem would be to be
able to declare actions as being able to accept multiple nouns (i.e.,
move this from the grammar to the actions themselves). This would also
give more flexibility to allowing "[things]" to be qualified with
properties (as mentioned elsewhere in the proposal), but I suspect it
would be tricky to make this work…0 votes
- Don't see your idea?