Blog

Jan 25

2010

ChoiceScript Interpreter Available at GitHub

Posted by: Adam Strong-Morse | Comments (6)

We have now made the ChoiceScript interpreter available through GitHub, a public repository for shared code.  You can download the ChoiceScript interpreter, a very simple sample game that you can edit, and some automatic testing routines for debugging purposes at http://github.com/dfabulich/choicescript/.  Clicking on the Download Source button on that page will download an archive with all of the relevant files.  As we mentioned before, the ChoiceScript Interpreter is available under a free non-commercial use license.  Contact us if you’re interested in a commercial license.

We’ve added some more explanation to the Intro to ChoiceScript page that should help explain how to start editing the sample game into a real game.  That said, it’s still very rough and incomplete. We’ll add more information over time.

We’ve also set up a GoogleGroup for discussion about coding in ChoiceScript:  http://groups.google.com/group/choicescript We encourage you to ask any questions you have about coding in ChoiceScript there.

We’re very excited about the community’s interest in ChoiceScript, and we’re happy to help you get up to speed.  Good luck with your projects!

Jan 20

2010

Writing in ChoiceScript

Posted by: Adam Strong-Morse | Comments (6)

Many people have contacted us about the possibility of developing their own multiple-choice text-based games using ChoiceScript.  We’re very excited about other people writing games like this.

We have a short, incomplete introduction to the ChoiceScript language available at http://www.choiceofgames.com/blog/choicescript-intro/.  We encourage anyone interested in writing a game in ChoiceScript to start by reading that and trying to write a sample vignette or two.

We plan on releasing our interpreter on a public repository in the next couple of days– there are just a few minor administrative details we need to take care of first.  The interpreter (and related tools, like an automatic scene tester) are currently pretty rough.  We plan on making available a series of tools to make it easier to use our interpreter when we can, but it will take at least a few months for the complete suite of tools to be available.  We also continue to improve on and expand the language, so we should be able to support some additional functions soon.

We plan on releasing the interpreter under a free non-commercial use license, so people can get to work designing right away.  While the free license is only for non-commercial use, we encourage people who’ve written games to plan on releasing them as commercial apps– whether using an ad-based model like we have with “Choice of the Dragon,” an approach where people pay to download the app, or a “freemium” model.  We’re happy to discuss a paid commercial license, and we think that the terms we will offer will be reasonable even for very small projects.

Finally, we would like to develop www.choiceofgames.com as a premier site for text-based games about choices.  If you write a game in ChoiceScript, we’re interested in hosting it on our site.  Please contact us at support@choiceofgames.com if you’re interested.

We’ll be sure to post an update here when the interpreter is available and as additional coding tools become available.

UPDATE:  The ChoiceScript Interpreter is now available, with a free non-commercial use license.  You can download it from GitHub by going to http://github.com/dfabulich/choicescript/ and clicking the Download Source button.

We’ve also created a GoogleGroup for discussing coding in ChoiceScript, http://groups.google.com/group/choicescript.  Anyone can join, and we encourage you to ask your questions about coding in ChoiceScript there.

Finally, we’ve updated the Intro to ChoiceScript document to describe (in cursory terms) what files to edit and how to make your own game.  We’ll continue revising and expanding that document over time.

Jan 13

2010

Getting a Mate in “Choice of the Dragon”

Posted by: Adam Strong-Morse | Comments (63)

One of the questions we’ve gotten most frequently about “Choice of the Dragon” is whether it’s possible to get a mate and, if so, how.  (Actually, we’ve both gotten that as a question and as a complaint asserting that it’s not possible but that it should be.)

To answer the not very spoilery part of the question:  Yes, it is possible to get a mate.  The code provides for it, we’ve successfully gotten a mate in playtesting, and some of our players have as well.  It is difficult, which was intentional on our part– we think that having some things that take a little more effort and are more of an accomplishment adds depth to the game.  But it is definitely possible.

I’m putting some hints about how to get a mate below the cut.

Continue Reading

Jan 09

2010

Gender in Choice of the Dragon

Posted by: Adam Strong-Morse | Comments (27)

We discussed the treatment of gender extensively as we were planning our first game.  I self-identify as a feminist, and I’ve worked to promote equality for the LGBT community in my non-gaming professional life.  So I started off with a firm commitment to the idea that our games had to be good on gender issues.

Many video games assume a male protagonist, and I actively wanted to avoid that presumption.  At the same time, our games require a certain amount of identification between the player and the character.  A game that’s written in the second person runs into problems if the player can’t accept that “you” means both the character and the player.

Once we settled on a dragon as the protagonist of our first game, “Choice of the Dragon,” many of the gender issues became easy.  No need at all for us to assign a sex to the player’s dragon—it’s perfectly easy to ask the player what their dragon’s sex is.  Likewise, even the mating scene could be done in a purely gender-neutral way.  Players who wanted to play a straight male dragon could.  Players who wanted to play a female dragon seeking a female mate could.  And people who wanted to leave that whole issue vague could as well.

The next step was simply being conscious about the genders we assigned to the various other characters that the player meets.  We (or at least I, without objection from the rest of the team) wanted to make sure that we didn’t apply patriarchal assumptions about the gender of a knight or a wizard.  We did end up switching around the genders of the dragon’s clutchmate and the evil wizard, but that was just because Dan thought that Axilmeus was more of a male dragon’s name.

