intfiction.org

The Interactive Fiction Community Forum
It is currently Tue Nov 20, 2018 1:45 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Parser Vs. Hyperlinks?
PostPosted: Sat Jan 27, 2018 1:04 am 
Offline

Joined: Wed Jan 06, 2016 2:17 am
Posts: 7
I am considering an interactive fiction project. The trouble is, I'm not sure whether to use Inform 7 to make a parser-based experience versus using Twine 2 to make a hyperlink based one. Neither of them has all the features I need out of the box, but I'm 90% confident that both of them can have the features I need added in just by making use of variables and such. My question is, from people who are more experienced with this kind of thing, which of the two would be easier to get what I'm looking for?

The features I want from Inform 7 is primarily its movement system. I really like how a parser-based game can give you a real sense of place and exploration as you move from one room to another and see what's around. In a parser game, you can create a location with three dozen rooms and it's quick and easy enough to navigate around that it feels satisfying to explore so long as it's all well-written and interesting. I can simulate this in hyperlink-based Twine by having either a list of available locations to check out or else by making each room a passage and having hyperlink options to go to connecting rooms, but the latter makes it hard to navigate larger spaces since you have to click through lots of links to get from one end to the other rather than just hammering "n" "n" "e" "n" like you can in a parser game with a well-designed layout. The problem with the list of locations option is that it makes things feel disconnected, like each location has no specific position relevant to any of the others. Things like a map where you click on the labeled locations to reach their relevant passage can help, but 1) this requires that I make maps and 2) I still feel like it delivers an overall lesser sense of place and location than parser-based exploration can.

The features I want from Twine 2 is hyperlink-based encounters, especially for conversations, which are very likely going to be the meat of the encounters in my game. To be clear, I'm not designing a dungeon crawl. I don't have a whole lot of details hammered down yet, but I'm mainly thinking of a small town where you can talk to a lot of people, and at the end you break into a place to steal a thing and maybe shoot the owner in the face. Most of what I'm calling "encounters" are conversations, and I like how Twine 2 handles those: I can write a bunch of dialogue, and when there's an important decision to be made I can serve up several options to the player. I'm pretty confident that I can code in a similar system into Inform 7, by delivering large text passages in conversation and then listing numbered responses, but stapling Twine 2 onto Inform 7 like this would definitely be a lot harder than just using Twine 2. I'd have to prevent a player from leaving the room without ending the conversation, teach Inform 7 to recognize, in context, what typing "1" means not only for conversations with different people, but for different branch points of each conversation (i.e. a conversation with the same person might have "1" initially mean "have you heard about the smuggler in town?" and then in the next stage of the conversation that same command with that same person means "I'd stay away from Southside if I were you").

Based on all this, I lean towards parser-based because, while it's a hassle, I should be able to get all the features I want from Twine into Inform, but not vice-versa. However, I don't really know either software very well and would appreciate any advice from people who know one or both systems better.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 2:16 am 
Offline
User avatar

Joined: Tue Nov 08, 2011 8:11 am
Posts: 2763
Location: US - Central
Check out AW Freyr's "Hybrid Choices" extension for Inform 7. It lets you create numbered choice menus for conversation or anything else, switch between parser and menus based on rules, and you can have choices affect the world state.

http://inform7.com/extensions/AW%20Frey ... index.html

_________________
http://hanonondricek.wixsite.com/pyramidif
https://pyramidif.itch.io/


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 7:21 am 
Offline

Joined: Wed Jan 06, 2016 2:17 am
Posts: 7
Thank you! This is exactly the sort of thing I hoped I might get in response to this thread.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 8:54 am 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 299
Location: Michigan
I generally prefer the feeling of Inform based games, but that might be because I'm old. ;)

Having said that, I have also been working on a directional navigation system for Twine 2.0 that uses NSEW and in which all the passages are named grid coordinates.

It displays as a little nav-box in the upper-right corner:

Attachment:
Dungeon Crawl.gif
Dungeon Crawl.gif [ 799.92 KiB | Viewed 1264 times ]


You could add ne/nw/se/sw/up/down as well (which I intend to do eventually). Up down would require passage names of 0x0x0 for depth. Once I've developed and tested it more, I'll be dropping the "Location is 0x0" thing. It's there for debugging purposes at the moment.

You can see in this screenshot that none of the passages are actually connected. Movement is controlled via the navigation script alone.

Attachment:
Dungeon Crawl_040.png
Dungeon Crawl_040.png [ 54.71 KiB | Viewed 1264 times ]


I've included the Twine exported html file attached to this as well, in case you want to look over the source (which is rudimentary and kludgy, but works). It could give you ideas for making your own variation.

Attachment:
Dungeon Crawl.zip [120.98 KiB]
Downloaded 54 times


Edit: I added some rudimentary Up/Down code.
Attachment:
Dungeon Crawl With UpDown..zip [121.19 KiB]
Downloaded 17 times


(I call it Dungeon Crawl, but you could navigate a town, a house, or whatever in the same way)

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Last edited by howtophil on Sat Jan 27, 2018 10:51 am, edited 1 time in total.

Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 10:31 am 
Offline
User avatar

Joined: Sat Apr 17, 2010 12:03 pm
Posts: 247
Location: Somerville, MA, USA
HanonO wrote:
Check out AW Freyr's "Hybrid Choices" extension for Inform 7. It lets you create numbered choice menus for conversation or anything else, switch between parser and menus based on rules, and you can have choices affect the world state.

http://inform7.com/extensions/AW%20Frey ... index.html

Also check out Brain Guzzlers From Beyond, the winner of the 2015 IF Comp, which used this extension to good effect.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 11:18 am 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5806
I will note that the Inform feature you mention -- a movement system organized on a grid -- is relatively easy to reimplement in Twine. (Or any other language.)

Where Inform gives you good leverage is the construction of movable objects and a system of verbs for manipulating them. And the parser library, obviously.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 12:31 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 299
Location: Michigan
And here's one with some changes that let you have locked/unlocked doors.

Attachment:
Dungeon Crawl with lockunlock.zip [121.42 KiB]
Downloaded 10 times

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 12:37 pm 
Offline

Joined: Wed Jan 06, 2016 2:17 am
Posts: 7
I don't need a movement system organized on a grid. I need a movement system that can be very rapidly navigated even when there are relatively few direct connections between locations. In order to achieve that in Twine, I'd need to make sure the commands to move from one location to another are always in the exact same place, are as readily accessible as keys on a keyboard, and are as instantaneously responsive as keyboard commands are - no half-second fade while one passage disappears and another is called up, the player can move from place to place as fast as their fingers are capable of hitting the appropriate commands. A parser encourages a player to wander around and see if they can find anything, hyperlinks encourage them to stay put until they're ready to make a decision. I want walking around town to feel like the first one.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 1:14 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 299
Location: Michigan
Locke wrote:
I don't need a movement system organized on a grid. I need a movement system that can be very rapidly navigated even when there are relatively few direct connections between locations. In order to achieve that in Twine, I'd need to make sure the commands to move from one location to another are always in the exact same place, are as readily accessible as keys on a keyboard, and are as instantaneously responsive as keyboard commands are - no half-second fade while one passage disappears and another is called up, the player can move from place to place as fast as their fingers are capable of hitting the appropriate commands. A parser encourages a player to wander around and see if they can find anything, hyperlinks encourage them to stay put until they're ready to make a decision. I want walking around town to feel like the first one.


You can always kill the transition with a style sheet addition:

Code:
.passage { 
max-width:85%;
transition: none;
-webkit-transition: none;
-moz-transition: none;
}


Then you'd get something more like this:

Attachment:
Dungeon Crawl 2.gif
Dungeon Crawl 2.gif [ 636.37 KiB | Viewed 1202 times ]


Though I've never felt it any more urgent to move in a parser based game than a hyperlinked game. It's about the same.

And you can probably use MouseTrap to do keybinding magic: https://twinery.org/forum/discussion/63 ... navigation

PS - The navbox is 10 pixels in from the top and right in every screen... so it should not be moving anywhere. :)

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Jan 27, 2018 2:01 pm 
Offline

Joined: Tue Jul 28, 2015 1:05 pm
Posts: 1347
I encourage you to check out some of the French ifcomp games. Most of them are inform games that have been heavily modified to provide hyperlink support. You don’t have to speak French to appreciate the structure (although in the I form game Faute de Servo, the commands are color coded buttons that are unlabeled for story purposes, so watch out for that).

_________________
-My IFDB name is Mathbrush, and I'm @MathBrush on Twitter.

The rough draft of my book on IF history and criticism is available at https://www.dropbox.com/s/xd2isl3tk7dxt97/learning-text.pdf?dl=0


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group