intfiction.org

The Interactive Fiction Community Forum
It is currently Fri May 24, 2013 1:45 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2, 3  Next

Would you be interested in contributing to this project?
Yes 27%  27%  [ 3 ]
No 55%  55%  [ 6 ]
Maybe 18%  18%  [ 2 ]
Total votes : 11
Author Message
 Post subject: CYOA Research Project
PostPosted: Fri May 04, 2012 3:14 am 
Offline

Joined: Fri May 04, 2012 2:33 am
Posts: 6
Hi guys... I'm a software developer who is interested in implementing an "intelligent narrative game engine". Ultimately, this would be a system that will contribute an authentic narrative experience for game players in any genre (RPG, FPS, whatever...).

So... I thought that I'd start with conducting a bunch of research when it comes to developing interactive fiction.

My plan is to recreate as many multiple choice adventures as possible strictly for research purposes. With each multiple choice adventuresI recreate, I'll post them for players to test out. I'm going to try and quantify my research as much as possible and publish my results as I reach conclusions.

The first question I'm going to research is... What are the general structures of multiple choice adventure games?

I understand that this is a tremendous undertaking; however, this is a work of love and passion more than a work of monetary gain.

I made a really nice engine using the Python programming language. This engine will allow me to pump out games quickly; however, I need artists to help out as I'm going for a specific style of game presentation.

Also, if you guys have any original multiple choice adventure games that you'd like published using my engine, you can contact me via my email or respond to this board post. I am not charging a penny for anything I do in this project; however, I only ask that you allow me to collect data on your multiple choice adventures so that I can expand upon my research project.

ASCII artists - If you'd like to help generate original art for these multiple choice adventure games... Let me know!!! I need artists! :)

I've attached a ZIP file containing the python adventure source file and the adventure levels for you guys to test out the first multiple choice adventure game in my research endeavor.

You'll need a Python Interpreter (Also, I'm developing this for the Linux/Unix Platform).

The command to run the first adventure game is: python cyoa1.py

Feel free to use the source code for whatever you want... I've included the necessary GPL language in the source file for your use.

I'm going to be building my narrative engine (the intelligent one) concurrently as I conduct my research... So, that's where all of the real innovation is going to be happening... :)

At any rate... Enjoy and I look forward to hearing from you!

Cheers,

~R.G.


Attachments:
File comment: You'll need a Python interpreter to run this. :)
cyoa1.zip [43.09 KiB]
Downloaded 38 times


Last edited by roberthescribe on Sat May 05, 2012 12:05 am, edited 1 time in total.
Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 9:46 am 
Offline
User avatar

Joined: Sat May 08, 2010 9:25 pm
Posts: 959
Location: The Seattle Massive
What do you mean by structure here, exactly? I'm assuming that you don't mean branching structure, since you don't need any playtesting for that.

Also, are you looking at state-tracking CYOA, stateless CYOA, or both? I'm provisionally convinced that these are fundamentally different forms in structural terms, even though they're very similar at the interaction level.

I suppose that what I'm concerned about here is that you're proposing an extremely ambitious project -- a universal narrative generation system, as far as I can work out, which has been an unattainably-lofty goal floating around game-design circles for many, many years -- but you haven't articulated all that clearly what you're focusing on, and there's some weird tangents in here (ASCII art?).

This is a generally cool area to be exploring in, but I think that if you want the confidence and support of folks here, you should provide something a little bit more specific than the elevator pitch.


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 4:06 pm 
Offline

Joined: Fri May 04, 2012 2:33 am
Posts: 6
Thanks for the /*comment*/and welcome to the discussion!

I thought of posting a more detailed proposal; however, I wanted to limit the project introduction to a high level pitch.

To further clarify what I'm going for - I'll point you to this amazing analysis conducted on CYOA books---> http://samizdat.cc/cyoa/

In reading through the analysis, I realized that an apparent morphology began to emerge in CYOA stories. Being a creative writer/game designer/artist/computer programmer, I became rather excited at the prospect of discovering a coalescence of story structures that were developed for the sake of gameplay in the contextual realm of storytelling.

What I'm getting at is the following... I want to see how CYOA stories originally developed for analog media play out on a computer screen.

Essentially, I want to get a "feel" for this type of game/medium by not only playing the games... but developing them.

I wholeheartedly agree with you... this is not a simple endeavor and I'm not arrogantly approaching this task with the thought of replacing writers with computers... To be quite frank, I want to develop a tool (or tools) for game writers to use in their medium. How I go about that will depend entirely on my thorough understanding of the medium at-hand... hence this research interest.

Ultimately, I understand that developing this sort of tool(s) is rather ambitious and I would like to make this and open source endeavor where community members and other developers can contribute to this undertaking. I haven't figured out the logistics yet... But I have the passion and the determination to make this happen.

