TIC-80
ScreenshotTic-80-boot.gif
Collapsibletrue
DeveloperVadim Grigoruk (Nesbox)
Released22 March 2017 (age 9)[1]
Ver layoutsimple
Latest release version1.1.2837[2]
Latest release date22 October 2023 (age 2)
Programming languageC
Operating systemAndroid, bare metal, Linux, Mac OS, Windows
PlatformPC, Raspberry Pi, Nintendo 3DS, HTML5 (WebAssembly), RetroArch
LanguageEnglish
GenreVirtual machine, game engine
LicenseMIT License[3]
Websitehttps://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]

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
  1. 1A1C2C
Black
1
  1. 5D275D
Purple
2
  1. B13E53
Red
3
  1. EF7D57
Orange
4
  1. FFCD75
Yellow
5
  1. A7F070
Light green
6
  1. 38B764
Green
7
  1. 257179
Dark green
8
  1. 29366F
Dark blue
9
  1. 3B5DC9
Blue
10
  1. 41A6F6
Light blue
11
  1. 73EFF7
Cyan
12
  1. F4F4F4
White
13
  1. 94B0C2
Light Grey
14
  1. 566C86
Grey
15
  1. 333C57
Dark Grey

Playing and sharing games

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]

See also

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. 4 June 2022.
  4. ^ "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. ^ Littler, Clarissa (August 2018). "Fantasy Computers and TIC-80". Beanz Magazine. 6 (1)
  6. ^ Pistorio, Marco (September 2018). "Fantasy Console: TIC 80" (in Italian). Retro Magazine. 2 (9): 20. – via Internet Archive
  7. ^ "TIC-80/SRC/System at main · nesbox/TIC-80". GitHub
  8. ^ "TIC-80 tiny computer 1.0.2164 Latest". GitHub. Retrieved 2022-05-02.
  9. ^ "nesbox / TIC-80". GitHub. Retrieved 2022-06-14.
  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 2022-06-15.
  17. ^ "Lovebyte 2021 – Where size matters". Pouet.net. December 2020. Retrieved 2022-06-15.
  18. ^ "LIFF + TIC-80". LINE Engineering. March 7, 2019. Retrieved 2022-06-15.

Further reading