ID:329326
 
There's only 3 interactive fiction in the Resource section and only the one by Polaris actually works to what I desire; allowing players to make choices and get a response.

Could someone out there help me understand how one would approach in creating an interactive-fiction system? I know datums are involved, and while I have little no knowledge of datums, I know that they are like atoms but not defined as area,turf,obj, or mobs.
I'm not familiar with Interactive Fiction games, could you expand on what you're looking for?

As for datums, they are the "base" type of all objects in the DM language (well, there are a few special exceptions, but I think they plan to bring them in line eventually). So for a mob, the inheritance tree is something like this: /datum/atom/movable/mob. You can effectively think of datums as a clean slate, with only the most basic variables and processes defined for them. The reference lists specifically what vars and procs are defined for datums.
Interactive Fictions games are basically those games where you speak to a NPC and out pops an inbox for which you can then select a response. Then, the NPC will reply with a predetermine response which can be both hilarious and fun.
*BUMP* So can anyone help me?
Well you could use finite state machines to do conversations. When you enter a state output text and graphics, when the user selects a choice you transition to the next state and repeat until you reach a state in which there are no more transitions at which point the conversation is over. How you initiate transitions is up to you. They could be links through Topic(), simple input dialogs, something the user clicks on the screen, etc.

This is such a broad question and my answer is not very helpful unless you understand the state machine model.

A simple implementation would be to create a conversation datum with an array of html pages that could be output to the user. Each of these html pages would need links that are compatible with BYOND's topic proc and these links would need to point to an index within the conversation's array. You would then need to override BYOND's Topic proc so that when that link is clicked the conversation outputs the page at that index of the array to the user.