Code Monkey home page Code Monkey logo

Comments (12)

JanCVanB avatar JanCVanB commented on June 23, 2024 2

This might be aggressive for a first attempt, but here's my initial idea:

Here's an example from a Choose Your Own Adventure (CYOA) book:

Each page has 100-200 words of story, followed by a choice of what to do. Unlike the two pages shown above, some pages will be dead-ends, with no choice at the bottom.

My program will generate 255-page books with 200 words on each page and 128 dead-end pages.

A simple binary tree story structure, with each choice going to exactly 2 unique pages, and story paths through the book taking exactly 8 pages... requires 2^8 - 1 = 255 pages.
255 pages x 200 words/page = 51,000 words

I want to build some sense of continuity into each story path, so that the choices do seem to matter. This could be as simple as adding or removing something from the story after each choice, like meeting a new character or dropping something down a well.

I'm intrigued by the process of generating these story trees and generating the output PDF (I want the pages to actually look like the image above). I'm probably underestimating the difficulty of generating the story text, but I'm ready to learn! πŸ˜ƒ

from 2017.

greg-kennedy avatar greg-kennedy commented on June 23, 2024 1

A bit off-topic, but I always loved this analysis of the CYOA book series.
http://samizdat.cc/cyoa/

from 2017.

lizadaly avatar lizadaly commented on June 23, 2024 1

I've wanted to do a project like this but haven't gotten to itβ€”glad you're taking it on!

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Last year, as a lurker, I enjoyed browsing other people's work, but this is my first-ever NaNoGenMo. I'm completely open to any advice/feedback/critique on my plan, approach, execution, and final products!

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

@greg-kennedy Thanks! I love finding that others have already done a lot of the logical work for me.

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Martin linked me these, too:
https://heterogenoustasks.wordpress.com/2015/01/26/standard-patterns-in-choice-based-games/
https://emshort.blog/2016/11/05/small-scale-structures-in-cyoa/

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Thanks @lizadaly, I'll let you know how it goes! πŸ˜„

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Here's the repo: https://github.com/JanCVanB/CYOANoGen

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Here's the live, interactive version: https://jancvanb.github.io/CYOANoGen

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

I've hard-coded an adventure that implements a few simple noun & verb patterns that (with a little on-the-fly Google searching and web scraping to add flavor text and get new nouns & verbs) could take an arbitrary set of inputs and flesh out an adventure by computing sequential states of what you have & where you are.

from 2017.

greg-kennedy avatar greg-kennedy commented on June 23, 2024

screenshot 2017-11-11 at 11 20 47 am

Perfection.

from 2017.

JanCVanB avatar JanCVanB commented on June 23, 2024

Thanks, @greg-kennedy! πŸ˜ƒ I'm excited to make it dynamic and see the endless possibilities unfurl.

from 2017.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.