TIC-80

Last updated

TIC-80
Developer(s) Vadim Grigoruk (Nesbox)
Initial release22 March 2017;8 years ago (2017-03-22) [1]
Stable release
1.1.2837 [2] / 22 October 2023;20 months ago (2023-10-22)
Repository
Operating system Android, Bare metal, Linux, Mac OS, Windows
Platform PC, Raspberry Pi, Nintendo 3DS, HTML5 (WebAssembly), RetroArch
Available in English
Type Virtual machine, Game engine
License MIT License [3]
Website https://tic80.com

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 fantasy console. [4] [5]

Contents

The games made in TIC-80 can be exported as virtual game cartridges and bundled for different platforms, including Android, Linux, MacOS, Windows, bare metal Raspberry Pi, [6] Nintendo 3DS, RetroArch, [7] and HTML5 (using WebAssembly [8] ). It supports programming languages including JavaScript, MoonScript, and Lua, [4] as well as Ruby, Wren, Fennel, Squirrel, Python and D. [9] [8]

TIC-80 is often compared to PICO-8, a fantasy system which is not open source; [5] [6] both systems are becoming popular with games programmers who are interested in classic home computers and consoles. [10]

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. [6] [9] These limitations include a 240 × 136 display; a 16 color palette; 256 8 × 8 sprites; and 4-channel sound. [6] Integrated tools within the "tiny computer" allow developers to edit code, create graphics, write music, and build levels within games. [4]

Specifications

Resolution240 × 136 pixels, 16 colors palette.
Input4 gamepads with 8 buttons / mouse / keyboard.
Sprites256 foreground sprites and 256 background tiles, 8x8 pixel.
Map240 × 136 cells, 1920 × 1088 pixels.
Sound4 channels with configurable waveforms.
CodeUp to 512KB (8 banks each 64KB, even in non-PRO version) of lua, ruby, js, moon, fennel, squirrel, wren or wasm.
MemoryUp to 272kb of RAM (including 32KB of VRAM).
BankswitchingUp 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. [11] 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. [12]

To push the metaphor one step further, this serialized memory dump can be embedded in a PNG picture (resembling a real physical cartridge). Initially, steganography was used for this; [13] however, this imposed a hard size limit of 96KiB and was vulnerable to unintentional corruption by image editing tools. [14] Recent versions instead store the cartridge data in a caRt ancillary chunk which is unaffected by image editing operations and can store much more data. [15]

Color palettes

SWEETIE-16
NumberHexadecimal RGB valueName
0#1A1C2CBlack
1#5D275DPurple
2#B13E53Red
3#EF7D57Orange
4#FFCD75Yellow
5#A7F070Light green
6#38B764Green
7#257179Dark green
8#29366FDark blue
9#3B5DC9Blue
10#41A6F6Light blue
11#73EFF7Cyan
12#F4F4F4White
13#94B0C2Light Grey
14#566C86Grey
15#333C57Dark Grey

Playing and sharing games

8-Bit Panda, a platformer game for TIC-80 8-Bit Panda Level 1-3.png
8-Bit Panda, a platformer game for TIC-80

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

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

References

  1. "Release TIC-80 tiny computer 0.20.0 dev · nesbox/TIC-80 · GitHub".
  2. "Release TIC-80 tiny computer 1.1.2837 · nesbox/TIC-80 · GitHub".
  3. "TIC-80 / LICENSE". GitHub . June 4, 2022.
  4. 1 2 3 "A Game Makers' Toolkit: Eight More Fascinating Game-Making Tools for the Pi". The MagPi Magazine (73): 32–33. September 2018 via Internet Archive.
  5. 1 2 3 Littler, Clarissa (August 2018). "Fantasy Computers and TIC-80" . Beanz Magazine. 6 (1).
  6. 1 2 3 4 5 6 7 Pistorio, Marco (September 2018). "Fantasy Console: TIC 80". Retro Magazine (in Italian). 2 (9): 20 via Internet Archive.
  7. "TIC-80/SRC/System at main · nesbox/TIC-80". GitHub .
  8. 1 2 "TIC-80 tiny computer 1.0.2164 Latest". GitHub . Retrieved May 2, 2022.
  9. 1 2 "nesbox / TIC-80". GitHub. Retrieved June 14, 2022.
  10. Kelk, Jason (October 2019). "History of Homebrew: Brewing since 2005". Retro Gamer (200): 104–107 via Internet Archive.
  11. "Cartridge format · nesbox/TIC-80". GitHub .
  12. "PICO-8 to TIC-80 converter". GitLab .
  13. "Example TIC-80 PNG cartridge". GitHub .
  14. "Multiple bugs with PNG cartridges". GitHub .
  15. "Adding png chunk cartridge support". GitHub .
  16. List, Jenny (June 6, 2022). "Outline 2022: Everyone Should Go to a Demo Party". Hackaday . Retrieved June 15, 2022.
  17. "Lovebyte 2021 – Where size matters". Pouet.net. December 2020. Retrieved June 15, 2022.
  18. "LIFF + TIC-80". LINE Engineering. March 7, 2019. Retrieved June 15, 2022.

Further reading