General
-
recognize "more" and "most" for comparatives and superlatives (or allow hand-rolled definitions
Section 6.8 of Writing with Inform recommends that we choose our adjectives carefully if we want to use comparatives and superlatives, as Inform will turn "spacious" into "spaciouser" and "spaciousest." But rather than force the author to think of a word that will work well with Inform's declension algorithm, why not automatically recognize "more [adjective]" and "most [adjective]" as comparatives and superlatives? Or perhaps it might be possible to allow hand-rolled comparatives and superlatives, thus: "A person is good (better, best) if its alignment is more than 3."
2 votes -
Make the default library response to SEARCH more consistently ambiguous
The default library response to SEARCH [object] is "You find nothing of interest," which I find perfectly acceptable.
I find more problematic the default responses to SEARCH-ing supporters or containers, which (when they have no described, non-scenery objects within them) state "There is nothing on the [supporter]" or "The [container] is empty". These non-ambiguous statements can directly contradict descriptive story text or even intentional object placement, as I demonstrate with this example: http://pastebin.com/FbQy1mPL (code) http://pastebin.com/vjsfP5NC (output)
I therefore suggest that the default library response to "SEARCH [object]" be "You find nothing of interest", no matter the class of object.
2 votes -
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 -
Run VM_Initialise as a for starting the virtual machine rule
The starting the virtual machine activity is far less useful than it should be as VM_Initialise() isn't run until after the activity. If you rely on stuff it does (such as dealing with the status line) you might not have anywhere nice to hang a rule if you need the rule run before the when play begins rules.
1 vote -
Make it possible to make "room" a kind of "thing"
I just spent 30 hours working around the fact that it isn't and that it cannot be made one even by redefining the Standard Rules.
I realize this is not straightforward at all as it requires digging about in crusty old Inform 6 code to eliminate aliased flags and whatnot.
1 vote -
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".
…
2 votes -
(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 -
Implement Inform 7 IDE as HTML5 Web Application
Title says it all. Would it be valuable to develop I7 as a web application that compiled server-side and returned results to client or ran app in client/server paradigm? If so, is this a good idea?
1 vote -
Have the current location be in scope when it "should be"
Or at least make it possible as an option. The fact that it isn't appears to be a piece of special-casing deep in the hardwired Inform 6 scope routines. (As it is, scope search goes down into the players contents, and goes up to the room, and goes down from the room, but the *room itself is deleted from scope* for some reason.) Actually, I think those were hard-wired in Inform 6 -- are those scope routines written in C?
Well, anyway, it turns out to be incredibly hard to work around this oddity in the scoping rules: you have…
1 vote -
Allow phrases to be defined to automatically cast values
It would be useful to allow phrases to be defined which would cast between values, for example:
To decide what indexed text is (file - an external file): ...
Such a phrase wouldn't have any non-variant text. Alternatively, and to make clear that it is a special phrase, it could be worded like this:
To cast an external file to indexed text: ...
To prevent headaches the compiler should not use more than one conversion at a time. That may not be enough to prevent headaches... perhaps the compiler should also complain if reciprocal casting phrases are defined? I don't…
1 vote -
Allow text and binary files to be declared and blorbed from the Materials folder
Allow text and binary files to be declared and blorbed from the Materials folder, much like figures and sounds, now that Blorb has the TEXT and BINA chunk types.
(And regenerate infglk.h so that the associated glk functions, glk_stream_open_resource and glk_stream_open_resource_uni, are available by name.)
1 vote -
Reduce unnecessary disambiguation requests
Parsing should respect the semantics of the library actions.
When only one item out of the candidates is valid (according to the semantics of the action) then it is unnecessary to request disambiguation. E.g opening a door when only one door is closed.
In 6G60 here are some fixes I found, (desiderata: use the most unlikely likelihood so users can override)
[why not "opening a closed thing: it is likely"?
a closed thing can be unopenable so it isn't necessarily possible that the player can open it
]
Does the player mean opening an open thing: it is very unlikely. …5 votesMay be sensible, but we’ll need to look carefully at whether there are edge cases.
-
(IDE) Spellcheck for text only
Currently, the spellchecker runs through the code in addition to any game text. This suggestion would create an option that runs the spellcheck only through game text. My reasoning is that often the code, as long as it parses correctly, doesn't particularly need spell-checking, and all those internal names we use in our code will come up as errors, making spellcheck a lengthy and laborious process. Making the spellcheck only run through game text will make it much more of a useful tool to authors, and hopefully improve someone's spelling
5 votes -
(IDE) Create a new IDE for ANDROID devices *VW*
Given the rise of Android devices (phones & tablets) I'd like to see a new IDE created for the Android platform. At least for Tablets. This would allow for writing 'on the go' as ideas come to mind.
24 votes -
(IDE) Move focus to Contents pane when clicking on it
Right now, clicking on the Contents button shows the contents, but doesn't move the mouse focus there. That means I have to click in the window before I can use the mouse wheel to scroll it.
3 votes -
Allow author to control ordering of actions in I6 grammar lines
See http://inform7.com/mantis/view.php?id=633 and http://inform7.com/mantis/view.php?id=943 for reasonable cases where an author would want to rearrange the grammar lines for put:
Verb 'put'
* 'on' held -> Wear
* held 'on' -> Wear
* 'down' multiheld -> Drop
* multiheld 'down' -> Drop
* multiexcept 'in' / 'inside' / 'into' noun -> Insert
* multiexcept 'on' / 'onto' noun -> PutOn
;4 votes -
Enforce ordering on ``is'' comparisons that test the kind of a value
Based on http://inform7.com/mantis/view.php?id=959#c1742, Inform could encourage clearer code by rejecting
- - - -
if a number is three, ...
- - - -in favor of the more natural
- - - -
if three is an number, ....
- - - -This would parallel the restrictions on assertions:
- - - -
A room is the lounge.
- - - -is disallowed, whereas
- - - -
The lounge is a room.
- - - -is not.
1 vote -
Update the Standard Rules version when I7 is updated
The Standard Rules need to be updated from 2/090402 with each I7 release. Then extensions could support multiple I7 versions at the same time, by using (for use with ...) sections.
4 votesThat seems extremely reasonable to me.
-
(IDE) Add a full screen mode
Add an option to use the IDE in full screen mode. At least in OS X it should be (relatively) simple now that the latest versions of the operating system have a native full screen support.
1 vote -
Parse multiple-object commands that use the serial comma
This is an issue of very minor import, but Inform presently accepts commands of the following form:
>take A, B, C
>take A and B, C
>take A, B and C
>take A and B and Cbut not
>take A, B, and C
which tries to look for an object called "and C" and cuts off the whole action with "You can't see any such thing."
As Andrew Plotkin points out, this has been around for twenty years without anybody complaining about it, and it took a fairly unusual game to make the issue arise at all. Still, there…
2 votes
- Don't see your idea?