TIC-80 - Le Bottin des Jeux Linux

TIC-80

🗃️ Specifications

📰 Title: TIC-80 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Emulation 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Emulation ➤ Engine ➤ Fantasy Console 🌍️ Browser version: ✓
🔖 Tags: Emulation; Fantasy console; Retro; TIC-80 engine; Prototyping; libretro compatible; Multi-platform; Flagship; Local Multi; Keyboard; Mouse; Controller 📦️ Package Name: tic-80
🐣️ Approx. start: 2016-07-03 📦️ Arch package: ✓
🐓️ Latest: 2020-11-06 📦️ RPM package:
📍️ Version: Latest: 0.80.1344 / Dev: c6d246e 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package: ✓
🏛️ License: MIT 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: 2D & 3D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single & Multi 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 5 stars 👫️ Contrib.: goupildb & Louis
🎰️ ID: 15727 🐛️ Created: 2020-01-25
🐜️ Updated: 2023-12-30

📖️ Summary

[en]: A libre and multi-platform (+ export to Win/Mac/Linux/HTML5) virtual game console (software, also called "Fantasy computer") with deliberately limited specifications (16 colors, 240x136 pixels, 256 8x8 color sprites, 4-channel sound, programming in Lua, Moonscript, Javascript, Wren and Fennel), to encourage small but expressive designs. It supports keyboard, mouse, joystick (up to 4), and comes with the necessary design tools (for code, sprites, maps, sound effects and music). [fr]: Une console de jeu virtuelle (logicielle, que l'on nomme aussi "Fantasy computer") libre et multi-plateforme (+ export Win/Mac/Linux/HTML5) aux spécifications volontairement limitées (16 couleurs, 240x136 pixels, 256 sprites couleur 8x8, son 4 canaux, programmation en Lua, Moonscript, Javascript, Wren et Fennel), pour encourager les conceptions petites mais expressives. Elle supporte le clavier, la souris, le joystick (jusqu'à 4), et est livrée avec les outils de conception nécessaires (pour le code, les sprites, les cartes, les effets sonores et la musique).

🎥️ Videos


🦝️ From Users: (202204), [fr](201901),


💎 Features: TIC-80 runs on Pocket C.H.I.P. (201710), Infinity Fortress - Pico-8 Chiptune Music (201702),


🕯️ How To: TIC-80 Platformer Lessons (202011), Space Invaders Lesson 0 - Finding Your Way in TIC80 (201907), [fr](201901),


🎮️ Showcase:
• Random Games for TIC-80 (201909), TIC-80 Games 23 In 1 (202305), Tic 80 - Retro Gaming Fantasy Console - Core Type R Promo (202108),

• Fetch Quest (202102), Jab Runner (202104), Miko Blade (202107),

• Sonic mini (202308), Pacman 80 (202306), Balmung de](202206),

• Witch 'Em Up (CGA Jam, TIC-80) by tinchetsu (201706), Scramble 2018 (inspired of original game by KONAMI) (201804), Tasbot stele tic-80 celeste remake (201902),

• Mario Bros. (201803), 8-bit Panda (201803), Dangerous Dave Remake (201907),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos ft(201710) ft(201702) gd(202xxx) gu(202204) gu[fr](201901) r(202xxx) lp(202xxx) d(201909) d(202305) d(202108) d(202102) d(202104) d(202107) d[fr](202308) d(202306) d[de](202206) d(201706) d(201804) d(201902) d(201803) d(201803) d(201907) ht(202011) ht(201907) ht[fr](201901) ht[fr](202102) ht[fr](202304) ht[fr](202006) ht[de](202xxx) ht[ru](201808) ht[ru](201901) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) ht[pt](201906) g[it](202xxx) g[tr](202xxx)] [WIKI 1 2] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: [Support their work (Donate)] [Itch.io] (PRO Version)

🍩️ Resources
Misc.
• Port of this emulator to libretro: [Libretro (TIC-80) (Libretro WIKI)]
• zepto8 (Another Fantasy console, PICO-8 compatible (I was unable to compile it because some directories require a password), by Sam Hocevar, a former Debian project leader): [zepto8]
• Fantasy consoles/computers (a list of available fantasy consoles/computers on GitHub): [GitHub (Fantasy consoles/Computers)]

