TIC-80 intro
Materials for a TIC-80 demo-making workshop at CoSin 2025
This workshop is part of the Demoscene activities at CoSin. In a short, fun session, we will introduce you to the open source TIC-80 console, and how you can use it for making demos.
Overview
Much inspiration for this comes from prior efforts of @jtruk who shared workshop notes here. From the official docs:
TIC-80 is a free and open-source fantasy video game console, that allows you to create small programs, games and animations yourself. It comes with built-in editors for various multimedia components; this allows you to create graphics, maps, sounds, and music without having to switch to other programs.
The TIC-80 editor, from the intro wiki
In addition to it's retro-computing feel, the environment is a perfect for beginners to get involved in demoscene activities, like audiovisual effects, sizecoding, livecoding, intros and demos. Don't worry, we will explain all this in our presentation!
Note that there are many other fantasy consoles out there: PICO-8 / Voxatron, Fazbear and Varvara were among the ones discussed during our workshop. You can find them listed at fantasyconsoles.org. Here is how @darkhog describes the difference between the two most popular fantasy consoles in the lexaloffle forum:
Think of difference between Pico-8 and TIC-80 like difference between C64 and Atari ST. One has limited palette of fixed 16 colors, the other, while it can still only display 16 colors at a time, unless you do tricks like chasing the beam, can display a bigger range of colors due to being able to remap palette to arbitrary rgb values.
TIC-80 supports various programming languages (such as JavaScript, Ruby, and others), but in this workshop, we will use the default one: Lua. Some programming examples are basic enough that even participants with no prior knowledge can understand and use them themselves. For more advanced users, the project can be expanded in many ways.
REQUIREMENTS
Hardware: any old consumer laptop should be fine. We have a spare if someone needs it at the workshop. Sorry, currently the Amiga is not supported :(
Online: An up-to-date browser (note: use passthrough mode - Ctrl-V
- in qutebrowser), if you use the Web to access tic80.com
Offline: TIC-80 can also be pre-installed locally on the computer, just download the free DEMO version, which is not limited in any way that will hamper your learning (the developers will of course appreciate you purchasing the PRO edition) - or compile the source code
Notes
During the workshop, we shared some diverse projects that use Lua, for your inspiration:
- Löve 2D, a free, open-source, cross-platform game engine
- Coppelia Robotics, a robot simulator used in industry, education and research
- Tangara, a portable open hardware music player
- Luanti, an open source voxel sandbox
Here are the MountainBytes DEMOLAB entries we looked at together:
Ideas were shared for a project later developed at Cosin:
Demoshow
The TIC-80 prods that were played during the workshop:
- Timeline 2 by Made and Mars and Virgill (screenshot above)
- Nullius In Verba by Quadtrip
- The Welsh Demo by TôBach
- Martial Madrigal by jtruk
We looked at the code without running:
Spécial editions
We passed around a copy of Demoscene the Amiga Years (éditions 64K):
Maybe one day someone will print a book about TIC-80? Looking at you Apple_fan_2471 😬
Super jams
Here is the Revision byte jam that we watched a bit of:
Thanks Venty for the tip about the TIC-80 byte jam:
Thanks @jtruk for the tips about @FieldFX's Monday Night Bytes, supported by video archive and code archive.
Linux?
Some folks have issues installing TIC-80 outside of the mainstream distros. The source compilation process has some tedius multimedia libraries as dependencies, so you might want to pre-install the static libraries to speed it up. The quick fix is to use the AppImage inside the .ZIP itch distributable. Someone also mentioned the existence of a Flatpak.
Python?
There were questions about the use of Python, such as in the Ye Nan Pu animation. TIC-80 bundles PocketPy, the differences of which to standard CPython are listed here. There are lots of code examples here.
IDEs?
Yes, you can use an external tool to edit the source and assets of your project. No, the PRO version is not required for this, it just makes the process somewhat more efficient. See the reference guide for the import
console command and scroll down for additional tips on images. If you feel compelled to vibe code your prod, please mention the model you use in the description.
See also
- Official TIC-80 Website
- Wikipedia: TIC-80
- A step-by-step introduction
- TIC-80 basics course
- TIC-80 Wiki Examples and snippets
- TIC-80 Examples by @cxong
- TIC-80 Libraries wiki
- TIC-80 Tools page
- Tiny Code Christmas
- Awesome TIC-80
Glitchy looking TIC-80 memory dump with a COSIN 2025 pixelsig
Previous
COSIN 2025
Next project