advice on easy-to-start platforms?

Afternoon in the House of Secrets is safe for work (unless there’s a secret I’ve missed). The central puzzle can be super frustrating, so I’m going to post the solution below a spoiler tag.

The combination is printed invisibly between the paragraphs of the room descriptions. Highlight to see it.

Thanks everybody - this really was the right place to ask! :slight_smile:

Twee: Yes, I was made aware of Anna Anthropy quite recently (through the A.V. Club’s coverage of cheap/free video games). Okay, so my hesitation against Twee disappears (and I will probably skip Twine completely).

ChoiceScript: Thanks, I’ll check those entries out. I guess I was expecting something like this - I would have been surprised if you were forced to use CoG… but since there was nothing on their web pages to even hint at a non-CoG method of distribution I had to ask.

Simple CYOA and Adventure Book: I don’t think they’re right for me (the first being too simple and the second retaining text input) but I’ll keep them in mind if I can’t use my primary options.

Undum: I had a quick peek. It did look promising, but I guess better documentation - read “more immediate help to the impatient newcomer” - would have been necessary to hook me. Sorry but no; the stuff there is moderated. And if the site goes down, it would have taken my work with it.

ADRIFT: Sorry, I’m not interested in text input. Need the game to provide choices as clickable buttons or links. I’m actively uninterested in putting players in the text equivalent of pixel-bitching dilemmas like “is it OPEN DOOR WITH KEY” or “USE KEY TO OPEN DOOR”… :slight_smile: Besides, fancy stuff like pictures or 3D maps only give me stage fright…

At the moment I’m going to go ahead with 1) Twee 2) CS
…but don’t let that stop you all from posting more suggestions!

I did google around a bit, finding these lists of resources: … plete.html … ing_system

…but all that did was take me from a state of knowing of no good (non-text) systems to learning about a bewildering overload of them…! :slight_smile: Meaning your suggestions still count - I will probably not check out a system not mentioned here…

(I work on ChoiceScript at Choice of Games.) Our website doesn’t discuss distributing CS games outside of our website because it’s actually a bit tricky; we don’t yet provide a build tool to roll everything up as one file like Twine, and this creates bugs on Google Chrome and Internet Explorer when running the game off of a filesystem. (I’ll probably do some work in 2012 on making a build tool for ChoiceScript that generates an executable version that can be played more easily offline.)

So, for now, ChoiceScript games really are easier to play on a website (or as a mobile app), and ours is as good a place as any!

Hi dfabulich,

I actually registered on your CS google group, but I don’t think the moderators there have approved my questions threads just yet. So I might just ask here as well:

When you download the zip file you can start playing the example directly. Am I getting you wrong, but that works off-line right? It’s not just that I was lucky I used Firefox I hope… Regardless: my question was indeed if you need to do your story and wrap up that entire (now personalized) zip archive for distribution, and I guess I have my answer. Thanks.

The other question I asked (will be asking :wink: ) at Groups is this:

Is ChoiceScript suitable only for strictly tree-based games? Or does it support going between, say, location A and B repeatedly. (Perhaps something random happens at location B each time you visit). I’m asking since I haven’t seen any mention of proceeding through chapters in any other order than pure sequentially (as you define in that javascript file) A->B->C etc. And none of the games I’ve checked out (say Choice of Dragon) seem to divert from this strict order (making decisions regarding thing A, then moving on to decide on thing B, then thing C etc but never making repeat visits to thing A)… It’s cool either way, I sure understand if you want to keep things simple by catering to linear stories only.

(An “ugly” solution like a goto command would suffice, as long as you’re not limited to an arbitrary stack depth or something. I need a game engine allowing the story to go around and around an arbitrary number of circles. Which I now realize I probably should have specified already in my OP)

Perhaps consider Quest:

I know you ruled out ADRIFT because you didn’t want a parser in your game - Quest is similar BUT you don’t have to have command input. Instead you can use hyperlinks - players could play the entire game without having to type anything. If you want to enforce no typing, you can turn the command input box off.

This will give you the full flexibility of a system with a world model, so you can use scripts to check if the player has a particular object etc, but with a simple interface.

Quest games can be played in a web browser, and they can be packaged into iPhone apps too.

Thanks, yes hyperlinks are acceptable. (Actually they’re more than acceptable, providing the player with short lists of links to click on to choose between options is exactly what I want) So Quest is on the list!

Btw: I’m almost giving up on Twinkle, because 1) little to no activity in the support group 2) no real documentation (which macros are there?) 3) the GUI tool seems unstable and not really suited to larger projects 4) I’ve encountered bugs in my simple 5(!) paragraph test story. (The twee command line interface is something else and I’ve not given up there but I can’t figure out to make it plus Python work :blush: - again the instructions are minimal; and besides, even if I get it up and running, I really do need a comprehensive reference document of the twee/twinkle language; several question are posted at the google groups but left unanswered for months). A shame really, it seemed to be wonderfully simple and yet powerful enough.

Also btw: Googling found this: Interesting - everybody seem to agree there is a real need for exactly the tool I wish for :slight_smile:

A bit strange really - those TADS-like systems are incredibly complex, huge projects. Is it just me that is wondering how come such enormous resources have been spent on Infocom-style adventures but next to none on simpler tools. (I’m gathering you could create ten twee’s for even one tads!)

Yeah, I’m really hoping that somebody who has figured out how to use Undum puts together a full tutorial. The results I’ve seen so far have been really inspiring (Zarf’s The Matter of the Monster, Jon Ingold’s Flaws, and Dierdra Kiai’s The Play come immediately to mind), but I kind of just don’t know where to start with it. I’m sure I could figure it out, but since I already know Inform 7, and would probably use Twine if I wanted to do CYOA, there’s just slightly too much inertia.

Seconded. Jon Ingold says he’s working on releasing a perl script to help make Undum games, but until something like that happens I think Undum will only be accessible to people who know stuff. (I never wound up doing anything with Firebug and TextWrangler because I don’t really understand what the other people in that thread are talking about.)

[1000T – is it possible to get what you want by setting up wiki software, and then not letting anyone else have an account with editing privileges?]

Okay, so I had a peek at the tutorial.

It quite quickly delved straight to the nitty gritty of detailing objects, exits, descriptions and verbs.

So let me ask a direct question: how do you envision me using Quest?

I want to describe a scene and allow perhaps four choices of what you can do. Kill the goblin, run away, smell some flowers or climb a tree to look at the view.

I don’t want the hassle of actually defining “kill”, “run”, “pick” and “climb”. I don’t care to actually define flowers and trees - they’re just part of the scenery. I have no intention of building a general parser which understands “climbing rocks” or “climbing staircases”. Those things don’t exist other than pure languages in scene descriptions (and choices).

What I can be bothered to do, however, is to set up a dozen “rooms” or so. Having the game automatically take care of inventory (in case you can pick the flowers or loot the goblin) is nice.

But in each room I need to simply and quickly be able to tell the system what the alternatives are. As opposed to (the much more complex and ambitious alternative of) presenting a number of objects the player then can freely interact with.

The reason I brought up the wiki comparison is because it’s like a hyperlinked set of paragraphs. What a wonderfully simple platform!

What I need over and above this is:

  1. not be dependent on some online server. I want to write my stuff on my own computer and give you the finished work for you to read/play wherever you want. Also, I don’t need moderation or censorship.
  2. the story is more like a simulation in that it is not linear and has no finite set of endings. You can play the game, moving about the “world”, as long as you like (within certain limits). Merely a branching tree won’t do.
  3. of course it needs to support variables (no ultra-simple CYOA). Setting them, allowing choices based on them etc. The easier it is (more transparent, less cumbersome syntax) to output conditional text the better!