At any rate, I'm keeping the scope of my initial research small... Basically stated... I'm going to develop a ton of CYOA stories using my little Python engine. I intend to create a more thorough research proposal for this endeavor sometime in the near future when I have a better feel for the medium.. but I wanted to conduct my ad hoc research to further refine my development interests.

As far as the ASCII art is concerned... why not? It seems like a pretty cool art medium to bring back - especially in the context of a CYOA text game. :)

Cheers,

~R.G.


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 4:26 pm 
Offline

Joined: Fri May 04, 2012 2:33 am
Posts: 6
To further clarify what I'm looking to develop...

I'll point you to Chapter 16 of "Professional Techniques for Video Game Writing".

Evan Skolnick, a lead writer over at Lucas Arts, wrote that,
""
In order to generate a fully-realized, emergent game space like a paper-and-dice RPG with almost limitless narrative possibilities, a game in the future would need to have the core abilities of a DM (Dungeon Master). Described in terms of a feature set, this hypothetical game system - let's call it the Game Story Generation System, or GSGS for short-would incorporate the following abilities.
  • Create and name new NPC's, and place them appropriately in the gameworld.
  • Control the fully realized, dynamic behavior of game characters.
  • Write realistic-sounding and appropriate character dialog, on the fly, in response to player actions or world conditions.
  • Generate audio speech that sounds realistic and can appropriately express emotion and emphasize certain words for meaning.
  • Recognize player speech and decode it for meaning, with back-ups in place for knowledge gaps.
  • Story-checking that compares the current narrative flow against optimal narrative structures and can guide NPC's and world events to move the story in structurally sound conditions.
""

... to me, this sounds a whole lot like a CYOA system on crack (pardon the humor).

While the technology needed to develop such a system hasn't been developed yet... I believe that if enough people get involved, something resembling a GSGS can be realized within the next decade. Please note that I don't believe that a GSGS would fully replace human writers... Rather, a good GSGS would enhance a writer's ability to create an authentic narrative experience for players. My vision is that a GSGS would be sort of like a robust "narrative editor" for writers.

I fully appreciate the giant scope of this endeavor... And that is why I'm taking baby steps to understand this medium... Hence this ad hoc project.

At some point, I'll get more organized once I refine my research interests... If you, or any of your friends/colleagues want to help develop a ton of CYOA conversions (with ASCII art would be awesome - because then I can experiment with some image reinforcement combinations)... I would greatly appreciate a community's support.

Even the ad hoc research I'm going for will take some time and energy.

Cheers,

~R.G.


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 4:40 pm 
Offline

Joined: Tue Mar 09, 2010 2:34 pm
Posts: 2128
Location: Burlington, VT
In case maga doesn't want to toot his own horn, you should check out his excellent series on CYOA structure.

Your project sounds very interesting. If I happen to write a suitable CYOA I'll let you know. (Though, as maga possibly hinted, most of the activity in CYOA these days seems to involve tracking some stats, so I don't think it'd be suitable.)


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 6:15 pm 
Offline

Joined: Fri May 04, 2012 2:33 am
Posts: 6
Thanks for pointing me to maga's writings! His writings are another treasure trove of wonderful information for me to read through! ~maga - would you be open for questions via email as I further develop this project?

Also, matt w... if you have anything of your own to offer to this project... Please feel free to do so! The more CYOA stories I can run through the engine, the more viable data I have to comb through! Ultimately, I need good data and the raw material for this project is the stuff of stories.

Thanks for the lead mattw... ;)


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 7:08 pm 
Offline

Joined: Sun Apr 18, 2010 3:58 pm
Posts: 199
Having downloaded cyoa1.zip and played it for a while, I have some feedback for you.

1) "Choose Your Own Adventure" is a registered trademark of ChooseCo LLC. They enforce their mark actively. I recommend against calling this a "CYOA" or "Choose Your Own Adventure" game. At Choice of Games, we prefer to call them "multiple-choice games" or "interactive novels."

2) I really don't understand how the data you're gathering is relevant to the problem you're trying to solve.

roberthescribe wrote:
To further clarify what I'm looking to develop...

I'll point you to Chapter 16 of "Professional Techniques for Video Game Writing".

Evan Skolnick, a lead writer over at Lucas Arts, wrote that,
Quote:
In order to generate a fully-realized, emergent game space like a paper-and-dice RPG with almost limitless narrative possibilities, a game in the future would need to have the core abilities of a DM (Dungeon Master). Described in terms of a feature set, this hypothetical game system - let's call it the Game Story Generation System, or GSGS for short-would incorporate the following abilities.
  • Create and name new NPC's, and place them appropriately in the gameworld.
  • Control the fully realized, dynamic behavior of game characters.
  • Write realistic-sounding and appropriate character dialog, on the fly, in response to player actions or world conditions.
  • Generate audio speech that sounds realistic and can appropriately express emotion and emphasize certain words for meaning.
  • Recognize player speech and decode it for meaning, with back-ups in place for knowledge gaps.
  • Story-checking that compares the current narrative flow against optimal narrative structures and can guide NPC's and world events to move the story in structurally sound conditions.


