Skip to content

Instantly share code, notes, and snippets.

@danidiaz
Last active August 10, 2021 19:56
Show Gist options
  • Select an option

  • Save danidiaz/acc3907a5a1aa7a07def84d1bce50d56 to your computer and use it in GitHub Desktop.

Select an option

Save danidiaz/acc3907a5a1aa7a07def84d1bce50d56 to your computer and use it in GitHub Desktop.
One of my pending pet projects is a "tourism simulation" text adventure with dynamically generated descriptions. These are some related resources that might help.

One example is the treatment of navigation. IFs are traditionally navigable by compass rose (N, S, E, W), with objects and events distributed in space as an exploration. Shade, by contrast, eschews navigation for a single location. Subtitled “a one-room game set in your apartment,” Shade is playfully referring to the phenomenon of apartment pieces in IF - generally learner works in which authors new to the medium begin by scrupulously implementing a detailed model of everything within sight of their desks. Such pieces usually lack setting, conflict, and/or plot, tending instead to concentrate on the detailed execution of conventionally modeled IF objects - an interactive lamp, cabinet, closet, and so on.

Just as Shade opted out of conventional light modeling, it dispenses with conventional spatial navigation. Instead, the kitchen, bathroom, and bedroom of the apartment form one unified location - a contiguous “room” with several “nooks,” whose objects are always in scope. The player location is indicated through nuance and shifting emphasis. Interacting with something in the one area automatically shifts the player to that area, while the view is reorganized to describe nearer objects before those further away. The net effect is a feeling of differentiated space without rigid underlying zones.

tldr; I argue that compass-based navigation in parser IF is mostly an unintended accident of the earliest adventure games, that--in most circumstances--compass-based navigation spoils the illusion, and I mull whether it's worth experimenting with landmark-based navigation.

You are not the first (or tenth) person to suggest that compass directions are artificial and break the illusion of place, but no alternative has ever hung on for more than one game in a row.

These tabular bergs are like masses of beautiful alabaster: a verbal description of them can do little to convey the reality to the imagination of one who has not been among them.

Each individual citizen has a name and a portrait. They have familial connections as well. There is even a small population of children running around. In that way, the game resembles 2014’s Banished, a medieval colony simulation that was known for creating emergent narratives all on its own.

Jane Austen CYA

List of human positions

Versu and Regency manners

what does time do?

Inform: Past, Present, Future Notes on the Direction of Inform tweet. HN.

How to do real life stuff in d&d 5e combat?

Tracery twitterbot tool

End of June Link Assortment 3

Suppose I’m telling a story about someone walking through the woods to get to grandma’s house.

Comparing City Street Orientations reddit

developing smart assistants

how we walk

All the while, bills for maintenance, cleaning and lighting soared. But the main problem was that people didn’t use them. As Rees explains: “In as far as people carry mental maps to get around, those maps are based on streets. The minute you displace that map by taking people up on to walkways, their mental map function breaks down and they get lost.”

A frequent mistake of beginner Game Programmers is to obsess over precisely updating off-screen characters in the same way as on-screen ones. This is a mistake, no-one cares. Instead you need to seek to create the impression that off-screen characters are still acting. By reducing the amount of update characters that are off-screen receive you can dramatically increase processing times.

Winograd's SHRDLU is barely a footnote now, but it all seemed so obviously important back then. In retrospect, I think a bunch of it was really a sort of groupthink combined with a desire to have toys people loved validated as being profound.

The Pont du Gard owes its survival after the fall of Rome to its secondary function as a toll bridge. For centuries local lords and bishops were responsible for its upkeep, in exchange for the right to levy tolls on travellers using it to cross the river.

LIGHT. Learning to Speak and Act in a Fantasy Text Adventure Game. light.

untrusted

worlds of zzt

zil. hn.

Testing conversational interfaces

Writing a procedural puzzle generator. hn.

Structured Propositions.

Standard Patterns in Choice-Based Games

Mapping Spheres of Influence on Medieval Iberia’s Religious Frontier via Viewshed Analysis and Cost-Distance Analysis

Mailbag: Self-Training in Narrative Design

Grind

“Embeddings are an example of computed metadata” to get past the problem of content unit opacity

The Twentieth Entry: SPY INTRIGUE (furkle)

Heaven’s Vault (inkle)