A full-blown inventory system isn’t required. Nice, but not required. (I think I could manage by simply setting variables to and fro, like WEAPON = 3 for the sword and = 4 for the axe; meaning no real objects are needed).

And that’s it really. The closer you can get to just focusing on the story and not the “innards” of your chosen development system (while still allowing the above) the better! :slight_smile:

My answer: not sure but don’t think so. You’re thinking of chooseyourstory?

In Quest you would set up a “goblin” object, “flowers” object, “tree” object. You would then set the “display verbs” list for each object. For the goblin it would be “kill”, for flowers it would be “smell”, for the tree it would be “climb”. Then for each object you would implement those verbs on the Verbs tab - for the flowers, add “smell”, make it print a message or something.

Because you’d be disabling text input, it wouldn’t be too much effort to implement each object, because you know the player could only ever do the things to that object that are listed in the display verbs for that object. So you don’t need to worry about the player trying to climb the goblin, because the goblin wouldn’t provide a “climb” option when the player clicked the goblin link.

Nah, just that you mentioned at the beginning that you might want something like those sites where you use a wiki to make a CYOA – like this, I assumed – but where your work wouldn’t be open to editing by other people. I just thought that if you could host your own wiki, you might be able to set up a wiki like that and then have your account be the only one with editing privileges. But I don’t know how plausible it would be to set that up.

[UPDATE: And I don’t think it would give you any variables you could set, so never mind.]

Sadly, yes, you got lucky. If you try it in Google Chrome it won’t work off the disk, and if you try it in Internet Explorer, it won’t work unless you click on the security bar at the top of your screen and allow JS.

I posted my answer about this to the Google Group, but I’ll cross-post it here:

Yes, you can definitely do a location-based game using ChoiceScript. For example, take a look at “The Land of Three Classes”

You can either do it all as a single chapter using *goto, or you can use *goto_scene to jump between chapters.

Having said that, I don’t think ChoiceScript is the best language for designing location-based games.

In a location-based language like Inform, you begin by defining a map of locations, the objects within them, and what the objects do. The actions you can take at any given time depend on where you are and what objects are around; in a location-based game, players are expected to explore the game’s map to find out what’s possible.

Location-based games usually include puzzles that control the flow of the plot, especially “locked door” puzzles where some locations are unreachable until the player solves a puzzle. The player is therefore completely in control of the pace of the story; the player might even “get stuck” by getting lost in the map of locations or by being unable to solve the next puzzle.

ChoiceScript is designed for games in which the author has complete control over the pace of the story, where one thing happens right after another, so it’s impossible to get lost or stuck.

So ChoiceScript has no built-in way to handle map locations (“rooms”), no inventory system, and no triggers (“do X whenever Y happens”). You could implement any of these yourself. The ChoiceScript language has *if and *goto, which means you can do practically anything that a Turing-complete universal computer can do. But it’s not necessarily going to be easy!

P.S. As you may be able to tell, I’m personally not such a big fan of location-based games. Getting lost or stuck gets in the way of interactive storytelling, IMO.

Think hard about what your story is about; if your story isn’t about exploration (and getting lost/stuck), then I recommend against including locations in your story.

Thanks dfabulich (and let me say your rapid replies have already put choicescript lightyears ahead of twine/twee in my mind).

Since you don’t seem to mind discussing here (where I won’t have to await comment moderation), let me explain a bit more.

You’re completely right about locations. And “scenes” is a much more accurate term for what I need.

I guess it is because you need to be able to “go back” to an earlier scene it is easy to think of them as locations.

But “scenes” is really all I need. One scene might well be “at the church” or “by the farm”. But another scene might be “Aunt Jemima shows up”, or for that matter, “Waking tired, trying to use your toothbrush to scrub away yesterday’s hangover”.

I am actively uninterested in mazes or making it difficult to know “where you are”.