... to me, this sounds a whole lot like a CYOA system on crack (pardon the humor).


That does not sound to me like a CYOA system on crack. That sounds to me like artificial intelligence. In particular, if you can "write realistic-sounding dialog on the fly" in response to speech recognition, you can pass the Turing Test.

Evan Skolnick was not writing a specification document for a working program. What he was trying to emphasize is that all of this is impossible to code. maga politely called it "unattainably lofty" earlier in the thread. People have spent their entire lives trying to implement just one of the bullets on that list, most of them failing horribly.

Is it really your plan to design an artificial intelligence by writing games in the style of Choose Your Own Adventure? How is the data that you're gathering even relevant to the problem you're trying to solve?

3) A related part of your plan is to write a bunch of games and get people to play them. At current count, your cyoa1.zip has been downloaded three times, and two of them are me, because the first time I downloaded it onto a machine that didn't have Python installed.

Speaking as a guy who has written a few interpreters for multiple-choice games, (i.e. someone who has re-invented this wheel several times,) might I suggest using an interpreter that doesn't require the user to install anything? Specifically, I suggest using an interpreter written in JavaScript, so it can run in a browser.

There are a number of great web-based multiple-choice game interpreters out there, including Undum, Twine, Inform (with the Adventure Book extension), and my own interpreter, ChoiceScript. Or, if you enjoy writing your own interpreter, maybe rewrite yours in JavaScript.

4) I'm also concerned that your first example seems to be set in a http://www.ifwiki.org/index.php/Lazy_medieval setting. Can you establish more clearly on the very first page what makes Werwolves and Wanderer a game worth playing, instead of other games in the same vein?


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 7:19 pm 
Offline
User avatar

Joined: Sat May 08, 2010 9:25 pm
Posts: 959
Location: The Seattle Massive
roberthescribe wrote:
~maga - would you be open for questions via email as I further develop this project?

Certainly. magadog, gmail.

I think, in general, that people will be reluctant to write substantial CYOA games in your Python platform when there are other platforms available that will run in a normal browser (ChoiceScript, Undum, Twine) and others like Ren'Py (supports a lot of graphics, has an established community). The major attraction of CYOA to IF authors is that it's very easy for players to access and play, without any specialist knowledge. A game that can only be run via the command line is less accessible even than an interpreter; it's effectively Programmers Only.

The other advantage is that CYOA is easier to code than parser IF; I don't personally know any Python, so I have little idea how hard it is to pick up, but the requirement to learn it will be a stumbling block for anybody who's not already familiar with the language.

So I think that more successful avenues of exploration might be

a) write a program that can analyse gamefiles of existing platforms (this will give you structure but not usage data),
b) design an add-on for an existing platform that gathers data, and ask authors to use it and share the data with you. Or use an existing one, like IF Recorder for Undum.
c) design a CYOA platform that's better than the existing platforms, win converts to it, and collect data from that (not trivial, this),
d) talk to people who already have statistics and see if they'll share (like the above-mentioned Juhana Leinonen, Aaron Reed, or dfabulich of Choice of Games, who I see has made a number of fine points while I was writing this.)


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 7:47 pm 
Offline

Joined: Fri May 04, 2012 2:33 am
Posts: 6
This is all great feedback! Also, when I get home, I'll redact the copyrighted material. This is strictly for non-profit motives, so no harm done.

I'll post a more thoughtful reply when I get home as well... and I'll port my interpreter to other platforms... thanks for the suggestion!


Top
 Profile Send private message  
 
PostPosted: Fri May 04, 2012 8:21 pm 
Offline
User avatar

Joined: Sat May 08, 2010 9:25 pm
Posts: 959
Location: The Seattle Massive
dfabulich wrote:
Evan Skolnick was not writing a specification document for a working program. What he was trying to emphasize is that all of this is impossible to code. maga politely called it "unattainably lofty" earlier in the thread. People have spent their entire lives trying to implement just one of the bullets on that list, most of them failing horribly.

And purely in PR terms, it's worth bearing in mind that you're pitching to designers. Designers aren't interested in "I am working towards a cure for cancer!" That sort of talk can be useful for other audiences (media, investors, the general public), but designers are more interested in a pitch along the lines of "I plan to explore a new line of localised gene therapy with the potential to increase success rates of monoclonal antibody therapies against carcinomas". Even if your goal is ultimately to cure cancer, you won't score many points among specialists by emphasizing that side of things.


Top
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group