The biggest sticking point was really the most iconic.  Dan was committed to the idea that dragons kidnap princesses.  From his perspective, that was a necessary trope in the fire-breathing dragon genre.  I was equally committed to the idea that kidnapping princesses but not princes conveys a message of dependence and incompetence about women that was not acceptable.  We ended up deciding to directly confront the player with it with a choice, which we thought was sufficiently amusing to put into our screenshots for promoting the mobile versions.  Working on balancing the issues between using tropes and avoiding the long and ugly history of patriarchy in fantasy ended up producing fun gameplay.

Handling gender in our next game, where the protagonist is human, is a much more complicated issue.  But that’s for another post…

Jan 06

2010

Choice of the Dragon iPhone App Available

Posted by: Dan Fabulich | Comments (4)

Available on the App Store

Choice of the Dragon is now available as an iPhone app! Please download and review it.

Coming soon: Facebook integration. Sign up for other mobile versions here.

Jan 06

2010

Tensions and Difficulties Created by the Vignette Structure

Posted by: Adam Strong-Morse | Comments (7)

While we believe that a vignette-based structure with relatively little branching lets us build strong text-based games, it produces some inherent tensions.

On the one hand, we want choices to be meaningful, but on the other hand, we want to reuse later code.  The urge to reuse code can create pressure to have choices be purely cosmetic.  Sometimes we explicitly make choices not affect the rest of the game.  Those choices are about the player’s imagining of a scene or triggering thoughts about motivations, not about affecting results.  But taken to an extreme, this could destroy the meaningfulness of the choices.  In “Choice of the Dragon,” there’s a vignette where the player’s dragon seeks a mate.  In the original version of that vignette, it was impossible to actually succeed in getting a mate, because the vignette’s author wanted to avoid any downstream effects to having a mate.  We changed that because it seemed too frustrating for players and because it made the vignette less meaningful.  Now, your dragon can get a mate, although it remains challenging.

Likewise, the more we reuse code and avoid branching, the less replay value the games have.  Imagine a game that begins with a simple binary choice and then uses entirely different text and subsequent choices for each option.  The bad thing about that is that players who choose choice A don’t see any of the work that went into the results of choice B.  But the good side is that a player can play the game a second time, choose B instead of A, and find a whole new game.

The flipside is that some of our individual vignettes have a lot of branches, and some then set variables that affect later vignettes.  Taken to an extreme, branching within a vignette and then using a variable to condition later vignettes can cause the same problem of proliferating options that makes a simple branching structure undesirable.  It can even result in writing essentially dead text—text that nobody ever sees in play but that’s there to cover the outside chance of a series of strange choices.

Ultimately, we think we struck a pretty good balance in “Choice of the Dragon.”  In part, that’s because Dan always pushes for simpler models, with more cosmetic choices, whereas I always push for more complexity to make the choices more meaningful.  He tends to rein in my efforts to make the game ever more complicated, while I make sure that choices in the mating vignette actually affect outcomes.  But at the end of the day, it’s a balance that we wrestle with and discuss over and over again, and we’d love to hear your thoughts about it.

–Adam

Jan 04

2010

Vignette Structure as a Means of Controlling Branching

Posted by: Adam Strong-Morse | Comments (6)

One of the focuses of this blog is discussion of design decisions within the course of making our games.  I’d like to begin by talking about one of the core design philosophies embedded within the ChoiceScript framework.  ChoiceScript seeks to minimize wasted design effort by recording variables instead of branching.

Many of us had our first experiences with text-based games controlled by choices in a totally different format:  the various multiple-choice books of the 1980s–the “choose a path” style books.  In a typical multiple-choice book, each different choice takes you to a different new page, which then offers you a new set of choices, and so forth.  The plots of most of the books aren’t strictly speaking trees—some choices will lead you back to a common page, and there are some dead-ends that send you back to make a new choice. Still, a read-through might involve seeing one tenth of the total content in the book—reading ten pages out of a 100 page book. http://samizdat.cc/cyoa/ presents some interesting analysis of books from a particularly popular series from the 1980s.

The problem with this model is that it involves a ton of work that gets rarely seen.  If we write 20,000 words of text, we would prefer for most of our players to see more than 2,000 words of it.  In fact, the problem quickly becomes insoluble.  If each choice has two options, each completely distinct, then after 10 choices, we would be writing 1024 different pages.

Our solution is to try to minimize the amount of actual branching we do.  We write our games in individual chapters or vignettes.  In “Choice of the Dragon,” the progression between vignettes is almost entirely linear.  Within the vignettes, however, branching is a common tool.  In order to keep choices meaningful, however, we use a set of variables to record the consequences of your decisions—not the exact details, but the bits that matter to what happens next in the story.  We believe that this approach lets us strike a good balance between allowing for real choices and avoiding producing far more material than a typical player ever sees.

In a future post, I’ll talk some about some of the tensions and difficulties this can create.

–Adam

Jan 03

2010

Choice of the Dragon Android app available

Posted by: Dan Fabulich | Comments (10)

The Droid Choice of the Dragon is now available as an Android app! Please download and review it.

iPhone and other smartphone versions are coming soon. Sign up for other mobile versions here.

Jan 02

2010

Announcing “Choice of the Dragon”

Posted by: Adam Strong-Morse | Comments (6)

The first game from choiceofgames.com is now live!  In “Choice of the Dragon,” you play a powerful dragon that likes to kidnap princesses and sleep on a hoard of treasure.  Dominate the local kingdom, loot and pillage, and inspire terror in the hearts of your enemies!

Like all games on choiceofgames.com, “Choice of the Dragon” is free to play.  The web version is currently available.  iPhone and other smartphone versions will be available soon.

–Adam

Subscribe by E-mail