Games/Mods
• TIC-80 games (Play TIC-80 games): [TIC-80 games (Play)]
• itch.io entry (games made with TIC-80): [Itch.io (TIC-80 games)]
• itch.io Game Jam (Fantasy Console Game Jam #1): [Itch.io (Fantasy Console Game Jam #1)]

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

🦣️ Social
Devs (TIC-80 Team 1 2 3 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Vadim Grigoruk (nesbox) [fr] [en]): [Site 1 2 3] [mastodon] [vk] [PeerTube] [YouTube] [PressKit] [Linkedin] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Forums 1 2] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (TIC-80) [fr] [en] [de]]
[Wikipedia (Fantasy console) [fr] [en] [de]]
[LinuxFr [fr] (TIC-80 version 0.80)] [Reddit]

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

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

🕊️ Source of this Entry: [LinuxFr (PICO-8, TIC-80 et les consoles imaginaires) [fr](20190919)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: TIC-80
🦊️ What's: A libre Fantasy computer
🏡️ https://tic80.com
🐣️ https://github.com/nesbox/TIC-80
🔖 #LinuxEmulation #Flagship #FantasyConsole
📦️ #Libre #Arch #Deb #Flatpak
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 0.80.1344➜1.1.2736
⚗️ Major upgrade 🪙️
📌️ Changes: https://github.com/nesbox/TIC-80/releases
🦣️ From: 📶️ https://github.com/nesbox/TIC-80/releases.atom

🦝️ https://www.youtube.com/embed/LxRiY2P9apw
🕯️ https://www.youtube.com/embed/?list=PLOUbntoMeucFBoxH6-AkpyHA2DJ5oBSPB
🎮️ https://www.youtube.com/embed/mYsS4u69Ufo
🎮️ https://www.youtube.com/embed/1I5csN8cICw
🎮️ https://www.youtube.com/embed/eQU3xdBxTjQ
🎮️ https://www.youtube.com/embed/6vEJV_FG3y0

🕶️ A view of its UI at startup, with its input prompt.

TIC-80 is a libre and multi-platform (+ export to Win/Mac/Linux/HTML5) virtual game console (software, also called "Fantasy computer") with deliberately limited specifications (16 colors, 240x136 pixels, 256 8x8 color sprites, 4-channel sound, programming in Lua, Moonscript, Javascript, Wren and Fennel), to encourage small but expressive designs. It supports keyboard, mouse, joystick (up to 4), and comes with the necessary design tools (for code, sprites, maps, sound effects and music).

📕 Description [en]

📕🐧"A libre virtual game console (Fantasy computer)"🐧📕.

TIC-80 is a free and open source fantasy computer for making, playing and sharing tiny games.

There are built-in tools for development: code, sprites, maps, sound editors and the command line, which is enough to create a mini retro game. At the exit you will get a cartridge file, which can be stored and played on the website.

Also, the game can be packed into a player that works on all popular platforms and distribute as you wish.

To make a retro styled game, the whole process of creation takes place under some technical limitations:

Specifications

☑ Resolution 240x136 pixel display
☑ Color 16 color palette (chosen from 24-bit colorspace)
☑ Input 4 gamepads with 8 buttons / mouse / keyboard
☑ Sprites 256 foreground sprites and 256 background tiles (8x8 pixel)
☑ Map 240x136 tiles (ie, 1920x1088 pixels)
☑ Sound 4 channels (with editable waveform envelopes)
☑ Code 512KB of source or 256KB compiled BINARY size
☑ Memory Up to 272kb of RAM (including 32KB of VRAM)
☑ Bankswitching Up to 8 banks in cart (PRO version only)


PRO version (has some extra features)
CARTRIDGES IN TEXT FORMAT
You can save / load cartridges in text format, and create your game in any editor you want, it is also useful for version control systems

MEMORY BANKS

Even more memory banks: instead of having only 1 memory bank you have 8

EXPORT WITHOUT EDITORS
You can export your game only without editors, and then publish it to app stores

SUPPORT AUTHOR

You can support future development if you liked TIC-80 :)

and more...


🌍️ Wikipedia:

TIC-80 is a free and open-source fantasy video game console for making, playing, and sharing games on a limited platform that mimics the 8-bit systems of the 1980s. It has built-in code, sprite, map, music, and sound effect editors, as well as a command line interface that allow users to develop and edit games within the console. The games made in TIC-80 can be exported as virtual game cartridges and bundled for different platforms, including Android, Linux, MacOS, Windows, baremetal Raspberry Pi, Nintendo 3DS, RetroArch, and HTML5 (using WebAssembly). It supports programming languages including JavaScript, MoonScript, and Lua, as well as Ruby, Wren, Fennel, Squirrel and D. TIC-80 is often compared to PICO-8, a well known fantasy system which is not open source; both systems are becoming popular with games programmers who are interested in classic home computers and consoles.

Capabilities

As a fantasy console, TIC-80 has some set limitations in terms of graphics and processing power in order to create a "retro-styled" gaming experience. These limitations include a 240x136 display; a 16 color palette; 256 8x8 sprites; and 4-channel sound. Integrated tools within the "tiny computer" allow developers to edit code, create graphics, write music, and build levels within games.

Specifications

Resolution 240x136 pixels, 16 colors palette.
Input 4 gamepads with 8 buttons / mouse / keyboard.
Sprites 256 foreground sprites and 256 background tiles, 8x8 pixel.
Map 240x136 cells, 1920x1088 pixels.
Sound 4 channels with configurable waveforms.
Code Up to 512KB (8 banks each 64KB, even in non-PRO version) of lua, ruby, js, moon, fennel, squirrel, wren or wasm.
Memory Up to 272kb of RAM (including 32KB of VRAM).
Bankswitching Up to 8 banks in cart (PRO version only).

Cartridges

The TIC-80 is capable of storing and loading back serialized dumps of memory regions using so called cartridges, another 80's metaphor. Unlike the original ones, which were actual physical objects, the TIC-80 cartridges are just files in .tic format. These can be created by typing "save filename.tic" on the console, and loaded back by typing "load filename.tic". Furthermore TIC-80 comes with a built-in cartridge browser, called "SURF" (see below). Free and Open Source tools to convert PICO-8 cartridges to TIC-80 cartridges exists, but they aren't perfect.

To push the metaphor one step further, this serialized memory dump can be embedded in a PNG picture (resembling a real physical cartridge) using steganography. However this isn't practical, because its storage capacity very limited (256 x 256 pixels, each 4 channels, and with 3 bits of data per channel, that's 256 * 256 * 4 * 3 bits / 8 = 98,304 bytes in total, although the memory dump is zlib compressed). Therefore you can find cartridges in the .tic format more often on the net, because .tic doesn't have such storage limitation.

Playing and sharing games


TIC-80 runs on major operating systems including Windows, Linux 32 and 64 bit, Mac OS X, and Android, and can be compiled from source code for other platforms such as Raspberry Pi. "Tic" cartridge files, containing playable versions of the game, are generated using the integrated development tools. There is a large and growing catalog of community-made games available through the TIC-80 web site.

The TIC-80 console has been featured in demo parties such as Outline 2022 in the Netherlands; Lovebyte 2021 online; and a 2018 LINE Fukuoka hackathon in Japan.

📕 Description [fr]

Une console de jeu virtuelle (Fantasy computer), par la TIC-80 Team, initié par Vadim Grigoruk (nesbox).

TIC-80 est une console de jeu virtuelle (logicielle, que l'on nomme aussi "Fantasy computer") libre et multi-plateforme (+ export Win/Mac/Linux/HTML5) aux spécifications volontairement limitées (16 couleurs, 240x136 pixels, 256 sprites couleur 8x8, son 4 canaux, programmation en Lua, Moonscript, Javascript, Wren et Fennel), pour encourager les conceptions petites mais expressives. Elle supporte le clavier, la souris, le joystick (jusqu'à 4), et est livrée avec les outils de conception nécessaires (pour le code, les sprites, les cartes, les effets sonores et la musique).

Nota:
• Un fork du source (voir la section "Resources" ci-dessus) le rend compatible avec libretro (pour plus de précision concernant l'application libreto, voir la fiche "Libretro (& RetroArch)"


TIC-80 est un "fantasy computer" libre et gratuit permettant de créer, de jouer et de partager des jeux miniatures.

Des outils de développement sont intégrés : code, sprites, cartes, éditeurs sonores et ligne de commande, ce qui est suffisant pour créer un mini jeu rétro. À la sortie, vous obtiendrez un fichier cartouche, qui peut être stocké et joué sur le site web.

Le jeu peut également être intégré dans un lecteur fonctionnant sur toutes les plates-formes courantes et distribué comme vous le souhaitez.

Pour réaliser un jeu de style rétro, l'ensemble du processus de création est soumis à certaines limitations techniques :

Spécifications

☑ Résolution 240x136 pixels
☑ Couleur Palette de 16 couleurs (choisies dans l'espace colorimétrique 24 bits)
☑ Entrée 4 manettes de jeu avec 8 boutons / souris / clavier
☑ Sprites 256 sprites de premier plan et 256 tuiles d'arrière-plan (8x8 pixels)
☑ Carte 240x136 tuiles (c'est-à-dire 1920x1088 pixels)
☑ Son 4 canaux (avec enveloppes de forme d'onde éditables)
☑ Code 512 Ko de code source ou 256 Ko de code BINARY compilé
☑ Mémoire Jusqu'à 272 Ko de RAM (dont 32 Ko de VRAM)
☑ Changement de banque Jusqu'à 8 banques dans le panier (version PRO uniquement)


Version PRO (avec des fonctionnalités supplémentaires)

CARTOUCHES AU FORMAT TEXTE
Vous pouvez sauvegarder / charger des cartouches au format texte, et créer votre jeu dans l'éditeur de votre choix, c'est également utile pour les systèmes de contrôle de version.

BANQUES DE MÉMOIRE
Encore plus de banques de mémoire : au lieu d'avoir une seule banque de mémoire, vous en avez 8.

EXPORTATION SANS ÉDITEURS
Vous pouvez exporter votre jeu uniquement sans éditeurs, puis le publier dans les magasins d'applications.

SOUTENIR L'AUTEUR
Vous pouvez soutenir le développement futur si vous avez aimé TIC-80 :)

et plus encore...



🌍️ Wikipedia:

TIC-80 est une fantasy console sous licence libre (il existe également une version payante avec plus d'options), inspirée de Pico-8. Elle fonctionne avec les plateformes Android, HTML5 (en WebAssembly), Linux, macOS et Windows, ainsi que RetroArch et en bare metal (avec un système minimaliste) sur Raspberry Pi grâce aux bibliothèques circle et circle-stdlib et nintendo 3DS, grâce à la bibliothèque LibRetro, pour lesquels il est possible de produire des binaires et peut être programmée dans les langages de script, Lua, JavaScript, MoonScript (en), Ruby, Fennel, WASM, Wren, Squirrel et D.

Historique

La machine virtuelle est annoncée comme passant sous licence MIT, lors d'un message sur Twitter, le 26 septembre 2017

Le jeu 8-bit Panda, est créé comme démonstration sur cette machine virtuelle d'un jeu de plateforme complet.

La version 0.80 sortie le 25 septembre 2020 apporte différents changements, dont la possibilité d'augmenter le nombre de sprites en réduisant le nombre de couleurs (2 bits ou 1 bits par pixel), le son en stéréo, un piano roll en plus du tracker pour la composition musicale. La palette par défaut est désormais Sweetie, un portage vers libretro, permet à présent de le faire fonctionner sous RetroArch et Nintendo 3DS sans OS.

Scène démo

Quelques démos dans l'esprit de la « Scène démo » sont également présent sur cette plateforme. Il entre dans des compétitions de programmation en direct de demo en 256 octets avec la LoveByte Party de 2020 et continue en 2021 dans la même Party. Des œuvres de la Lovbyte Party sont présentées à la session d'hiver de la Demoparty Assembly de 2021.

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

📦️ Installation à partir du paquet Manjaro/Arch :
• 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 source

• (✔ v.0.70.6 / 76df0ae) Si vous souhaitez quelque-chose de très récent (versions de développement) et/ou qu'il n'y a pas de binaire disponible pour votre distribution/architecture (32/64-bits), la compilation du source est une bonne idée, voir un passage obligé.

▸ Installation des dépendances :
• Installez au préalable les paquets suivants :
- Arch/Manjaro : git cmake gtk3 glu libglvnd
- Debian : git cmake libgtk-3-dev libglu-dev libglvnd-dev

▸ Téléchargement du source (sur GitHub) :
☝️ Nota : Évitez le téléchargement du source via les liens https, car ils ne fournissent pas les dépendances
Version stable, dans le répertoire souhaité, lancez : $ git clone -b "Nom_de_la_release" --recursive https://github.com/nesbox/TIC-80
Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement : sur GitHub, dans la section Release, le nom valide est l'étiquette située à gauche du titre, ou cliquez sur "Tags" pour obtenir la liste des étiquettes valides).
ou Version récente (non stable), dans le répertoire souhaité, lancez : $ git clone --recursive https://github.com/nesbox/TIC-80

▸ Compilation :
• Dans son répertoire racine lancez successivement :
$ cd build
$ cmake ..
(n'oubliez pas les "..")
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)
↪ vous obtenez les binaires suivants dans TIC-80/build/bin/ : bin2txt, player-sdl, player-sokol, tic80, tic80-sokol


🚀️ LANCEMENT DE L'INTERFACE:

▸ Classique :
• 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) : $ ./build/bin/tic80


📑️ PARAMÉTRAGE

• Lancement d'un jeu (voir la section "Resources" ci-dessus, exemple avec le jeu "Battle of the bit", copiez le fichier "cart.tic" dans son répertoire racine): $ ./build/bin/tic80 cart.tic

🕵️ Test [fr]

🕵️ Test (✔ v.0.70.6 / 76df0ae) par goupildb (config. : Debian Testing 64-bit) :

🎯️ Objectif: rédiger/mettre à jour/valider sa notice d'installation, tester son fonctionnement et partager mes premières impressions.

🫕️ Installation :
Pas de binaire disponible.
Néanmoins TIC-80 s'installe facilement par compilation (peu de dépendances, pas de soucis sous Debian).
Ensuite il suffit de lancer depuis son répertoire racine (où vous avez copié votre cartouche dénommée "cart.tic"): $ ./build/bin/tic80 cart.tic

🏗️ Réalisation :
• 🏜️ Graphisme & interface : TIC-80 est une console de jeu virtuelle (Fantasy computer) de grande qualité, disposant de tous les outils nécessaires à la création de mini-jeux de qualité (type PICO-8). Je n'ai pas testé ces outils mais simplement le jeu "Battle of the bit" disponible sur le site de la console (voir la section "Resources" ci-dessus).
• 🎧️ Son (Battle of the bit): Une très jolie bande sonore, de type MIDI.
• 🐞️ Fiabilité / Robustesse : pas de souci de ce côté là, tout fonctionne bien.
• 🎮️ Support des périphériques : Il se joue au clavier ou au joystick (testé, ok).


‣ 🌞️ J'ai aimé
• TIC-80 est une console de jeu virtuelle (Fantasy computer) de grande qualité, disposant de tous les outils nécessaires à la création de mini-jeux de qualité (type PICO-8).
• Ses spécifications sont légèrement supérieures au PICO-8
• Il est libre et multi-plateforme
• Il dispose déjà de nombreux jeux téléchargeables (voir la section "Resources" ci-dessus).

‣ 🌤️ Axes d'amélioration
• Rien à signaler.

🕹️ Conclusion :
Impression globale : 👍️
Un superbe outil pour concevoir un jeu vidéo complet et de qualité ! Il dispose en plus déjà d'une belle bibliothèque de jeux.
👏️ ❤️ Un grand bravo et merci à ses auteurs !
💰 Rappelons que vous pouvez encourager ses auteurs par une petite donation.