I7: Implementing Trainable Skills

Hi, I’m working on a new extension and have no idea where to begin! About a year ago, I made a rather clunky extension for combat; I’ve since made some improvements, but it’s still rather awkward and breaks the “flow,” so to speak, of a good game. (It’s based on numbers and randomness and … yeah, not good.)

My goal is to create two completely new extensions. The first one will be to implement skills into a game. For example, the player might have the skill of swimming. These skills are learnable (as in, they must be learned before they can be used, unless they know them already at the beginning of the game) and trainable (as in, once the player has learned a skill, they can perform a certain action to get better at it.) The idea is that, using the swimming example, the player might learn how to swim by talking to an instructor, then go swim in a lake or something for a few turns to get better at it. The better they get, the longer/further/etc. they will be able to swim … so then after training for awhile, they might be able to swim the ocean! :smiley:

(Oh, in case you’re interested, the second one will eventually include a bunch of combat-related skills and some other goodies, like auto-corpses. But that’s not really relevant.)

I haven’t done any Inform programming for quite some time, so my syntax is more than a bit rusty, but so far I have defined skills as a kind of thing and given them a state of being either learned or unlearned. I’m just unsure about 1) how I should set up the whole learning action to make it as seamless as possible, and 2) how different levels of skill proficiency would even be implemented. I do know that I want to stay away from numbers as much as possible … for preference, there would be text states describing skill levels.

Any help, guys? Maybe some sample code you could send my way to work from? That would help a lot!!


Before going to sample code – can you write

  1. a transcript of how the PC would learn the skill from a trainer


  1. describe how different skill levels affect game interactions, with some more specific examples?

With skill levels especially there are a bunch of ways you can go. Straight compares, percentile, binary, percentile and binary, etc.

Nothing to add from me, just I’m going to keep an eye on this thread and wonder how I could use such an extension :smiley:

Anyone interested in this should be sure to check out RAIF, the OP cross-posted there got some good responses.

Sorry guys, I reposted this on rec.arts.int-fiction, which appears to be considerably more active than this forum. You can check out the new thread here, which already has 10 posts and a nice basic beta-version being tossed around.