You telling me you can visit any chapter in any order any number of times is key. Thank you. I really appreciate it, especially since ChoiceScript (and for that matter, Twine) has the direct simplicity I really really think I need to be able to pull off much of anything at all…!

(This is also the reason I hesitate using something like Quest. For example, in one scene the four choices might be four different lines of dialogue. Some of which might not even make grammatical sense. Since I am unsure a “verb” in Quest - or TADS - can be something along the lines of “please pass the salt, would you dearie?” without the program asking which dearie you’re talking to, or telling you things like “you don’t have the salt”… I simply have absolutely no need for a “parser”, and multiple ways of expressing your selection. Thus I really will try to make the simpler choice-based engines work before I have a second look at Quest, unless somebody can address specifically my issues and how me exactly how straight-forwardly or not they can be implemented)

Okay, so if I make an example ChoiceScript game, I need to pack up the entire (modified) zip file, and I need to state “use Chrome or IE at your own peril”. Gotcha. (And yes, I am not forgetting about CoGs offer to host the game; but that presumes a level of commitment, expertise, and completeness I’m not ready to subscribe to, at least not yet. Knowing you can just dump your stuff somewhere for actively interested parties to explore with a minimal amount of “ceremony” - I’m thinking of supplying a Rapidshare link at a forum like this one perhaps - is a real help to me.)

*show me exactly how

I downloaded and found the “Exile” game that looks like a ChoiceScript game.

I compared it to the CoG download (poetically called “dfabulich-choicescript-ee11ad2”) and noted Exile was much slimmer.

Where do I go if I want to find out exactly how much of the cruft in the CoG download I need to keep in the zip file?

Or perhaps looking at Exile’s folder gives me the answer? (Specifically, it contains two folders “icons” and “mygame” as well as a bunch of .js files in the archive root). However, I’m guessing you would need “cleaning instructions” to make this happen, so are there any such anywhere? Perhaps the Exile authors have posted on a CoG google grounds thread or something…)

Since “Gargoyle”, another IntroComp entry, features the exact same zip structure, I really think I’m onto something here…

Reason I’m asking is the response I got over at the Google groups:

Pardon the amateurish question, but… these contest entries do not contain any web folders? :confused:

Those entries are the web folders.

To be clear, your better bet is to get some free hosting and copy the web folder in there; IE and Chrome work fine when you play the game on a web site.

Thanks. Yes, I’ve started getting the hang of things now.

Will settle for the distribution method used by those contest entries. For now at least.

I really appreciate the straight-forward way of building your adventure/story using CS. God knows it’s hard work to make even the smallest scene - when you take into account the number of choices you minimally need for the player to have a real impact on how the story proceeds…!

(I can only imagine the hours it took to write the text for even a single play-through of a story like Choice of Vampire or Intrigue… let alone all of them!

And yes, I do realize you need to start small… and I realize you should do what CS already encourages you to do, that is merge branches early and often. Merge, merge, merge! But still, you quickly end up with a LOT of variables and small description differences if you want previous decisions to influence later ones). Coming up with an idea for a scene is like 10 minutes of work, tops. Actually sketching this into details, making sure you aren’t missing something takes an hour. And then writing it… there goes your evening. Well, at least there isn’t a coding phase after that!

Well, anyway, thanks again to everybody for your help. And I’m sure glad you steered me in the direction of something like ChoiceScript; I can’t imagine how anyone ever managed to finish a story using anything more involved; CS uses simple text files with almost no control code, letting me focus on the text itself. That’s plenty difficult by itself phew

I’ll return somewhere sometime if and when I do get something finished enough for public consumption!

This is exactly what I thought! btw I think it’s nice that you want to offer so many different options. I like it when there are many details, just like in real life, and you can do a lot, although it makes the game more difficult, but it also gets more complex. It would be nice if it would be able to pick up flowers to send flowers to uk as a special feature :wink: