ink - Le Bottin des Jeux Linux

ink

🗃️ Specifications

📰 Title: ink 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Adventure & Action 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Adventure & Action ➤ IF ➤ Text & Graphic ➤ Development 🌍️ Browser version:
🔖 Tags: Development; Programming Language; Text engine; Interactive Fiction; Adventure; Multi-platform 📦️ Package Name: inky
🐣️ Approx. start: 2015-05-10 📦️ Arch package: ✓
🐓️ Latest: 2023-03-24 📦️ RPM package:
📍️ Version: ink: Latest: 1.1.1 / Dev: 6a51219 // inky: Latest: 0.14.1 / Dev: acce1b6 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package: ✓
🏛️ License: Code : MIT 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: Text ⚙️ Generic binary: ✓
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 5 stars 👫️ Contrib.: goupildb
🎰️ ID: 16365 🐛️ Created: 2023-10-29
🐜️ Updated: 2023-10-29

📖️ Summary

[en]: Ink is a libre, multi-platform markup language designed to facilitate the writing of Interactive Fiction and game scenarios. Being a markup language, the logic is integrated into the text and is easy to learn. It has its own IDE (Inky) which provides an interpreter for testing the game as it is being written, making it easier to correct any errors. It features an error detection, highlighting and reporting system, allows export to JSON or the Web, supports multi-file projects, has a plugin for Unity, an online application, and comes with a sample game ("The Intercept"). [fr]: Ink est un langage de balisage libre et multi-plateforme destiné à faciliter l'écriture de Fictions Interactives et de scénarios de jeux. S'agissant d'un langage de balisage, la logique est intégrée au texte et est facile à apprendre. Il dispose de son propre IDE (Inky) qui fournit un interpréteur permettant de tester le jeu pendant son écriture, et ainsi de corriger plus facilement les erreurs éventuelles. Il offre un système de détection, mise en évidence et rapport d'erreurs, permet l'export vers JSON ou le Web, supporte les projets multi-fichiers, dispose d'un plugin pour Unity, d'une application en ligne, et est fournit avec un exemple de jeu ("The Intercept").

🚦 Entry status

💡 Lights on: 🦺️ Work in progress:
📰 What's new?: 💥️ New New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos


🦉️From Devs: (202101), (202102),


🦝️ From Users: GameFromScratch (202310),


🕯️ How To: Learn Ink (video game dialogue language) in 15 minutes, by Shaped by Rain Studios (202108), How to Write Interactive Narrative, by Gwinnett County Public Library (202211), How to Easily Write Interactive Stories (202308),


🎮️ Showcase: Sorcery! trailer (201602), 80 days trailer (201509),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202101) gd(202102) gu(202310) r(202xxx) lp(202xxx) d(201602) d(201509) ht(202108) ht(202211) ht(202308) ht(202203) ht(202111) ht(202108) ht(202303) ht(202106) ht[fr](202xxx) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ]

• ink (the scripting language for writing interactive fictions, MIT): [Dev site] [RSS] [Changelog 1 2 3]
• inky (an IDE for ink, MIT): [Dev site] [RSS] [Changelog 1 2 3]

💰 Commercial: [Support their work (Donate)]

🍩️ Resources
• inklewriter (an online tool designed to write & publish interactive stories compatible with ink, free): [Homepage] [Start] [inklewriter JSON to ink converter] 🎬️t(201208)
• ink Library (a collection of ink resources, samples, tools as well as a running list of projects that use ink): [Dev site]
• ink-Unity integration (an Unity package allowing to integrate inkle's ink narrative scripting language with Unity & provides tools to compile, play and debug your stories, MIT): [Homepage] [Dev site] 🎬️ht(202109) ht(202006)

🛠️ Technical informations
[PCGamingWiki] [MobyGames] [Showcase]

🐘 Social
Devs (ink Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (inkle 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [X] [PeerTube] [YouTube] [PressKit] [Discord] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [Lemmy] [reddit] [Discord]

🐝️ Related


📦️ Misc. repositories
• inky
[Repology] [pkgs.org] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage (author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [GameFromScratch on mastodon (20231025)]

🐘 Social Networking Update (on mastodon)

🛠️ Title: ink
🦊️ What's: A libre markup language & IDE to facilitate the writing of Interactive Fiction
🏡️ https://www.inklestudios.com/ink/
🐣️ https://github.com/inkle
🔖 #LinuxGameDev #Flagship #Programming #InteractiveFiction
📦️ #Libre #Bin #Arch #Flatpak
📖 Our entry: http://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

ink ----------------------------------------
🥁️ Update: 1.1.1
⚗️ New features 💎
📌️ Changes: https://github.com/inkle/ink/releases
🐘 From: https://mastodon.gamedev.place/@GameFromScratch/111296089087402473
📶️ https://github.com/inkle/ink/releases.atom

inky ----------------------------------------
🥁️ Update: 0.14.1
⚗️ New features 💎
📌️ Changes: https://github.com/inkle/inky/releases
🐘 From: https://mastodon.gamedev.place/@GameFromScratch/111296089087402473
📶️ https://github.com/inkle/inky/releases.atom

🦉️ https://www.youtube.com/embed/3eYHtDGOM8U
🦝️ https://www.youtube.com/embed/1rDc8q3kunU
🕯️ https://www.youtube.com/embed/KSRpcftVyKg
🕯️ https://www.youtube.com/embed/uTO7yVNlU4I
🎮️ https://www.youtube.com/embed/a-6Fk-2rIvc
🎮️ https://www.youtube.com/embed/NzR3GED4P7g

🕶️ A view of its UI on a dark theme, with on the left the area where the code is written in markup language, and on the right, the game being run, allowing it to be tested in real time.

Ink is a libre, multi-platform markup language designed to facilitate the writing of Interactive Fiction and game scenarios. Being a markup language, the logic is integrated into the text and is easy to learn. It has its own IDE (Inky) which provides an interpreter for testing the game as it is being written, making it easier to correct any errors. It features an error detection, highlighting and reporting system, allows export to JSON or the Web, supports multi-file projects, has a plugin for Unity, an online application, and comes with a sample game ("The Intercept").

📕 Description [en]

📕🐧"A libre markup language and IDE designed to facilitate the writing of Interactive Fiction"🐧📕

ink

A narrative scripting language for games.

Getting Started

If you're new to ink, why not download Inky, our ink editor that allows you to play and test your stories.
The basics tutorial below has been written with a non-technical audience in mind, covering just the basics for people who want to write stories that they can put on the web.
And to see everything that ink has to offer, read the writer's manual, or buy the offical user's guide.

ink - the language

☑ Markup, not programming: Text comes first, code and logic are inserted within.
☑ Simple, elegant syntax: Why not get a taste in the writing tutorial?
☑ Proven: literally millions of words of content have been written for our own games.
☑ Easy to learn, but with powerful constructs for more advanced scripting.
☑ Conceived as middleware: a narrative engine designed to slot into a game engine.

Inky - the editor

☑ Play as you write: The play pane automatically refreshes and reloads the choices you made.
☑ Error highlighting, as-you-type.
☑ Jump to definition: alt-click on a divert (they're like hyperlinks in ink) to jump to the target.
☑ Export to JSON, ink's intermediate compiled format.
☑ Export to web: Generates a page like this one, ready to be customised.

Unity Integration

The plugin provides you with everything you need to get started with ink in Unity. It automatically recompiles ink files as you edit them, and even comes with a simple previewer that lets you play stories directly within the Editor, without writing a line of code.

Open Source

ink, inky, and the ink-unity integration plugin are freely available under the MIT license - we hope that other developers make use of them in their own projects! We'd also welcome contributions such as bug fixes or other code improvements - just submit a pull request.

Sample Game

The Intercept is a game we built to demonstrate how you might build an entire simple game with ink and Unity. See how we like to structure our own ink files, and how easy it is to use the Unity plugin within a real game. We built the game in a couple days for a game jam!

Need help?

Feel free to drop by our Discord server and ask a question, either about how to write ink, the Unity integration, or anything else we might've missed! There is also a Discussions forum on GitHub

Your game here?

We'd love to hear from other developers making use of ink. Let us know if you do, so that we can include a link to it on this page.

ink newsletter

Sign up to the ink newsletter to hear about new releases and tips and tricks from the community:

What's the difference between inklewriter and ink?

inklewriter is an easy-to-use online tool to write basic interactive stories.
ink by comparison is a more powerful narrative scripting language that is primarily designed for professional game development, though it can also be used to write and share choice-based interactive fiction. It is also surprisingly easy to learn, though for ease of use it's hard to beat inklewriter!

Convert inklewriter stories to ink
If you'd like to convert your inklewriter story into an ink, you can use our online tool.

Support us!
ink is the product of years of thought, design, development and testing. If ink has proved useful to you, please consider making a donation to help us continue to develop the tool. Thank you!


Inky

Inky is an editor for ink, inkle's markup language for writing interactive narrative in games, as used in 80 Days. It's an IDE (integrated development environment), because it gives you a single app that lets you play in the editor as you write, and fix any bugs in your code.

Features

☑ Play as you write: The play pane remembers the choices that you made, so when Inky recompiles, it fast-forwards to the last point you were at in the flow.
☑ Syntax highlighting
☑ As-you-type error highlighting. Inky is constantly compiling, allowing you to fix errors early.
☑ Issue browser: Lists errors, warnings and TODOs in your ink, and allows you to jump to the exact line number and file in the source.
☑ Jump to definition: Divert targets (like -> theStreet) are hyperlinked can be followed by alt-clicking.
☑ Support multi-file projects: - Inky automatically infers your story's structure from the INCLUDE lines, meaning that there's no need for an additional project file. To create a new include file, simply type INCLUDE yourfile.ink where you want to include it.
☑ Export to JSON: Although this isn't necessary if you're using the ink-Unity-integration plugin, Inky allows you to export to ink's compiled JSON format, which is especially useful in other ink runtime implementations, such as inkjs, for running ink on the web.
☑ File watching: Modern text editors, including Inky, watch for changes to files on disk, so that if you change them it reflects those changes. This is especially helpful if you keep your ink in source control.



📕 Description [fr]

Un langage de balisage libre et un IDE destinés à faciliter l'écriture de Fictions Interactives, par l'ink Team, initié par le studio inkle.

Ink est un langage de balisage libre et multi-plateforme destiné à faciliter l'écriture de Fictions Interactives et de scénarios de jeux. S'agissant d'un langage de balisage, la logique est intégrée au texte et est facile à apprendre. Il dispose de son propre IDE (Inky) qui fournit un interpréteur permettant de tester le jeu pendant son écriture, et ainsi de corriger plus facilement les erreurs éventuelles. Il offre un système de détection, mise en évidence et rapport d'erreurs, permet l'export vers JSON ou le Web, supporte les projets multi-fichiers, dispose d'un plugin pour Unity, d'une application en ligne, et est fournit avec un exemple de jeu ("The Intercept").


ink

Un langage de script narratif pour les jeux.

Pour commencer
Si vous ne connaissez pas encore ink, pourquoi ne pas télécharger Inky, notre éditeur d'ink qui vous permet de jouer et de tester vos histoires.
Le tutoriel de base ci-dessous a été rédigé à l'intention d'un public non technique. Il couvre les notions de base pour les personnes qui souhaitent écrire des histoires qu'elles pourront publier sur le web.
Et pour voir tout ce qu'ink a à offrir, lisez le manuel de l'écrivain, ou achetez le guide officiel de l'utilisateur.

ink - le langage
☑ Le balisage, pas la programmation : Le texte vient en premier, le code et la logique sont insérés à l'intérieur.
☑ Une syntaxe simple et élégante : Pourquoi ne pas s'initier au tutoriel d'écriture ?
☑ Éprouvé : des millions de mots de contenu ont été écrits pour nos propres jeux.
☑ Facile à apprendre, mais avec des constructions puissantes pour des scripts plus avancés.
☑ Conçu comme un middleware : un moteur narratif conçu pour s'insérer dans un moteur de jeu.

Inky - l'éditeur
☑ Jouez pendant que vous écrivez : Le volet de lecture actualise et recharge automatiquement les choix que vous avez faits.
☑ Mise en évidence des erreurs, au fur et à mesure que vous écrivez.
☑ Sauter à la définition : Alt-cliquez sur un renvoi (c'est comme des hyperliens sous ink) pour sauter à la cible.
☑ Exportation vers JSON, le format intermédiaire compilé par ink.
☑ Exporter vers le web : Génère une page comme celle-ci, prête à être personnalisée.


Intégration Unity
Le plugin vous fournit tout ce dont vous avez besoin pour commencer à utiliser ink dans Unity. Il recompile automatiquement les fichiers ink au fur et à mesure que vous les modifiez, et est même livré avec un simple aperçu qui vous permet de jouer des histoires directement dans l'éditeur, sans écrire une ligne de code.

Open Source
ink, inky et le plugin d'intégration ink-unity sont disponibles librement sous la licence MIT - nous espérons que d'autres développeurs les utiliseront dans leurs propres projets ! Nous serions également heureux de recevoir des contributions telles que des corrections de bogues ou d'autres améliorations du code - il suffit de soumettre une demande d'extension (pull request).

Exemple de jeu
The Intercept est un jeu que nous avons construit pour démontrer comment vous pouvez construire un jeu simple entier avec ink et Unity. Voyez comment nous aimons structurer nos propres fichiers ink, et comment il est facile d'utiliser le plugin Unity dans un vrai jeu. Nous avons construit le jeu en quelques jours pour un game jam !

Besoin d'aide ?
N'hésitez pas à passer sur notre serveur Discord pour poser une question, que ce soit sur l'écriture de l'ink, l'intégration d'Unity, ou toute autre chose que nous aurions pu oublier ! Il y a aussi un forum de discussion sur GitHub.

Votre jeu est ici ?
Nous aimerions avoir des nouvelles d'autres développeurs faisant usage de l'ink. Faites-nous savoir si vous le faites, afin que nous puissions inclure un lien vers votre jeu sur cette page.

Lettre d'information de l'ink
Inscrivez-vous à la newsletter d'ink pour être informé des nouvelles versions et des conseils et astuces de la communauté :

Quelle est la différence entre inklewriter et ink ?
inklewriter est un outil en ligne facile à utiliser pour écrire des histoires interactives de base.
En comparaison, ink est un langage de script narratif plus puissant, principalement conçu pour le développement de jeux professionnels, bien qu'il puisse également être utilisé pour écrire et partager des fictions interactives basées sur des choix. Il est également étonnamment facile à apprendre, mais pour la facilité d'utilisation, il est difficile de battre inklewriter !

Convertir les histoires inklewriter au format ink
Si vous souhaitez convertir votre histoire inklewriter au format ink, vous pouvez utiliser notre outil en ligne.

Soutenez-nous !
ink est le fruit de plusieurs années de réflexion, de conception, de développement et de test. Si ink s'est avéré utile pour vous, veuillez envisager de faire un don pour nous aider à continuer à développer l'outil. Nous vous remercions !


Inky

Inky est un éditeur pour ink, le langage de balisage d'inkle pour l'écriture de la narration interactive dans les jeux, tel qu'il est utilisé dans 80 Days. C'est un IDE (environnement de développement intégré), car il vous offre une application unique qui vous permet de jouer dans l'éditeur pendant que vous écrivez, et corrigez les bogues dans votre code.

Caractéristiques

☑ Jouez pendant que vous écrivez : Le panneau de lecture se souvient des choix que vous avez faits, de sorte que lorsque Inky recompile, il avance rapidement jusqu'au dernier point où vous étiez dans le flux.
☑ Mise en évidence de la syntaxe
☑ Mise en évidence des erreurs au fur et à mesure. Inky compile en permanence, ce qui vous permet de corriger les erreurs rapidement.
☑ Explorateur d'anomalies : Liste les erreurs, avertissements et TODO dans Ink, et vous permet de sauter au numéro de ligne et au fichier exacts dans le source.
☑ Saut à la définition : Les cibles de détournement (comme -> theStreet) sont hyperliées et peuvent être suivies par alt-clic.
☑ Prise en charge de projets multi-fichiers : - Inky déduit automatiquement la structure de votre histoire à partir des lignes INCLUDE, ce qui signifie qu'il n'y a pas besoin d'un fichier de projet supplémentaire. Pour créer un nouveau fichier d'inclusion, tapez simplement INCLUDE votrefichier.ink à l'endroit où vous souhaitez l'inclure.
☑ Exporter vers JSON : Bien que cela ne soit pas nécessaire si vous utilisez le plugin ink-Unity-integration, Inky vous permet d'exporter vers le format JSON compilé par ink, ce qui est particulièrement utile dans d'autres implémentations de runtime ink, comme inkjs, pour exécuter ink sur le web.
☑ Surveillance des fichiers : Les éditeurs de texte modernes, y compris Inky, surveillent les modifications apportées aux fichiers sur le disque, de sorte que si vous les modifiez, ils reflètent ces changements. Ceci est particulièrement utile si vous conservez votre ink dans le contrôle de source.

🚧️ Installation [fr]

🔧️ INSTALLATION :

⚙️ Installation à partir du binaire du jeu :

Installation à partir du paquet Manjaro/Arch :
• (✔ v. 0.14.1, inky) Il est dans les dépôts Manjaro/Arch (souvent dans sa dernière version), il suffit d'installer le(s) paquet(s).

Installation à partir du binaire classique :
• (✔ v. 0.14.1) Un binaire statique (64-bits) est disponible, il suffit de décompresser le livrable et (s'il ne l'est pas) de rendre son binaire exécutable (clic droit sous votre gestionnaire de fichier).

📄️ Installation à partir du source du jeu :
• (🧪️not_tested) Source non testé.


🚀️ LANCEMENT DU JEU :

▸ Classique :
• Si vous l'avez installé à partir d'un paquet, ou l'avez compilé puis installé dans les répertoires système : Alt F2 puis saisissez : inky
• Si vous l'avez compilé sans l'avoir installé dans les répertoires système ou disposez de son binaire, en console dans son répertoire racine, lancez (ou cliquez sur ce binaire si vous l'aviez rendu exécutable d'un clic droit sur le fichier) : $ ./Inky

🔍️ Test [fr]

🕵️ Test (✔ v. 0.14.1, inky) par goupildb (config. : Manjaro 64-bit) :
Le : 29 Octobre 2023
⏱️ Durée du test : 10 minutes.

🎯️ Objectif de ce test : tester son fonctionnement et faire une copie d'écran.
▸ (✔ v. 0.14.1) Paquet Arch/AUR : FONCTIONNE.
▸ (✔ v. 0.14.1) Binaire : FONCTIONNE.
🟢️ Très facile à installer, et son lancement ne pose pas de problème particulier.
Je n'ai ni le temps ni les compétences pour tester ce type de logiciel. Mon test a juste consisté à le lancer et vérifier qu'aucun bug apparent n'est survenu.
Visiblement il fonctionne bien.
🟢️ Le projet semble d'excellente qualité.

🕹️ Conclusion :
Impression globale : 👍️
Un superbe outil, qui pourra non seulement vous permettre d'écrire des fictions interactives, mais aussi vous servir à l'écriture de scénarios de jeux.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à ses auteurs !
💰 Si vous souhaitez encourager ses auteurs, vous pouvez leur faire une petite donation.