-
-
Notifications
You must be signed in to change notification settings - Fork 492
Home
TIC-80 is a FREE and OPEN SOURCE fantasy computer for making, playing and sharing tiny games: https://tic80.com
Built-in development tools include code, sprite, map, sound and music editors. Along with the command line tools this provides everything you need to create a mini retro game. Once your game is finished you can export it to a cartridge file, which can be stored and uploaded to the TIC-80 website. Alternatively, it can be packed into a stand-alone player that works on all popular platforms and can be distributed 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) |
- Console
- Code Editor
- Sprite Editor
- Map Editor
- SFX Editor
- Music Editor
- Supported Platforms
- Binary Downloads
- Nightly Builds
- Pro Version
- Forks
- Translators
The Console provides a command line interface to many common commands such as changing folders, creating and saving cartridges, etc. It's similar to the terminal found on desktop operating systems but specifically tailored to TIC-80 development. Type help
to get started or review the full list of commands.
- For those operating systems that support it, tab completion and command history is available.
TIC-80 includes a powerful built-in code editor to assist with game development. It's entirely possible to design, code, and maintain a game without ever leaving the TIC-80 environment.
TIC-80 Supports multiple scripting languages, including:
It's also easy to use an external editor such as VS Code, Atom, etc. if that is your preference.
Before getting started you may want to learn more about the code editor or review our detailed API Reference.
The Sprite Editor allows editing of two 128x128 pixel sprite sheets, one for the foreground and one for the background. The terms 'sprite' and 'tile' are sometimes used interchangeably, although 'tile' usually refers to background sprites that make up a game's map.
- 256 foreground sprites and 256 background tiles (each 8x8 pixels)
- Includes brush, select, move, fill, flip, rotate and other tools
- Edit a 8x8, 16x16, 32x32, or 64x64 segment at once
- Edit your game's starting palette colors
Sprite and tiles are usually rendered to the screen using the spr and map API functions.
Learn more about the Sprite Editor.
Learn more about the Map Editor.
TIC-80 allows up to 64 sound effects which can also be used as instruments in the Music Editor. The sfx API allows for playing individual sound effects.
Learn more about the SFX Editor.
The built-in editor makes it easy to compose and edit a soundtrack for your game, with the ability to store up to 8 separate pieces of music.
Learn more about the Music Editor.
TIC is developed in pure C, with SDL and Lua libraries. It works on all popular platforms, including:
- HTML5
- Windows
- Windows 10 UWP
- Linux 32/64bit
- Android
- Mac OS
- Raspberry Pi
- Pocket CHIP
- iOS (courtesy of CliffsDover and Bruno Philipe)
- libretro (see more details on the Handheld Support page)
Native versions of TIC support command line arguments when called from the command line or other programs (such as an external editor).
You can find the iOS/tvOS versions here:
You can download compiled versions for the major operating systems directly from our releases page.
These can be downloaded from our nightly builds page or the Github Actions page.
To help support TIC-80 development, we have a PRO Version. This version has a few additional features and can be purchased from our Itch.io page.
Users who can't afford to buy the PRO version can easily build it from the source code. (cmake .. -DBUILD_PRO=On
)
There is a fork of TIC-80 that supports game scripting with the Brainfuck language. See https://github.com/lolbot-iichan/TIC-80/wiki for details and samples.
There is a fork of TIC-80 that supports exercises within Lua (with multiple unit tests, progress save, and other features) to help with teaching programming and game development. This university project was renamed 'FEUP-8' and can be found here afonsojramos/feup-8.
There is a fork of TIC-80 made for byte jams and byte battle sessions where you have an fft()
function available returning you fast fourier transformation values responding to the audio playing on your desktop. It can be found here aliceisjustplaying/TIC-80.
- French translation (WIP) : GitHub @Red-Rapious
- Chinese translation : GitHub @Ark2000
- Brazilian Portuguese translation : GitHub @h3nr1ke
TIC-80 tiny computer https://tic80.com | Twitter | Telegram | Terms
Built-in Editors
Console
Platform
RAM & VRAM | Display | Palette | Bits per Pixel (BPP) |
.tic
Format | Supported Languages
Other
Tutorials | Code Snippets | Libraries | External Tools | FFT
API
- BDR (0.90)
- BOOT (1.0)
- MENU
- OVR (deprecated)
- SCN (deprecated)
- TIC
- btn & btnp
- circ & circb
- clip
- cls
- elli & ellib (0.90)
- exit
- fget & fset (0.80)
- font
- key & keyp
- line
- map
- memcpy & memset
- mget & mset
- mouse
- music
- peek, peek4
- peek1, peek2 (1.0)
- pix
- pmem
- poke, poke4
- poke1, poke2 (1.0)
- rect & rectb
- reset
- sfx
- spr
- sync
- ttri (1.0)
- time
- trace
- tri & trib (0.90)
- tstamp (0.80)
- vbank (1.0)