[HN Gopher] Writing web-based interactive fiction with Ink
       ___________________________________________________________________
        
       Writing web-based interactive fiction with Ink
        
       Author : Tomte
       Score  : 71 points
       Date   : 2021-04-29 18:48 UTC (4 hours ago)
        
 (HTM) web link (www.inklestudios.com)
 (TXT) w3m dump (www.inklestudios.com)
        
       | Kinrany wrote:
       | Previous thread: https://news.ycombinator.com/item?id=26761100
       | 
       | More past threads: https://news.ycombinator.com/item?id=26763071
        
       | helloworld11 wrote:
       | No thank you. Their interface is nearly garbage when it comes to
       | smooth writing and even worse, that they obligate users to create
       | an account only through the options of their Google account or
       | their Facebook account is simply unforgivable. It's bad enough
       | that Ink itself almost certainly scans all compositions by users
       | for data mining purposes, but to have to then also know that the
       | whole process needs to be done through logins via these two giant
       | personal information parasites is a whole second level of
       | shitting on customers.
        
         | mattbee wrote:
         | This is nonsense on toast.
         | 
         | Ink is open source, and they run an instance of the editor etc
         | so you can try it out and publish your own compositions (like
         | Twine).
         | 
         | It's a games company trying to make better storytelling tech,
         | they're not data mining anything.
        
         | tene80i wrote:
         | Where does it say anything about creating an account via Google
         | or FB? Or creating an account at all? (Except for on itch.io,
         | which is a suggestion for hosting rather than Ink itself, and
         | also doesn't seem to require Google or FB).
        
       | fudged71 wrote:
       | Let's say I wanted the user to import a standardized CSV of their
       | progress (in something like learning, fitness, finances, etc).
       | 
       | Is there a way you could easily set the Ink variables based on
       | that input and then create a story (of possible paths forward)
       | from that current state?
        
       | haram_masala wrote:
       | Related topic: how can a writer monetize their interactive
       | fiction?
        
         | tobr wrote:
         | This is a skill that _should_ be very valuable to pretty much
         | any product design team, even outside games. Tech products are
         | mostly UI, and UI is mostly interactive text. For some reason
         | UI /UX design teams tend to be run by people who think visually
         | or technically, with writing as an afterthought. I think the
         | very specific skills required to write good IF would improve
         | almost any UI, and there's probably more money in that career
         | than in a career writing IF.
        
         | indigochill wrote:
         | The same way Inkle does: make a game and sell it.
         | 
         | Ink in particular (as opposed to, say, Inform7) is strong here
         | because it already supports Unity integration. Heaven's Vault
         | was developed with Ink, and that's a 3D adventure game that
         | happens to have its story branches managed by Ink but the user
         | experience is far from typical IF fare.
         | 
         | But you can even make commercial parser games. Anchorhead and
         | Hadean Lands are two relatively recent examples.
        
           | anthk wrote:
           | Commercial parser? Hadean Lands and Anchorhead (the
           | commercial edition) are just gblorb/glulx, a rehash of the
           | Z-Machine with 32 bit capabilities.
           | 
           | Said this, I'd like people knew Inform6 more, among IBG.pdf
           | (Inform's Beginner Guide) and DM4.pdf (Inform6's manual).
           | 
           | The language is dumb easy. It's object oriented (almost
           | literally, you declare in-game objects as... objects with
           | properties), and the games can be run on legacy machines
           | fastly, such as Amiga/Atari/68k Macs.
           | 
           | Here's an Inform6 libre game to start with:
           | 
           | http://www.amirrorclear.net/flowers/game/devours/
           | 
           | Also, I forgot: There's Puny Inform, a reduced subset from
           | Inform6 with few changes here and there in order to create
           | games targetting the 3th version of the Z-machine. Thus, the
           | games will run anywhere, even on the C64, Spectrum, MSX, BBC,
           | Linux, OSX, Windows... everywhere.
           | 
           | https://github.com/johanberntsson/PunyInform
           | 
           | Example on a commercial Z3 game:
           | 
           | https://hlabrande.itch.io/tristam-island
           | 
           | A libre one (Calypso):
           | 
           | http://microheaven.com/ozmoo/games/calypso/calypso.z3
           | https://github.com/dave-f/calypso
        
             | fwip wrote:
             | Commercial (parser games), not (commercial parser) games.
        
       | xcambar wrote:
       | I have some rather complex technical documentation and guides to
       | write, and this strikes me as the perfect tool for this purpose.
       | 
       | I'm starting over tomorrow.
        
         | disposedtrolley wrote:
         | Can you please report back on your progress? I love to see
         | novel approaches to technical documentation that can make the
         | content more digestible.
        
         | mathgladiator wrote:
         | I've had similar thoughts in the past with blogs. Make more
         | controversial opinion pieces require readers to indicate their
         | concern and feedback, and then address inline. This way, I can
         | understand the percentage of readers that bounce after reading
         | the headline or don't engage too deep.
        
       | leafmeal wrote:
       | Does anyone know of an examples of stories/games made with this?
       | Not like a full on game like 80 Days, but something like what you
       | could end up with after following the tutorial?
       | 
       | I want to show this to a friend and I think an example would help
       | give them an idea of what's possible.
       | 
       | Edit: Someone wrote a "portfolio" for their personal website
       | which is pretty cool
       | https://news.ycombinator.com/item?id=26765367
       | 
       | If anyone has any narrative examples that would be ideal.
        
         | kej wrote:
         | There are lots of examples of varying complexity on GitHub:
         | https://github.com/search?q=extension%3Aink&type=code
         | 
         | (A few of those are false positives because someone made a
         | personal scripting language called Ink, but most of them appear
         | to be the interactive fiction from this article)
        
         | mwcampbell wrote:
         | I'm happy to report that this Ink-based portfolio is accessible
         | with a screen reader. I wonder if Inkle ever plans to switch to
         | web technologies for their full-blown games, instead of
         | embedding Ink in a game engine.
        
       | Kinrany wrote:
       | Ink distinguishes itself from other similar languages by having
       | an ecosystem of libraries and tools, instead of being a single
       | standalone editor.
        
       | anthk wrote:
       | TBH these games are just fancy CYOA books; a lot of them could be
       | just edited as PDF/EPUBs with a little notebook aside and they
       | could work the same.
       | 
       | Text adventures offer far more depth and gameplay choices and
       | freedom to roam aorund.
        
       | endisneigh wrote:
       | How do you handle the exponential growth of things you have to
       | manage with these sort of things?
       | 
       | I hear Bandersnatch had a huge issue editing and filming due to
       | the same issue.
        
         | rl3 wrote:
         | The simple answer is very carefully.
         | 
         |  _Deus Ex_ (2000) had similar issues. The game 's story was
         | originally intended to branch much harder than what actually
         | shipped. Still, it's widely considered to be one of the best
         | games ever made, owing in no small part to its emergent
         | gameplay.
         | 
         | I think we're going to be entering the era of emergent story
         | soon. After all, _AI Dungeon_ exists today.
        
         | TeMPOraL wrote:
         | I would hope the answer is, through more advanced building
         | blocks - like _variables_ , _procedures_ , _functions_ ;
         | through more advanced abstractions - like sequences,
         | associative containers, maybe even state machines; through
         | means of enforcing and verifying correctness - like a type
         | system, or unit tests.
         | 
         | Interactive fiction markup language _is a programming language_
         | - just with a weird syntax that 's tuned for content-rich,
         | control-poor programs. Kind of like SGML/XML is a format good
         | for storing text-heavy, markup-lean data.
         | 
         | The same is the case with an interactive movie script. In both
         | cases, your story forms a directed graph[0], and the
         | reader/viewer traverses it. But you don't have to, and
         | shouldn't, write out the whole graph![1]
         | 
         | Personally, when I see "managing complexity", I read "writing
         | code". Because, once you look past all the minutiae of
         | programming languages, build systems and computers, this is
         | what programming is - managing complexity.
         | 
         | I don't think everyone should be a programmer, but I do hope
         | the _concepts_ used in software development will eventually
         | become common knowledge.
         | 
         | --
         | 
         | [0] - Possibly infinite.
         | 
         | [1] - For the same reason you don't put your whole program into
         | main() and don't write out conditional jumps as your only
         | control structure.
        
         | steeleduncan wrote:
         | The usual approach for managing complexity is to chop it up
         | into storylets. Emily Short has written a lot about it on her
         | blog [1]
         | 
         | [1] https://emshort.blog
        
       ___________________________________________________________________
       (page generated 2021-04-29 23:00 UTC)