By "conditional text", I mean sort of what you have but more. You have the condition happening at the room level, where you replace an entire piece of text with another, depending on state. I'm referring more to being able to have text with parts of it conditional *within* the text. Take a look at the Quest "text processor" for an idea:
http://docs.textadventures.co.uk/quest/ ... essor.htmlRegarding the "pickable" attribute, I think you're going to find that that approach is either going to be a dead end or lead to incredible headaches as you try to expand things. A key part of the parser is the notion of "verbs". These are things you can do. And no matter how many you have, people will want to do more, especially as part of creating their own puzzles. For example, in a small test game I wrote, I wanted to be able to tie various things together, lower a package to another balcony, rappel, grab hold of a railing, etc. You would not want to have "tieable" (which takes an object for one thing), "lowerable", "grabbable", etc. That way leads to madness. So you'll want to call out your verbs and commands separately and make them easily created as opposed to being hard-coded in the engine, as a "takeable" attribute implies.
As an example, check out this walkthrough for a game by Emily Short called "Savoir Faire". (Randomly picked.)
ftp://ftp.ifarchive.org/if-archive/solu ... avoir.htmlYou will see many common commands (e.g. "x" to look at something, "take", etc), but you'll also see a good amount of game-specific commands (meaning, not every game will have them). Things like "search", "look under bed", "open mead with corkscrew", "break case with stick", "empty cup in basin", "squeeze hanky in cup", "kick rat", "pray". Game authors will want the flexibility to create and code for all these sorts of commands and more And how to do that in a way that is easy for a neophyte user to handle is no small task, especially if you want to avoid scripting. The approaches most IF engines take is to try to *simplify* the scripting as much as possible (Inform even has an English-like source language), but you can't do without it and still be able to create flexible games.
I don't want to sound discouraging. Actually, I feel the opposite - it's great that someone wants to create a project, especially something substantial. I myself have been working on my own IF tool of sorts for a while now. But I'm doing it for me, because there is certain IF I want to write. So what I would say is:
1) Write something *you* want to use. Create something that is of interest to you and which will still be satisfying even if the rest of the world never touches it. As far as I know, all the current popular IF tools out there (including Quest) were written by someone for themselves initially, because they wanted to create their own IF. Once the software gained momentum, they unleashed it on the world.
2) The follow on to 1: don't have high expectations of lots of people using it.
I hope you actually wish to create interactive fiction yourself. If not, then I think this path may end up frustrating for you. You really need to have a project that *you* feel strongly enough about to take on, regardless of the rest of the world. Just my two cents. (And I'm a programmer myself, for more than years than I care to admit at this point, so I can understand your excitement and drive!)