Thursday, June 15, 2017

By the CSIDE!

ChoiceScript is a very easy language to write in. It is how all Choice of Games narratives are created. It is simple, powerful, and lets an author do more writing than coding to create an extensive choice narrative that can hinge on the powerful accumulation of stats that bend and alter the story and an individual player's game experience.

Right now, CoG publication is probably one of the most accessible and visible ways for choice-IF authors to actually get a game out to the public and get paid for it. Choice of Games commissions talented authors for their featured stories that fit within their specific inclusive "house style" framework they are known for and their audience expects, but anyone can submit an "indie" spec game to be hosted by CoG as long as it complies with a certain number of minimally sensible parameters with regard to length and content.

That said, writing a CS narrative that fans will want to play and shell out a few dollars for is an enormous task. An author is seldom going to whip out a CS masterpiece of any length in a matter of weeks or possibly even months. Most worthy titles are at least novella-length with regard to visible word count, and depending on how efficient the game and the choices are structured, it has been discussed that an author may find themselves needing to write upwards of three to five times the amount of prose than in a standard novel, most of it not used in any given play-through. There are smart ways to avoid such excess, but game designers needn't apply if they're not up to the task of writing at least 30,000 words including code, and possibly a lot more. (30k is the minimum length of a hosted game CoG will accept, word counts for epic games in the 300k-500k range are not unheard of.)

So you're up to the task, and now you need to get started in ChoiceScript. While authoring in CS is easy, the initial setup is not. In the past, authors had to deal with separate text files including the prose and connecting code and then running them through a compiler which only works in Firefox, and the compiling can be a tedious chore, making compiling and testing a thing that might only be done once a day. Plus the game must pass required automated testing routines provided by CoG that could be sometimes difficult to carry out and understand. I'm one of those curious people who loves to discover and learn new authoring systems, but the minute the directions use the words "run the included compiler" or "write your code in separate text files" I'm out.

The only way I had ever had a chance to experiment with ChoiceScript at all was by using a clever community-created editor that was available online. The thing that helped it click for me was being able to type code in one window and see it instantly compiled in the other. That little bit of WYSIWYG experimentation let me blunder my way through my newbie mistakes and begin to learn how CS works and fits together. It was a great idea for learning, but in no way full-featured enough to write an extensive work.

Text files on left, auto code coloring on right
Now, we have CSIDE (Choice Script IDE) which is a brilliant community-developed piece of work shepherded by Carey J. Williams (CJW on the CoG forums) over more than a year of testing and building from that original tiny CS editor into what I can only describe as "Microsoft Word for Choice Script". If you are familiar with the format and functionality of the Inform 7 IDE, CSIDE will be an easy glove to fit.

Instant playtesting
CSIDE manages all the files for a project, is a code specific color-highlighting CS word processor, allows instant compiling and playtesting, keeps a word count, spell-corrects, includes in-window help and tutorials for some advanced CS concepts, and simplifies many CS-specific tasks. At any time an author can run randomtest or quicktest to see the likely chances of each text fragment being encountered, export to an HTML file playable in almost any browser, and eventually produce a simple folder of files ready to email to CoG for review. A project can begin in CSIDE and it will manage all the individual text files and locations itself, or one can easily import all the pieces of an existing project at once.

While this is all pretty intuitive for people familiar with enclosed authoring environments and word processors, there may be a few minor adjustments required for a veteran CS coder to adapt to how CSIDE handles all the pieces of the puzzle, but the organization and benefits provided are well-worth a minor relearning curve or at least a look to see how it might be useful to an individual author's workflow.

I've only scratched the surface, but hopefully, CSIDE will become a valuable tool alongside Twine and Inform 7 to make the process of writing IF much easier.

You can download and try CSIDE from here for Mac and Windows. The program is entirely self-contained without any other pieces to download, and one can begin a project entirely within the IDE with the plus icon, or import multiple existing CS text files from the folder icon. Check out the help files under the question mark icon, and tutorials under the book icon.

Web version (requires a Dropbox account): https://choicescriptide.github.io/web/

--Hanon Ondricek

Addendum: CSIDE currently only runs on 64-bit architectures. For most people this is not a problem, but you may need to switch to a newer machine to run the program, or use the online version with your Dropbox account:

See post here:
We will not be officially supporting 32-bit releases. If the demand is there, we will try our best to provide one, but with such a small team, there has been a very hard limit to what we can effectively test and support. 32-bit architectures are on their way out, so it doesn't make a lot of sense for us spend time supporting them.That said, I understand that there will be cases where people simply don't have access to anything other than a 32-bit machine, and that should not mean that you have to go without the chance to use CSIDE. You have two options there: Either make use of the website version of CSIDE (which is near enough as fully-featured as the Desktop app), or contact me privately and I'll provide you with a 32-bit copy, with the understanding that it's not officially supported.



No comments:

Post a Comment