Customizing the Help Action (Adv3Lite)

Hey, is there anything in particular that I should know before I start rewriting all the HELP stuff in Adv3Lite?

(Apologies, I’m on mobile right now and don’t have access to the docs)

The defaults are really useful for standard games, but mine is gonna have some rather different mechanics, so I wanted the help resources to be a bit more specialized for what I’m working on.

Do I just modify the exec method of the Help action? Are there other actions I should remove or modify? Is there actually a whole system for customizing help?

Also, I remember there being an “extras” system? I remember typing EXTRAS ON in a test game once and the response was “sorry, this game doesn’t have any extras”.

What exactly would the EXTRAS command be for…? Just so I can follow convention and expectations with this.

Okay, I did a little poking, but I’m still processing what I’m finding.

Calls versionInfo.showAbout()

Calls versionInfo.showCredit()

(Still need to figure out exactly what these above two are for… I think About is just for a brief explanation of the game? And Credit is like author info, and any extensions used?)

Apparently calls the ExtraHints command, which interfaces with the gExtraHintManager, but I don’t know what that is, and I don’t know where to find info about this in the Adv3Lite docs.

I found two interesting things for this.

  • cmdhelp.t apparently is some kind of context system for suggesting new actions? I might remove this from my game, because I’ve done enough stuff with mechanics that I can’t trust that this will do good for beginner players. Also, I’m not even sure how this gets called in-game.
  • instruct.t seems to contain everything there is to see about the help menu system. However, I feel like I’m missing entire chunks of it. I’m still not quite sure what HELP calls, specifically.

More clues! I found these with the DEBUG ACTIONS command! :smiley: I need to learn more of the debug tools! I had to go through the library files to find the action definitions, though!

Starts the help menu process, offering a few choices (which can be called with commands).
Action object: Help
Source file: newbie.t

Asks for a script output file, and provides exhaustive instructions on how to play, assuming the full utilization of game library.
Action object: Instructions
Source file: instruct.t

Outputs a short explanation of how to play a parser IF game.
Action object: Intro
Source file: newbie.t

Outputs a short example transcript of a parser game, with notes to give context.
Action object: Sample
Source file: newbie.t

I think I will try to preserve a lot of newbie.t, because there are some extremely useful things in here.

1 Like

That’s about right. You’d use ABOUT to provide brief information about the game. You might use CREDIT for extensions and the like, but you’d also use it to credit your beta testers. Some players will use the CREDITS command to reassure themselves that your game had been beta-tested.

In the Library manual, the sections on Instructions and New Player Help under Part III - Optional Modules explain parts of the Help system. There is also a CommandHelp extension which is documented under the Extensions sections of the Library Manual, but this is only included in your game if you choose to include it.

Extra Hints are part of the Hint system and are explained in the Hints section of the Library Manual. In brief, the idea is to define ExtraHint objects that can be used to prompt players who seem to have got stuck even if they don’t explicitly ask for hints with the HINTS command, but the player choose whether to show these extra hints with the EXTRAS ON/OFF command. If you don’t define any ExtraHint objects (and you obviously don’t need to if you don’t want to) then the game will simply report that no extra hints are available, as you found.

1 Like

Hi!! Thank you for the reply!

Ooooohhhhhhh, this is actually a really good idea! Thanks!

Oh my god my reading comprehension is not very good when I’ve gotten so little sleep. Thank you!!! I completely missed these in the docs somehow!

Ah!! Excellent; this was exactly what I was hoping it meant!

Thank you again! (I’m sorry; I should have gotten some sleep first, and read the docs more closely!)