[projectaon] Re: gamebook.js - an IF-style gamebook engine (featuring FotW)

  • From: Christian Jauvin <cjauvin@xxxxxxxxx>
  • To: projectaon@xxxxxxxxxxxxx
  • Date: Fri, 18 Jan 2013 17:15:31 -0500

Hi Chris,

Once again thanks for your nice and useful feedback (without which I
think I'd simply forget about the whole idea at this point, because
quite frankly, you really seem to be the only one interested).

I'll address your points one by one:

> Even though youve designed this with LW in mind, theres no reason that your
> code cannot be used for other gamebooks - or even to allow others to make
> their own gamebooks. I wouldnt necessarily limit yourself in that respect (I

In fact to be honest my initial name for the engine was "khare.js",
because the target gamebook I had in mind was the second in the
Sorcery! series (KCoT), which was the very first I got (and it has
always shared the favorite place in my memories, along with FotW).

So yes my idea from the start was to design something as modular and
"pluggable" as possible (but also very simple). I started playing
around with some (*ahem*) version of the KCoT book, but then I
remembered about Project Aon, thought that it was probably going to be
way easier (and safer) to use one of their releases, and voilà.

Of course there are gameplay differences (between gamebook
types/series) that you have to take into account, but it's easy to see
that there are also lots of common aspects that can be made into a
generic engine. And it was in that spirit that I made my current
gamebook.js prototype.

> Personally I think its a really intriguing take on playing the books and Im
> really interested in seeing it develop. One of the major "flaws" with every
> other implementations is that you need some external (pen and paper, a
> separate web page etc) way of recording many things like items collected,
> skills chosen, even Random Number Generation. Your system already takes care
> of RNG, it would be fairly trivial to add a section at the start to choose
> skills/starting items, initial stat generation could easily be done
> automatically as well, saving this information to a file would provide a way
> of saving your place in an adventure (ie to continue later) and continuing
> your character in a later adventure.

Yes totally. Although they're not currently implemented as you know,
my idea was that the IF-style interactions would blend very nicely
with the other mechanisms like combat, stats and item management. I
like the idea of having all the interactions with the gamebook world
being mediated through a single command-line interface.

>
> I guess its a call you ultimately have to make. My suggestion (if you are
> not already doing so) would be to modify your code so that it either
> a) works with the Project Aon XML files directly (so you dont have to
> generate your own JSON ones)
> b) provides a parser to convert the PA XML files into your JSON files

Wow.. would you believe that I wasn't aware of those XML files, for
some reason I completely overlooked them! I actually played with the
idea of writing a script to scrape the web version, but I'm glad I
didn't. I guess one thing I could do is to write a kind of
"converter", that would take the content of the XML file, add the
additional data that the engine requires, and turn it into something
similar to my current JSON format. That would allow at least a
complete decoupling of the engine and the data, as well as a more
generic interface to other gamebook types.

> One of the biggest challenges that I think youd face would be in regards to
> the lack of options you actually have in the gamebooks. Take section 160 as
> an example, you only have the option of demonstrating 5 of your skills and
> given the text its not immediately obvious you can choose not to demonstrate
> anything (unless you type hint first). Quite often my first thought in text
> adventures is to "look at ..." which quite often you cannot do in LW. I
> guess you could either display the hint automatically whenever the user
> types in something nonsensical (eg jump) or prompt for/display a hint after
> 3/4 failed attempts (combats in particular are annoying when you have an
> evade option as it just sits at the prompt ... wtf? i have an option here?
> ... i realise you havent implemented combat yet but i still needed to use a
> hint to work out why it was waiting for input from me).

I totally agree that the way I have implemented it may feel a bit
awkward or strange at times (at least for some sections), and it's
true that a more generous parser could be more fun. Your suggestions
are actually quite good.

I was thinking about maybe implementing combat next.. would you have
ideas about fun ways of doing it?

Thanks, and have a nice weekend,

Christian

~~~~~~
Manage your subscription at //www.freelists.org/list/projectaon


Other related posts: