Notcurses - Le Bottin des Jeux Linux

Notcurses

🗃️ Specifications

📰 Title: Notcurses 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status:
🏷️ Category: Development ➤ Framework & Tool ➤ Rendering Framework 🍥️ Name: libnotcurses-dev, libnotcurses++-dev, notcurses-bin
🔖 Tags: Development; Library; Text engine; Rendering Framework; Rust; C/C++; Python 📦️ Arch:
🐣️ Approx. start: 2019-11-10 🍥️ On Deb repo: ✓
🐤️ Latest: 2020-11-21 📦️ Deb: ✓
📍️ Version: Latest : 2.0.4 / Dev : 9829abf 📦️ RPM:
🏛️ License type: FOSS/Libre 📦️ AppImage:
🏛️ License: Apache 2.0 📦️ Snap:
🏝️ Perspective: Third person 📦️ Flatpak:
👁️ Visual: Text ⚙️ Generic bin.: ✓
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 🌍️ Browser-based:
🎖️ This record: 5 stars 📱️ PDA support:
🎖️ Game design: 👫️ Contrib.: Goupil & Louis
🎰️ ID: 15950 🐛️ Created: 2020-11-21
🐜️ Updated: 2021-02-27

📖️ Summary

[fr]: Une bibliothèque textuelle libre facilitant la conception d'Interfaces Utilisateur Textuelles (Text-based User Interface aka TUI) multi-tâches (multithreading) sur des émulateurs de terminaux modernes, supportant les couleurs vives, le multimédia et l'Unicode au maximum. [en]: A libre text library facilitating the design of TrueColor & multimedia multi-threaded TUI (Text-based User Interface) on modern terminal emulators, supporting vivid colors, multimedia and Unicode to the maximum.

🎥️ Videos

🎥️ Trailer : (202xxx)



🎙️ Interview (d'une partie) des développeurs / Interview with (some of the) Dev : Nick Black,

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(202xxx) gu(202xxx) id(202xxx) r(202xxx) lp(202xxx) d(1.5.2) d(1.5.0) d(1.1.0) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : (empty)

🍩️ Resources
(empty) :
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🐘 Social
Devs (Notcurses Team [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Devs (Nick Black (dankamongmen) [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Devs (Marek Habersack (grendello) [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Devs (José Luis Cruz (joseluis, andamira) [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [mastodon] [twitter] [PeerTube] [YouTube] [GoogleGroups]

🐝️ Related
[Debian 1 2 3]

📦️ Misc. repositories

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

📰 News / Source of this Entry (SotE) / News (SotN)
[Changes with v. 2.0.4 (20201110)] [MDCO Gaming Edition (20201121) (SotE)]

📕 Description [fr]

Une bibliothèque textuelle facilitant la conception de TUI (Text-based User Interface) multi-tâche TrueColor et multimédia, par la Notcurses Team, initié par Nick Black (dankamongmen), Marek Habersack (grendello), José Luis Cruz (joseluis, andamira).

Notcurses est une bibliothèque textuelle libre facilitant la conception d'Interfaces Utilisateur Textuelles (Text-based User Interface aka TUI) multi-tâches (multithreading) sur des émulateurs de terminaux modernes, supportant les couleurs vives, le multimédia et l'Unicode au maximum.


Notcurses : une interface utilisateur textuelle (Text-based User Interface aka TUI) et des caractères graphiques bling-bling


• Qu'est-ce que c'est : une bibliothèque facilitant les TUI complexes sur des émulateurs de terminaux modernes, supportant les couleurs vives, le multimédia et l'Unicode au maximum. Il est possible de faire des choses avec Notcurses qui ne peuvent tout simplement pas être faites avec NCURSES.

• Ce qu'il n'est pas : une implémentation compatible avec les sources X/Open Curses, ni un remplacement de NCURSES sur les systèmes existants.

Introduction

Notcurses abandonne l'API X/Open Curses intégrée dans la spécification UNIX unique. Cette dernière montre son âge et ne semble pas capable d'utiliser des fonctionnalités de terminal telles que la couleur 24 bits non indexée ("TrueColor", à ne pas confondre avec la "couleur étendue" 24 bits indexée sur 8 bits de NCURSES). Pour obtenir des informations de base, consultez la superbe FAQ de NCURSES de Thomas E. Dickey, qui fait autorité. En tant que tel, Notcurses ne remplace pas Curses. Elle est presque certainement moins portable, et certainement testée sur moins de matériel. Désolé pour cela. En fin de compte, j'espère pouvoir prendre en charge correctement tous les terminaux supportant les fonctionnalités nécessaires aux TUI complexes. Je dirais que les télétypes, etc. sont fondamentalement inadaptés. La plupart des systèmes d'exploitation semblent des cibles raisonnables, mais je n'ai que Linux et FreeBSD à tester.

Chaque fois que cela est possible, Notcurses utilise la bibliothèque Terminfo fournie avec NCURSES, qui bénéficie grandement de sa portabilité et de sa rigueur.

Notcurses offre des fonctionnalités avancées pour l'interaction utilisateur sur les postes de travail, les téléphones, les ordinateurs portables et les tablettes, au détriment par exemple de certains terminaux industriels et commerciaux.

Pourquoi utiliser cette bibliothèque non standard ?

• La sécurité des Thread et l'utilisation efficace dans des programmes parallèles ont été prises en compte dès le début.

• Une conception plus svelte que celle codifiée par X/Open :
⚬ Les identificateurs exportés sont préfixés pour éviter les collisions courantes dans l'espace de noms.
⚬ L'objet bibliothèque exporte un ensemble minimal de symboles. Dans la mesure du possible, un code statique en ligne est utilisé pour les en-têtes uniquement. Cela facilite l'optimisation du compilateur et réduit le temps de chargement.

• Toutes les API supportent nativement le jeu de caractères universel (Unicode). L'API de la pile est basée sur le concept de grappe de caractères étendue d'Unicode.

• Les caractéristiques visuelles comprennent les images, les polices, la vidéo, le texte à fort contraste, les sprites et les régions transparentes. Toutes les API supportent nativement la couleur 24 bits, quantifiée selon les besoins du terminal.

• La licence Apache2 est complète, contrairement à la licence NCURSES qui est une licence en plusieurs actes (cette dernière est résumée comme "un retraitement de MIT-X11").

Une grande partie de ce qui précède peut être obtenu avec NCURSES, mais ce n'est pas ce pour quoi NCURSES a été conçu. L'avantage le plus fondamental à mes yeux, cependant, est que Notcurses est de l'ère du multithreading. D'autre part, si vous visez des applications industrielles ou critiques, ou si vous souhaitez bénéficier de la fiabilité et de la portabilité éprouvées de NCURSES, vous devez absolument utiliser cette excellente bibliothèque.



🍥️ Debian (traduction du Bottin) :

Graphiques de caractères et bibliothèque TUI (Text-based User Interface) (développement)

Notcurses facilite la création de programmes TUI modernes, en utilisant pleinement Unicode et 24-bit TrueColor. Son API est similaire à celle de NCURSES, mais l'étend avec le z-buffering, le rendu d'images et de vidéos en utilisant ffmpeg, le mélange alpha, les widgets, les fondus de palette, la prise en compte du redimensionnement et le support du multithreading.

Ces fichiers sont nécessaires pour le développement C en utilisant Notcurses.

📕 Description [en]

"A libre text library facilitating the design of TrueColor & multimedia multi-threaded TUI (Text-based User Interface)" (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

Notcurses: blingful TUIs and character graphics

• What it is: a library facilitating complex TUIs on modern terminal emulators, supporting vivid colors, multimedia, and Unicode to the maximum degree possible. Things can be done with Notcurses that simply can't be done with NCURSES.

• What it is not: a source-compatible X/Open Curses implementation, nor a replacement for NCURSES on existing systems.

Introduction

Notcurses abandons the X/Open Curses API bundled as part of the Single UNIX Specification. The latter shows its age, and seems not capable of making use of terminal functionality such as unindexed 24-bit color ("TrueColor", not to be confused with the 8-bit indexed 24-bit "extended color" of NCURSES). For some necessary background, consult Thomas E. Dickey's superb and authoritative NCURSES FAQ. As such, Notcurses is not a drop-in Curses replacement. It is almost certainly less portable, and definitely tested on less hardware. Sorry about that. Ultimately, I hope to properly support all terminals supporting the features necessary for complex TUIs. I would argue that teletypes etc. are fundamentally unsuitable. Most operating systems seem reasonable targets, but I only have Linux and FreeBSD available for testing.

Whenever possible, Notcurses makes use of the Terminfo library shipped with NCURSES, benefiting greatly from its portability and thoroughness.

Notcurses opens up advanced functionality for the interactive user on workstations, phones, laptops, and tablets, at the expense of e.g. some industrial and retail terminals.

Why use this non-standard library?

• Thread safety, and efficient use in parallel programs, has been a design consideration from the beginning.

• A svelter design than that codified by X/Open:
⚬ Exported identifiers are prefixed to avoid common namespace collisions.
⚬ The library object exports a minimal set of symbols. Where reasonable, static inline header-only code is used. This facilitates compiler optimizations, and reduces loader time.

• All APIs natively support the Universal Character Set (Unicode). The cell API is based around Unicode's Extended Grapheme Cluster concept.

• Visual features including images, fonts, video, high-contrast text, sprites, and transparent regions. All APIs natively support 24-bit color, quantized down as necessary for the terminal.

• It's Apache2-licensed in its entirety, as opposed to the drama in several acts that is the NCURSES license (the latter is summarized as "a restatement of MIT-X11").

Much of the above can be had with NCURSES, but they're not what NCURSES was designed for. The most fundamental advantage in my mind, though, is that Notcurses is of the multithreaded era. On the other hand, if you're targeting industrial or critical applications, or wish to benefit from the time-tested reliability and portability of Curses, you should by all means use that fine library.


🍥️ Debian:

Character graphics and TUI (Text-based User Interface) library (development)

Notcurses facilitates the creation of modern TUI programs, making full use of Unicode and 24-bit TrueColor. Its API is similar to that of NCURSES, but extends that with z-buffering, rendering of images and video using ffmpeg, alpha blending, widgets, palette fades, resize awareness, and multithreading support.

These files are necessary for C development using Notcurses.