Why Zaytun Project?
I am blind. That is the short answer to why this project exists, and most of the long answer too.
I want to explain the reasoning rather than just state it, because the argument matters more than my particular circumstances. This is a personal project, built on a belief I hold fairly strongly: that blindness should not stop anyone from enjoying games — from exploring stories, solving puzzles, making choices, and spending time in an interactive world that responds to what you do.
Why text-based games
Most modern games are built to be looked at. The information a player needs is in the picture: where things are, what is happening, what has changed, what is about to. When you cannot see the picture, you are not playing a harder version of the same game. Often you are not playing it at all.
Text-based games are different, and the difference is not that they are a lesser substitute. Everything the game has to say arrives as words, and words work equally well read on a screen, enlarged, spoken by a screen reader, or felt on a braille display. The medium does not have to be translated for me, because it was never visual to begin with.
What a text game actually runs on is:
- Text — the whole state of the world, available to be read at any moment.
- Narration — a voice describing a place, an event, a consequence.
- Imagination — the picture is assembled by the player, which puts everyone on equal footing, because nobody is being handed one.
- Choice — you decide what to try, in your own time, with no reflexes involved.
- Interaction — you type, the world answers, and what you did persists.
None of that requires sight. All of it requires attention, curiosity and patience, which are distributed without regard to eyesight. A blind player and a sighted player sitting down to the same text game are playing the same game — not an accessible version of it, and not a reduced one. The same one.
This is the part I would most like people to take away: text is not a fallback. For this kind of game it is the actual medium, and it happens to be the most accessible medium there is.
What I want this project to do
The goal of Zaytun Project is to make text-based games more accessible, more enjoyable, and more available to blind and visually impaired players — and, at the same time, to give developers a simple language built specifically for making them.
Those two aims are the same aim approached from two ends:
- For players. More good text games in the world, playable with the tools you already use, with no separate accessible build, no compatibility notes, and nothing that quietly stops working after an update.
- For developers. A language where the effort goes into writing a good game rather than into building an engine first, and where the result is accessible by construction rather than by an accessibility pass at the end that may never come.
The second point is where a language earns its keep. If making an accessible game is hard, fewer people will make one. If the natural, easy, obvious way to build a game in a given tool happens to produce something a blind person can play, then accessibility stops depending on whether an individual developer thought about it.
Accessibility is not a feature here
In a lot of software, accessibility is a list of items added late, after the shape of the thing has already been decided — and by then some of those items are impossible without starting over. I did not want to build that, so accessibility is not on the list of Zaytun's features. It is one of the reasons the project exists at all, and it shows up in decisions that were made before any feature was.
- The interface is plain text, everywhere
- The compiler reports errors as text on a terminal. The terminal player reads and writes nothing but text. There is no drawing, no layout to navigate, no focus to manage, and nothing that has to be described to you second-hand. Plain text already works with every screen reader and braille display in existence, and it will keep working.
- The browser player is a page, not an application
- It is a text field and a transcript. No canvas, no framework, no server. It runs from a local file, so a game can be played on a machine with no internet connection at all.
- Nothing depends on timing or reflexes
- A turn happens when you decide it happens. Nothing scrolls past, nothing has to be caught, and thinking for a minute costs nothing.
- The games use language, not layout
- No map to read, no minimap, no colour-coded status bar. Where you are, what you are carrying and what is happening are all sentences, available on request.
- This website too
- Proper headings and landmarks, a skip link, links that make sense when read out of context, real text instead of pictures of text, and no diagrams made of punctuation that turn into noise when spoken. It would be a poor advertisement for the argument if the page making it were awkward to listen to.
An ecosystem, not just a language
A programming language on its own does not get anybody a game to play. What I am trying to build is the whole path from an idea to somebody enjoying it:
- A language designed for writing these games.
- A compiler that catches mistakes before a player ever meets them.
- Two players, so a game runs in a terminal or in a browser, whichever suits you.
- A documented format, so a compiled game is a single file that can simply be shared.
- Finished games, because a tool with nothing made in it is a demonstration rather than an ecosystem.
All of it is free software under the GNU General Public License, and the source for every part is public. That is deliberate too: an accessible thing that can be taken away, or that stops being maintained and cannot be picked up by anyone else, is not much of a guarantee.
Where this goes
I would like this to end up somewhere beyond my own games. The ambition is an ecosystem where accessible text-based games are created, shared and enjoyed by everyone — blind players, sighted players, and developers who want to write a story-driven game without building an engine first.
If you write something with it, that is the project working. If you play one of the games and have a good evening, that is also the project working. And if you are a developer who had not thought much about this before and now finds that the accessible thing was also the easy thing — that is exactly what I was hoping for.