I think mimetic travel is often a mistake in story-driven games and I would seriously encourage designers to at least consider whether it’s lending anything to the themes or the emotional experience of the story to make the player walk, run, ride, or sail from one bucket of plot to the next; or whether it would work to substitute in a different spacer activity, or handle travel as a montage of events instead of an analogue progression.

Links and Structures from Michael Joyce to Twine

petites constructions

Are there any books that are in english but slowly introduce you to the french language?

Until the Industrial Revolution, there was pretty much only one way for most people on dry land to get around: on foot. With services concentrated in the center of cities, the radius of development from the heart of the city was limited to not much more than one mile—about the distance a person can walk in 30 minutes.

one of the things I learned early on was to make a point to focus on landmarks, and more importantly, to turn around and look at where I'd just been so I could recall it on the way back because it's a completely different view.

It's a lot easier to travel off trail in areas with hills and hollows than flat lands with little variation in terrain and flora, and a compass makes a huge difference in that case, but even then stopping and turning around to look for something even a bit out of the ordinary can make a huge difference in rather you begin to panic over being lost or not.

A graph-based spatial temporal logic for knowledge representation and automated reasoning in cognitive robots

just patience, walking slowly in the basalt. in certain areas of the landscape, texts can be found almost anywhere

ubi sunt - poems that reflect on the transient nature of human beings in the face of the eternal

The ruins toppled to the ground, broken into rubble, where once many a man glad-minded, gold-bright, bedecked in splendor, proud, full of wine, shone in his war-gear, gazed on treasure, on silver, on sparkling gems, on wealth, on possessions, on the precious stone, on this bright capital of a broad kingdom.

-The Future of Games is an Instant Flash to the past

Books

I started amid a big cluster of rocks, an archipelago or a neighborhood of rock piles each the size of a huge building; like buildings they cut off views, so you have to know the lay of the land and local landmarks rather than counting on distant sights to steer by as in other deserts.

Mountain ranges appeared and disappeared on the horizon as I rotated around the plain and returned to the rocks.

wind-carved pillars of red stone studding a hot, airless expanse of sand and gravel and ruddy dirt stretching to the red cliffs in the distance.

A path is a prior interpretation of the best way to traverse a landscape, and to follow a route is to accept an interpretation,

Part of what makes roads, trails, and paths so unique as built structures is that they cannot be perceived as a whole all at once by a sedentary onlooker.

At distance heard the murmur of many waterfalls not audible in the day-time.

(in this context, “a walk” meant a path broad enough for two to walk abreast; it could be called a conversational route).

Renaissance Italian gardens had been built by preference upon slopes that gave views of the countryside beyond, connecting the garden to the world, but French and English gardens seldom had such settings. The line of sight only extended to the garden wall,

“Whereas the French formal garden was based on a single axial view from the house, the English garden was a series of multiple oblique views that were meant to be experienced while one walked through it.”

Walks are everywhere in Pride and Prejudice. The heroine walks on every possible occasion and in every location, and many of the crucial encounters and conversations in the book take place while two characters are walking together.

Already over the final pass and still thinking they had far higher to go, they had cut off on an uphill trail when a peasant set them straight and sent them to finish their descent into Italy, where they made a quick loop past Lake Como before reentering Switzerland.

shepherds were among the first mountain guides in Europe—leads

A lone peak or high point is a natural focal point in the landscape, something by which both travelers and locals orient themselves. In the continuum of landscape, mountains are discontinuity—culminating high points, natural barriers, unearthly earth.

Cities fascinated him as a kind of organization that could only be perceived by wandering or by browsing, a spatial order in contrast to the tidily linear temporal order of narratives and chronologies.

“Narrow crevices,” Victor Hugo calls “those obscure, contracted, angular lanes, bordered by ruins eight stories high. . . . The street was narrow and the gutter wide, the passerby walked along a pavement which was always wet, beside shops that were like cellars, great stone blocks encircled with iron, immense garbage heaps.

a stranger to these new boulevards that go straight on, without meandering, without the adventures of perspective. . . .”

Now plump and afflicted with heart trouble that even on the streets of Paris had made him stop every few minutes,

Kenneth Jackson outlines what he calls “the walking city” that preceded the development of middle-class suburbs: it was densely populated; it had “a clear distinction between city and country,” often by means of walls or some other abrupt periphery;

