Jump to content

TIC-80

From Wikipedia, the free encyclopedia

TIC-80
Developer(s)Vadim Grigoruk (Nesbox)
Initial release22 March 2017; 7 years ago (2017-03-22)[1]
Stable release
1.1.2837[2] / 22 October 2023; 9 months ago (2023-10-22)
Repository
Operating systemAndroid, Bare metal, Linux, Mac OS, Windows
PlatformPC, Raspberry Pi, Nintendo 3DS, HTML5 (WebAssembly), RetroArch
Available inEnglish
TypeVirtual 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 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

[edit]

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 240x136 display; a 16 color palette; 256 8x8 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

[edit]
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

[edit]

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) using steganography.[13] 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.

Color palettes

[edit]
SWEETIE-16
Number Hexadecimal RGB value Name
0 #1A1C2C Black
1 #5D275D Purple
2 #B13E53 Red
3 #EF7D57 Orange
4 #FFCD75 Yellow
5 #A7F070 Light green
6 #38B764 Green
7 #257179 Dark green
8 #29366F Dark blue
9 #3B5DC9 Blue
10 #41A6F6 Light blue
11 #73EFF7 Cyan
12 #F4F4F4 White
13 #94B0C2 Light Grey
14 #566C86 Grey
15 #333C57 Dark Grey

Playing and sharing games

[edit]
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;[14] Lovebyte 2021 online;[15] and a 2018 LINE Fukuoka hackathon in Japan.[16]

References

[edit]
  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. ^ a b c "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. ^ a b c Littler, Clarissa (August 2018). "Fantasy Computers and TIC-80". Beanz Magazine. 6 (1).
  6. ^ a b c d e f g 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. ^ a b "TIC-80 tiny computer 1.0.2164 Latest". GitHub. Retrieved May 2, 2022.
  9. ^ a b "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. ^ List, Jenny (June 6, 2022). "Outline 2022: Everyone Should Go to a Demo Party". Hackaday. Retrieved June 15, 2022.
  15. ^ "Lovebyte 2021 – Where size matters". Pouet.net. December 2020. Retrieved June 15, 2022.
  16. ^ "LIFF + TIC-80". LINE Engineering. March 7, 2019. Retrieved June 15, 2022.

Further reading

[edit]
[edit]