In hopes of making a better experience for itch.io players, I've tuned a release of Repeat the Ending for comfortable play/reading. I've also added instructions for "reading" RTE for those who have would prefer not to experience it as a parser game. I hope this is helpful!
#interactivefiction #inform7 #parser
I wrote a #parser in #go this week for a custom file format that has a similar, yet distinct enough grammar from C-like languages that nothing worked out of the box. I was on a roll finding a library that gave me a customisable #lexer, then completely hit a wall on the parser. Turns out just writing it yourself in a bunch of functions over a number of files is way faster and more flexible than any library out there!
Oops, so I am :)
It does look buggy to me, but I am really not the one to ask about the nitty-gritty details of the #parser.
Examples of binary choices where both options seem equally good at first, but really aren't:
When writing parsers using #parser #combinators, consuming trailing whitespace is better than consuming leading whitespace. "Design patterns for parser combinators" https://dl.acm.org/doi/abs/10.1145/3471874.3472984
When writing #E2E #tests, clearing the database before each test is better than clearing it after. "Dangling state is your friend" https://docs.cypress.io/guides/references/best-practices#Dangling-state-is-your-friend
#parser #combinators #e2e #tests
winnow - Making parsing a breeze:
https://github.com/winnow-rs/winnow
winnow is a parser combinator library written in Rust that started as a fork of #nom.
Not sure yet, if I should migrate from nom 4.* to #winnow or #chumsky. I really do like the good error recovery and parsing capabilities for PEGs of chumsky.🥰
#nom #winnow #chumsky #Rust #rustlang #parser #CrateTip
As good as they were, AMFV and Spellbreaker were Infocom's worst-selling games to date. Infocom's financial situation was dire, as it appeared that game sales were not enough to undo the financial damage that Cornerstone had done to the company. Such are the conditions of Ballyhoo's production, 1986's first Infocom release, a strange mix of brilliance and missteps. Let's dive in.
https://golmac.org/ballyhoo-and-the-rest-of-it/
#infocom #infocomodon #interactivefiction #parser #standarddifficulty
#InfoCom #infocomodon #interactivefiction #parser #standarddifficulty
Pratt Parsing for Algebraic Expressions - Parsing algebraic expressions is always a pain. If you need to compute, say, 2+4*2... - https://hackaday.com/2023/07/03/pratt-parsing-for-algebraic-expressions/ #algebraiccomputation #softwaredevelopment #prattparser #parser
#parser #prattparser #softwaredevelopment #algebraiccomputation
Found a cool article about #parser #interactivefiction that's suitable for people new to the genre but is also pretty interesting and should help you grok how it works:
https://golmac.org/after-37-years-it-still-glows-wishbringer/
I've been making some really great progress on my cyberpunk interactive fiction parser game lately.
I feel like my understanding of the themes and world and writing style I want to use is really starting to come together, and I'm close to finishing the games introductory chapter which will serve as a sort of preview for the game for anyone interested. I've been putting a simply immense amount of work into making sure every single location feels unique and textured and interesting and the night market for instance feels extremely active and alive. As well as giving NPCs a little bit of agency and meaningful dialogue.
I also just recently finalized the main cast and stuff as well which I'm pretty happy about, the themes and cast came together a lot more naturally once I decided that I wanted to deal heavily with queer experience and themes directly as well as more traditional cyberpunk ones.
The games now up on a public github repo if anyone's interested or wants to follow the development; although I don't imagine looking at a half finished parts or IF game is that interesting, I did kind of put a description of the themes and goals of the game in the readme.
#interactivefiction #tads3 #parser
Forest: Structural Code Editing with Multiple Cursors:
https://arxiv.org/abs/2210.11124
"In this work, we present Forest, a structural code editor that aims to bridge the gap between the interactiveness of code editors and the expressiveness of refactoring scripts."
Better than every #AI out there, if you ask me.
Also, #Forest is a very suitable name for this. 🌲
#CodeEditor #DevTools #Refactoring #StructuralEditing #AST #Parser
#AI #forest #codeeditor #devtools #refactoring #structuralediting #ast #parser
Just wrote up my thoughts on replaying All Roads (2001) by Jon Ingold https://intfiction.org/t/viv-plays-through-past-if-games/62211/10 #interactiveFiction #parser #textAdventure #IndieGames #Venice #IFComp #creativeWriting
#creativewriting #IFComp #venice #indiegames #textadventure #parser #interactivefiction
Taking a slight detour in my play through old #interactiveFiction games. Still have #KnightOrc lined up to play properly soon. But tonight it's time to go back to the 2001 #IFComp winning game All Roads. Set in magical #Venice, which I have to admit is a draw for me. I do remember enjoying this game a lot back in 2001. #parser #textAdventure #IndieGames
#indiegames #textadventure #parser #venice #IFComp #knightorc #interactivefiction
Repeat the Ending is the "critical edition" of a forgotten 1996 Inform 5 game about loss, mental illness, and the second law of thermodynamics.
A post-festival release of the game, along with several digital feelies, is now available. Everything is linked at IFDB, which also has a "play online" feature.
Thanks for your interest!
#interactivefiction #parser #inform7 #repeattheending
Browsing the IFDB #InteractiveFiction database and just stumbled again across my own list of my top 10 personal favourite interactive fiction #games. The list is arranged in chronological order, from 1983 to 2017. Some predictable titles in there but also some less familiar ones. I include comments about each one. https://ifdb.org/viewlist?id=fplmp7feqc2spqwj #TextAdventure #Parser #CreativeWriting #IndieGames #GameDev #Top10 #Infocom #DouglasAdams #Tolkien #Fantasy #CallOfCthulhu #80sGames #90sGames #RetroGaming
#retrogaming #90sgames #80sgames #callofcthulhu #fantasy #tolkien #douglasadams #infocom #top10 #gamedev #indiegames #creativewriting #parser #textadventure #games #interactivefiction
Learning about writing my own programming language in C++.
All fun and easy till you want "good" error recovery while parsing 😩
Finished my last review for the 2023 #SpringThing #interactiveFiction competition. I played 20 of the 26 game entries, a wonderful mix of traditional #parser #textAdventure #games and choice based #Twine pieces and others. Thanks all! Here's my final sum up https://intfiction.org/t/viv-dunstan-s-2023-spring-thing-autumnal-jumble-impressions/61524/64 #GameDev #IndieGames #CreativeWriting
#creativewriting #indiegames #gamedev #twine #games #textadventure #parser #interactivefiction #springthing
A code rewrite tool for structural search and replace that supports ~every language #ocaml #parser - https://github.com/comby-tools/comby #dailylinks
Sometime back, I was working on a presentation re: #BNF and had this epiphany.
The Epsilon transition was nothing to be spooked about.
For those who might not be aware: Epsilon is a terminal symbol that might
occur in a production. (A pox on my younger doofus self who thought it was the empty string).
It actually introduces nondeterminism into the #grammar rules.
The insight was that #EBNF with its regex-like symbols has no need of Epsilon.
#parser #compiler #syntax Read on ...
#bnf #grammar #ebnf #parser #compiler #syntax
Here's a taste of what the world will be like in my #parser #interactivefiction game, written to test out some voice dictation software. In the actual game this discription would be split up into a main location description and then descriptions of specific things which you can examine to get.
"The sidewalk here is dominated by the brooding bulk of the mega-arcology, which thrusts up into the sky like an accusatory finger, all vertical lines and angled planes topped with pointed arches. Every horizontal surface bristles with aerial antennae which grasp upward at the air. Pipes and rubber coated wires trace down across the face of the mega-arcology like an invasive creeper choking the life out of the building.
To the west, the sidewalk branches off to form a passage to the tower's entrance, a hexagonal door in its side, sheltered by a metal roof extruded from the site of the building. On either side of this passageway are flat expanses of concrete littered with trash and detritus, interrupted here and there by small collections of trash bags, shopping carts, and sometimes tents which mark the abodes of those who cannot afford even the cheapest rent in the city.
The immediately surrounding city is a gray, bombed out shadow of itself, a shell within which life used to thrive and now only barely survives. Other, smaller apartment buildings lying the streets to either side, as well as smaller office buildings which are mostly empty, adorned only with broken windows.
Overlaid over all of it floats a neon-bright skein of augmented reality advertisements courtesy of the benevolent sponsors of the mega-arcology. Advertisements for every sort of miscellaneous product under the sun, a veritable cornucopia of distractions, designed to provide the dopamine or oxytocin that the sort of person who inhabits this tower is probably in desperate need of. Wile away your lonely after work hours with a virtual lover, one ad croons, over leering shots of a scantily clad person sitting on a couch. Another advertisement offers a different kind of escape from those painful hours between shifts: neuro-adaptive hallucinogens based, supposedly, on proprietary nanotechnology.
To the east, growing in the ruins of a failed mega-arcology project, lives the bright and crowded gray market, surrounded by a gate. Northward, far up the street, just before the city disappears into the impenetrable fog which lies thick over the skyline, the city shifts toward a more active business district, full of glass and black steel buildings that take their neo-Gothic aesthetic to new and more extravagant heights, all arches and flying buttresses and miles of artfully detailed surfaces. Meanwhile, towards the south, the city slowly begins to be reduced to rubble and a few outlying buildings before it gives way completely into the sprawling chaos of the slum district which then in turn crashes up against the massive boxes of the warehouse district like the surf breaking against cliffs."