The Strip is not the Champs-Élysées reborn for other reasons too; it lacks the perfect straightness Le Nôtre gave the older road, the straightness that lets you see far into the distance. It bends and bulges, though there are always the cross-streets—and the bridge over Flamingo Road between Bellagio and Caesars provided the best view yet of the desert to the west and Red Rocks.

Cities of the Classical World: An Atlas and Gazetteer of 120 Centres of Ancient Civilization

play by postcard rpgs. HN

procedural map generation

A thread about narrative states

Making a text adventure game with GPT2

About handling points in a story where the plot really requires particular moves from the protagonist

I have long since stopped putting much effort into getting people to play parser IF, for the low hit rate reasons. And it’s hard to advocate writing because of audience size.

Towards Expressive Input for Character Dialogue in Digital Games

Iconic European Floor Plans

Byzantine Constantinople, the walls of the city and adjoining historical sites

Secret of the Silver Blades

Thankfully SSI recognized the drudgery of their maps required some sort of relief, so the magical well area is filled with teleporters that can be unlocked as you progress through the game. This helps greatly reduce insane backtracking when you need to return to town.

Spatial analysis and social spaces: Interdisciplinary approaches to the interpretation of prehistoric and historic built environments

Matthew Paris's excellent 13thC guide on how to get from London (bottom left) to Naples (top right), taking in the sights of Canterbury, Beauvais, Tours, Turin, & Rome along the way!

la ville médiévale et moderne

constantinople, city of walls

hunting stories

walking around

nominal importance - TvTropes

There Are Only 37 Possible Stories, According to This 1919 Manual for Screenwriters

roguelike celebration 2020

More RPGs should have lifepath character generation

dialogue

asking for directions

The Playground

"The Colder Light" is a game in the parser text adventure tradition but that offers some experimental UI options to help overcome the challenges of that format for new players

FAQ about displaying stuff in a terminal

Writing branching narratives for #boardgames is very different from writing branching narratives for video games.

vavorite modern text games

Rendering game worlds in text. hn

Repetition: repetition in text can get quite jarring if the text is written like a novel, as opposed to the classic RPG way of displaying it as a text log. It's not unsolvable, but it certainly is difficult. Not only does avoiding repetition require knowledge of previously generated text, I think it also requires adjustments to the game world itself. It can't be Skyrim in that regard, it needs to generate unique and meaningful situations.

drawing on past social and conversational AI work

The Bug Under Your Tongue

Quotes

Suburbia

The geometry of streets and sidewalks is a critical topic. Generally speaking, the reason settled streets in older neighborhoods and European cities feel “cozy” and “charming” is because they provide a feeling of enclosure, which humans want because it gives them with a coherent sense of place, like rooms in a house.

I’m not a sociobiologist and cannot say exactly why this is, but would speculate that it caters to people’s primal need for shelter and clear directional orientation. Whatever the case, it’s an established fact that people gravitate toward places that have clear borders and relatively comprehensive enclosures; it’s a kind of axiom for the discipline of architecture. People feel vulnerable and uncomfortable in open areas with ill-defined margins.

Walter Benjamin:

Not to find one's way around a city does not mean much. But to lose one's way in a city, as one loses one's way in a forest, requires some schooling. Street names must speak to the urban wanderer like the snapping of dry twigs, and little streets in the heart of the city must reflect the times of day, for him, as clearly as a mountain valley. This art I acquired rather late in life; it fulfilled a dream, of which the first traces were labyrinths on the blotting papers in my school notebooks.

Shahnameh:

He saw a mass of ruins with an archway that was still standing. High, ancient, and crumbling, it looked as if it had once been part of a royal edifice

Du cote de Guermantes

m’était toujours apparu comme une transparente verrerie, sous laquelle je voyais, frappés au bord de la mer violette par les rayons obliques d’un soleil d’or, les cubes roses d’une cité antique

Bishops in flight

The Canopica Way, a central avenue, cut through the city form the Moon Gate to the Sun Gate (east to west). The Soma was a central street that spanned from the harbor to Lake Mareotis (north to south).

Albertine disparue

Je m’étais engagé dans un réseau de petites ruelles, de calli divisant en tous sens, de leurs rainures, le morceau de Venise découpé entre un canal et la lagune, comme s’il avait cristallisé suivant ces formes innombrables, ténues et minutieuses. Tout à coup, au bout d’une de ces petites rues, il semblait que dans la matière cristallisée se fût produite une distension. Un vaste et somptueux campo à qui je n’eusse assurément pas, dans ce réseau de petites rues, pu deviner cette importance, ni même trouver une place, s’étendait devant moi entouré de charmants palais pâles de clair de lune. C’était un de ces ensembles architecturaux vers lesquels, dans une autre ville, les rues se dirigent, vous conduisent et le désignent. Ici, il semblait exprès caché dans un entre-croisement de ruelles, comme ces palais des contes orientaux où on mène la nuit un personnage qui, ramené chez lui avant le jour, ne doit pas pouvoir retrouver la demeure magique où il finit par croire qu’il n’est allé qu’en rêve.

Don't remember the title

Diodorus Siculus (fl. 49 B.C.) concurs, stressing the magnificence and magnitude of the Egyptian maze, whose artistic carvings, ceiling paintings, relics, and murals would have made it insurpassable in execution, had it ever been finished.

Not surprisingly, Pliny finds it impossible to describe precisely the ground plan of this complex building with its winding passages, vast halls, and temples.

Even with a guide, Herodotus experienced “countless marvelings” at the Egyptian maze’s “extreme complication,” and he never penetrated the dangerous lower chambers inhabited by dead kings and sacred crocodiles.

some of the maze’s functions: as a tomb (later associations will be with death or with hell); as an elaborate memorial to sponsor or builder; as a place of worship or judgment; as a place requiring a guide; as a fitting habitat for monsters, whether painted (as in Pliny) or real (as in Herodotus); as an image of deceptiveness; and as a building intricately designed to protect from intruders what lies within.

Isidore treats labyrinths under the rubric “public buildings,” along with gymnasia, circuses, amphitheaters, and towers.

Ninety Percent of Everything. Tramp steamer.

His first ship was a tramp steamer, a freelance vessel that picks up trade where it can, not a liner with a scheduled route like Kendal.

Trees in the Middle Ages

In his book, Trees in the Religions of Early Medieval England, Michael D.J. Bintley explains that “trees in the Anglo-Saxon England marked meeting places where significant political decisions were made throughout the period, by both violent and peaceful methods.”

Bernini, his life and his Rome

Between the populated urban core and the rings of walls was the wide swath of the rural disabitato (uninhabited zone) filled with vineyards and patrician villas. Naturally, the disabitato also afforded Romans the privacy and space for the kinds of interpersonal activities, legal (courting, partying) or otherwise (rape, kidnapping, homicide), that could not be carried out as easily in the town center under constant surveillance by police and nosy neighbors.

Quelle place pour les voix humaines dans le Paris du XVIIIe siècle ?

in Pittsburgh, even if you can see it, it doesn’t mean you can get there from where you are, especially not by taking what seems to be the obvious route.

Videos

Such a navigational approach will probably sound familiar to urban travelers of my pre-smartphone generation: We relied on landmarks to envision the urban layout.

Podcasts

The word itself is of french origin.[1] Octroi taxes have a respectable antiquity, being known in Roman times as vectigalia. These vectigalia were either the portorium, a tax on the entry from or departure to the provinces (those cities which were allowed to levy the portorium shared the profits with the public treasury); the ansarium or foricarium, a duty levied at the entrance to towns

GDC 2020 - Game Server Performance tricky bit about compression

data is per frame, but resolution is per second

be very careful with compression

preserve the maximum value — do not average!

Reputation systems/mechanics in RPG dialogue video

Medieval Alexandria: Life in a Port City

The Unholy Trinity of Bridge Stupidity in Copenhagen

making choices matter

Game Accessibility Guidelines

the original ELIZA

the more real it feels, the closer to the reality of the action it gets, eventually drains away this magic

Lists & Bibliographies

Software

Haskeline

DomTerm – a web-based rich terminal emulator and console hn

DomTerm can run in a browser (as an alternative to Electron), and has buitlin session support (a la tmux/screen).

Hyper

no browser support it seems

source code for Infocom adventures

Medieval Fantasy City Generator. hn. Here Dragons Abound. islands

textworld

a web app with a terminal-like interface to manage my D&D session

inkle 1.0

AGQA: A Benchmark for Compositional, Spatio-Temporal Reasoning

MINGW covered the Windows build, clang/osxcross for the MacOS build, and plain old gcc for Linux. It's all oldschool autotools+pkg-config dances for the cross-compilation. Plain C and SDL2+OpenGL under the hood, no engine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment