Friday, March 25, 2011

Writing your own Choose Your Own Adventure style story

Choose Your Path is both a platform for reading Choose Your Own Adventure type stories, and a method of writing them. We intentionally made the format for writing the story pages extremely basic. If we find that there is sufficient interest in writing stories, I'll consider adding more abilities too (such as randomization or variables).

Before you start:
In order to write story pages, you'll need a very rudimentary understanding of code (which I'll try to explain here) and either a really good memory or some system to remember all the forks in your story.  Leeeeena's preferred method is to plan out a story in advance with Thinking Space, a free Android app which lets you visually map out your story path.  The mindmaps are also compatible with some free desktop programs, our favorite being Freemind.  Here's what the maps look like:

Creating a story with multiple pages:
The first step to writing your own story is to click the "Create Your Own Story!" link at the bottom of the list of stories on the main page. This will automatically create a folder with your story's name inside a folder called ChooseYourPath on your phone's internal storage (or the removable SD card if your phone has no internal storage, like the G1, Nexus One, Galaxy S 4G, or Fascinate). You can find the folder by connecting your phone to your computer and browsing to ChooseYourPath, or by navigating to it on your phone with a file explorer app. Both of us like ASTRO File Manager, which is a free download from Market. If you are having trouble finding the folder, go to the highest level folder you can in ASTRO or any other file manager and search "ChooseYourPath".

We included some sample pages so the story will show up and work as soon as you hit "Create Files". The default files that get created are named "main.txt", "author.txt", "page2.txt", and "The Store.txt". The only file you need to make a story work is "main.txt", which will always be your first page for every story. Keep "author.txt" too if you don't want to be known as Anonymous, and make sure your pen name is in it.

The format for writing pages is very simple. Here is an example of what you might put in "main.txt":
<text>This is the first page to my epic story. It's going to be really cool.</text>
<choice page2.txt>Carry on to page 2!</choice>
<choice page 3.txt>Or will you go to page 3?</choice>
Anything between the <text> and </text> tags will appear as the story text in the app, and text outside the tags won't appear at all. The text between the <choice> and </choice> tags will appear on a clickable button in the story. You can see there's a page name in the <choice> tag. <choice page2.txt> will tell the app to go to "page2.txt" when that button is clicked.

To make more pages, just create new text files in your story's folder and name them however you like. Then you can reference them with the <choice> tag from other pages.  If by mistake you reference a page that doesn't exist (for example, if you have a file called "page25.txt" but you wrote <choice paage25.txt>), then when you click it in the story you will see an error message and an option to go back to the first page ("main.txt").

Something that's really cool about the <text> tag is that all of the text that's inside of it supports just about all of the standard HTML tags. So you can use <b> and </b> for bold, <i> and </i> for italics, etc. If you don't know HTML, that's ok too. You don't need to know any at all to write a story as long as you can remember to use the <text> and <choice> tags. I do suggest, however, that if you're writing paragraphs, you surround each one with a <p> and </p>. This will tell the app to indent the first line of your paragraph for you and put anything after it on a new line.

Things to consider:
Because the app is intended for phones, we suggest a style that uses slightly shorter pages than regular books. When writing the first story, "King's Journey", Leeeeena aimed to try to keep each page at about 1-2 screen's worth of content before presenting a decision, using the default font size. We figure this will allow people to read a page and make a decision without it being a big commitment of time or attention.

That's everything you need to know to get started! If you think you're ready for more advanced features, be sure to check out the options on this page here. If you're proud of your masterwork and would like to share it with more people, please zip it up and send it to us at [submissions at sudomakemeanapp dot com]. If we like it, we'll include it with the next version!

Trivia: The "King's Journey" folder contains over 100 pages!

Wednesday, March 23, 2011

Our first app is up!

After a lot more time than we expected it to take, we are finally releasing our very first app into the Android Market tonight, a joint project we're calling Choose Your Path. Both of us have fond memories of the Choose Your Own Adventure series of books from when we were kids, and we decided a while back that it would be great to have something like that in mobile format, especially on something with a touchscreen.  (For those of you who don't know, Choose Your Own Adventure books were stories written in the second-person where you were given sets of choices throughout the story that took you to alternate endings on different pages.)  Since we didn't want to rip off the existing books, we decided to write our own and try to crowd-source some more.

There have been a lot of challenges along the way, most notably (for me) trying to write a decent story that wasn't too short while I'm busy with school.  We've had some interesting experiences experimenting with scaling on devices with different screen sizes and resolutions, seeing how some manufacturers' skins affect the look and feel of the app, and learning how to take advantage of SD card storage. We think that we've ironed the bugs out sufficiently to release at this point without anybody encountering any major snags, but if you have questions or concerns, please don't hesitate to contact us here, or email us via the feedback link in the app.

I've had a lot of fun writing my first story for the app, and we're sure some of you might like to try your hand at it too.  I used some tools to help me plot out the story which were tremendously helpful, especially Thinking Space (for your Android phone) and Freemind (for your computer). These two mindmapping programs allow users to chart out their intended story line in a collapsible flowchart-style way, and can read and write the same files (mindmap, or .mm format).

At the moment we are writing stories by creating plain text files following a specific code template, which we will demonstrate in the next blog post with some examples.  Interested readers may wish to start charting out their story ideas using the tools I suggested above (no affiliation).  Then once you learn how to make the files, you can put your own stories on your SD card and view them through the app just like any other story. If you need help with coding the pages correctly, please contact us and we will guide you through the process. If you think you have written a story other people would enjoy too, you may submit it to us (submissions at sudomakemeanapp dot com) for inclusion in the next app update.

We are tremendously excited to be filling a niche, and hope you will join us and participate! Thanks for taking the time to check out our app and our blog; we hope you'll check back often. :)