Making an IF parser is a large and difficult programming task. “Island in the Storm” uses a custom system, IntFicPy, that’s far more promising than most I’ve encountered, and I look forward to the author’s continuing development on it.

Gameplay: The game is a conventional, puzzle-heavy adventure. Gameplay is solid, but the main focus of the game is showing off its engine. Unlike most custom parsers, the author’s system is up to the task. The game is reasonably complex, and the system has the necessary features to handle the game’s complications successfully. “Island in the Storm” is not as ambitious or polished as, say, “Curses” as a proof of concept for the system, but it’s an enjoyable game with a solid implementation. 6/10.

Mechanics: The puzzles are generally straightforward adventure-game ones, but the distinguishing feature of the game is its engine. Unlike most custom systems, the one in this game is solid. The UI is attractive and functional, and the parser is easy to interact with. Furthermore, it’s based on Python, which obviates the need for many users to learn a new, specialized language.

The author’s system is so appealing because there’s still no completely satisfactory IF programming language designed for users who are already familiar with general programming. Inform 6 is a solid, well-designed language, but it’s constrained by its association with the Z-Machine format, which is no longer relevant to modern IF and imposes unnecessary restrictions on the code. Furthermore, the lowest-level routines inside it are spaghetti code that’s difficult to overhaul. (In fairness, that’s in part because of the restrictions of the language, e.g., a restriction on the number of local variables in a function.) Inform 7 has a wonderful IDE and a clever rule-based system, but those features are marred by an arbitrary, poorly-designed syntax and inadequate documentation. (There’s quite a lot of documentation, but it’s largely a series of examples; it’s hard to find an explanation of how exactly the system works. If your problem doesn’t match an example, you’re out of luck. Compare that to the masterfully-written Inform Designer’s Manual.) A well-designed, easily extendable, polished language or engine suited to IF would be an incredibly useful for developers. Python is a particularly good base for the system, since it’s a familiar, well-designed language that’s often used in machine learning. 9/10.

Presentation: There are some typos and grammatical errors in the game (e.g., “A board has been lain across the chasm.”), and some of the descriptions are extremely terse (e.g., the description of one key is is simply, “There is a key here.”). While the parser is promising, there are some useful features conspicuously missing from it. There is no UNDO command, for example (or, at least, I didn’t find the term or abbreviation used for it), and pronouns can’t be used. The parser also doesn’t recognize groups of objects, whether with commas or the word AND. Thus, for example, neither TAKE NOTEBOOK, KEY nor TAKE NOTEBOOK AND KEY are recognized; the player must take the objects individually. 6/10.

You might be interested in this game if: You’d like to see a proof of concept for the author’s system.

Score: 7

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s