Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork567
TIC-80 is a fantasy computer for making, playing and sharing tiny games.
License
nesbox/TIC-80
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation

- About
- Binary Downloads
- Pro Version
- Community
- Contributing
- Build Instructions
- Install Instructions
TIC-80 is a free and open source fantasy computer for making, playing and sharing tiny games.
With TIC-80 you get built-in tools for development: code, sprites, maps, sound editors and the command line, which is enough to create a mini retro game.
Games are packaged into a cartridge file, which can be easily distributed. TIC-80 works on all popular platforms. This means your cartridge can be played in any device.
To make a retro styled game, the whole process of creation and execution takes place under some technical limitations: 240x136 pixel display, 16 color palette, 256 8x8 color sprites, 4 channel sound, etc.
- Multiple programming languages:Lua,Moonscript,Javascript,Ruby,Wren,Fennel,Squirrel,Janet, andPython.
- Games can have mouse and keyboard as input
- Games can have up to 4 controllers as input (with up to 8 buttons, each)
- Built-in editors: for code, sprites, world maps, sound effects and music
- An additional memory bank: load different assets from your cartridge while your game is executing
- Moderated community
You can download compiled versions for the major operating systems directly from ourReleases page.
Can be downloaded from officialnightly.link page or from theGithub Actions page.
Linux (arm64) builds can be downloaded fromaliceisjustplayingnightly.link page. Tested on Raspberry Pi OS (64-bit) (Bookworm), Asahi Linux (Fedora Remix), Ubuntu 22.04 and Fedora 40.
To help support TIC-80 development, we have aPRO Version.
This version has a few additional features and binaries can only be downloaded on our itch.io page.
For users who can't afford the program can easily build the pro version from the source code usingcmake .. -DBUILD_PRO=On command.
- Save/load cartridges in text format, and create your game in any editor you want, also useful for version control systems.
- Even more memory banks: instead of having only 1 memory bank you have 8.
- Export your game without editors, and then publish it to app stores.
You can play and share games, tools and music attic80.com/play.
The community also hangs out and discusses onTelegram orDiscord.
You can contribute by reporting a bug or requesting a new feature on ourIssues page.Keep in mind when engaging on a discussion to follow ourCode of Conduct.
You can also contribute by reviewing or improving ourWiki.The wiki holds TIC-80 documentation, code snippets and game development tutorials.
The build process has been tested on Windows 11 64-bit (x64); all this should run on Windows 7 SP1 32-bit (x86) as well. This guide assumes you're running an elevated Command Prompt.
InstallGit,CMake,Visual Studio 2019 Build Tools andRuby+Devkit 2.7.8 x86
Install the neccessary dependencies within VS2019:
- Launch "Visual Studio Installer"
- Click "Modify"
- Check "Desktop Development with C++"
- Go to "Individual components"
- Search for "v141"
- Install:
- C++ Windows XP Support for VS 2017 (v141) tools [Deprecated]
- MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16)
- Click "Modify"
Run
ridk installwith options1,3to set upMSYS2 and development toolchainAdd MSYS2's
gccatC:\Ruby27\msys32\mingw32\binto your$PATH(guide)Open a new elevated Command Prompt and run the following commands:
git clone --recursive https://github.com/nesbox/TIC-80 && cd .\TIC-80\buildcopy /y .\build\janet\janetconf.h .\vendor\janet\src\conf\janetconf.hcmake -G "Visual Studio 16 2019" -A Win32 -T v141_xp -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_ALL=On ..cmake --build . --parallelYou'll findtic80.exe inTIC-80\build\bin.
This guide assumes you're running PowerShell with an elevated prompt.
- InstallGit,CMake,Visual Studio 2019 Build Tools andRuby+Devkit 2.7.8 x64 manually or withWinGet:
winget install Git.Git Kitware.CMake Microsoft.VisualStudio.2019.BuildTools RubyInstallerTeam.RubyWithDevKit.2.7- Install the neccessary dependencies within VS2019:
- Launch "Visual Studio Installer"
- Click "Modify"
- Check "Desktop Development with C++"
- Make sure the following components are installed:
- Windows 10 SDK (10.0.19041.0)
- MSVC v142 - VS 2019 C+ + x64/x86 build tools (Latest)
- Click "Modify"
- Run
ridk installwith options1,3to set upMSYS2 and development toolchain - Add MSYS2's
gccatC:\Ruby27-x64\msys64\mingw64\binto your$PATHmanually or with the following PowerShell command:
[Environment]::SetEnvironmentVariable('Path', $env:Path + ';C:\Ruby27-x64\msys64\mingw64\bin', [EnvironmentVariableTarget]::Machine)- Open a new elevated prompt and run the following commands:
git clone --recursive https://github.com/nesbox/TIC-80 && cd .\TIC-80\buildcmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On ..cmake --build . --parallelYou'll findtic80.exe inTIC-80\build\bin.
This guide assumes you're running PowerShell with an elevated prompt.
- InstallGit,CMake andRuby+Devkit 2.7.8 x64 manually or withWinGet:
winget install Git.Git Kitware.CMake RubyInstallerTeam.RubyWithDevKit.2.7- Run
ridk installwith options1,3to set upMSYS2 and development toolchain - Add MSYS2's
gccatC:\Ruby27-x64\msys64\mingw64\binto your$PATHmanually or with the following PowerShell command:
[Environment]::SetEnvironmentVariable('Path', $env:Path + ';C:\Ruby27-x64\msys64\mingw64\bin', [EnvironmentVariableTarget]::Machine)- Open a new elevated prompt and run the following commands:
git clone --recursive https://github.com/nesbox/TIC-80 && cd .\TIC-80\buildcmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On ..$numCPUs = [Environment]::ProcessorCountmingw32-make "-j$numCPUs"You'll findtic80.exe inTIC-80\build\bin.
Run the following commands from a terminal:
# Install the latest CMake from https://apt.kitware.comtest -f /usr/share/doc/kitware-archive-keyring/copyright ||wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/nullecho 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/nullsudo apt-get updatetest -f /usr/share/doc/kitware-archive-keyring/copyright ||sudo rm /usr/share/keyrings/kitware-archive-keyring.gpgsudo apt-get install kitware-archive-keyringsudo apt update && sudo apt -y install build-essential cmake git libpipewire-0.3-dev libwayland-dev libsdl2-dev ruby-dev libglvnd-dev libglu1-mesa-dev freeglut3-dev libcurl4-openssl-devgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On .. && cmake --build . --parallelInstall withInstall Instructions
Run the following commands from a terminal:
sudo apt update && sudo apt -y install build-essential cmake git libpipewire-0.3-dev libwayland-dev libsdl2-dev ruby-dev libcurl4-openssl-dev libglvnd-dev libglu1-mesa-dev freeglut3-devgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On -DBUILD_STATIC=On .. && cmake --build . --parallelInstall withInstall Instructions
run the following commands in the Terminal
sudo pacman -S cmake ruby mesa libglvnd glugit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_WITH_ALL=On .. && cmake --build . --parallelInstall withInstall Instructions
run the following commands in the Terminal
sudo dnf -y groupinstall "Development Tools" "Development Libraries"sudo dnf -y install ruby rubygem-{tk{,-doc},rake,test-unit} cmake libglvnd-devel libglvnd-gles freeglut-devel clang libXext-devel SDL_sound pipewire-devel pipewire-jack-audio-connection-kit-devel pulseaudio-libs-develgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DCMAKE_CXX_COMPILER=clang++ -DSDL_ALSA=On -DBUILD_WITH_ALL=On ..Install withInstall Instructions
Run the following commands from a terminal:
sudo dnf -y groupinstall "Development Tools" "Development Libraries"sudo dnf -y install ruby-devel rubygem-rake cmake clang pipewire-devel SDL2-devel SDL2_sound-devel SDL2_gfx-devel wayland-devel libXext-devel pipewire-jack-audio-connection-kit-devel pipewire-jack-audio-connection-kit-devel pulseaudio-libs-devel rubygems-devel libdecor-devel libdrm-devel mesa-libgbm-devel esound-devel freeglut-develcmake -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On ..cmake --build . --parallelInstall withInstall Instructions
Run the following commands from a terminal:
sudo zypper refreshsudo zypper install --no-confirm --type pattern devel_basissudo zypper install --no-confirm cmake glu-devel libXext-devel pipewire-devel libcurl-develgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On .. && cmake --build . --parallelInstall withInstall Instructions
Run the following commands from a terminal:
sudo apt update && sudo apt -y install cmake libpipewire-0.3-dev libwayland-dev libsdl2-dev ruby-dev libcurl4-openssl-devgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_SDLGPU=On -DBUILD_WITH_ALL=On .. && cmake --build . --parallel 2Install withInstall Instructions
First, add jessie-backports repo to your/etc/apt/sources.list
deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main
Then run the following commands in the Terminal
# required public keysgpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553gpg -a --export 8B48AD6246925553 | sudo apt-key add -gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010gpg -a --export 7638D0442B90D010 | sudo apt-key add -# upgrade systemsudo apt-get updatesudo apt-get dist-upgrade# install softwaresudo apt-get install git build-essential ruby-full libsdl2-dev zlib1g-devsudo apt-get install -t jessie-backports liblua5.3-devgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_WITH_ALL=On ..# install software ubuntu 22.04.3 LTSsudo apt-get install git build-essential ruby-full libsdl2-dev zlib1g-devsudo apt-get install liblua5.3-devsudo apt-get install libcurl4-openssl-devgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_WITH_ALL=On ..Install withInstall Instructions
Note: If you are using a normal Raspberry Pi image (not Retropie) you may nothave OpenGL drivers enabled. Runsudo raspi-config, then select 7for "Advanced Options", followed by 6 for "GL Drivers", and enable "GL(Fake KMS) Desktop Driver". After changing this setting, reboot.
installCommand Line Tools for Xcode andbrew package manager
run the following commands in the Terminal
brew install git cmakegit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_WITH_ALL=On -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..make -j4to create application icon for development version
mkdir -p ~/Applications/tic80dev.app/Contents/{MacOS,Resources}cp -f macosx/tic80.plist ~/Applications/tic80dev.app/Contents/Info.plistcp -f macosx/tic80.icns ~/Applications/tic80dev.app/Contents/Resourcescat > ~/Applications/tic80dev.app/Contents/MacOS/tic80 <<EOF#!/bin/shexec /Users/nesbox/projects/TIC-80/build/bin/tic80 --skip >/dev/nullEOFchmod +x ~/Applications/tic80dev.app/Contents/MacOS/tic80Make sure to update the absolute path to the tic80 binary in the script, orupdate the launch arguments.
run the following commands in the Terminal
sudo pkg install gcc git cmake ruby libglvnd libglu freeglut mesa-devel mesa-dri alsa-libgit clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/buildcmake -DBUILD_WITH_ALL=On ..make -j4Mesa looks for swrast_dri.so from the wrong path, so also symlink it:
sudo ln -s /usr/local/lib/dri/swrast_dri.so /usr/local/lib/dri-devel/- To make an executable file
./tic80without installation runmakeand locate the output inTIC-80/build/bin. - To install system-wide run
sudo make install - You can append
-j4if you have a modern system, or-j2for a Raspberry Pi to speed up the process.
TIC-80 can now be run withtic80 (if installed) or./tic80 (with no installation).
You can find iOS/tvOS version here
You can find the compiled version ready download and installon F-Droid:
- Filippo Rivato —Twitter @HomineLudens
- Fred Bednarski —Twitter @FredBednarski
- Al Rado —Twitter @alrado2
- Trevor Martin —Twitter @trelemar
- MonstersGoBoom —Twitter @MonstersGoBoom
- Matheus Lessa —Twitter @matheuslrod
- CliffsDover —Twitter @DancingBottle
- Frantisek Jahoda —GitHub @jahodfra
- Guilherme Medeiros —GitHub @frenetic
- Andrei Rudenko —GitHub @RudenkoArts
- Phil Hagelberg —@technomancy
- Rob Loach —Twitter @RobLoachGitHub @RobLoach
- Wade Brainerd —GitHub @wadetb
- Paul Robinson —GitHub @paul59
- Stefan Devai —GitHub @stefandevaiBlog stefandevai.me
- Damien de Lemeny —GitHub @ddelemeny
- Adrian Siekierka —GitHub @asiekierkaWebsite
- Jay Em (Sweetie16 palette) —Twitter @GrafxKid
- msx80 —Twitter @msx80Github msx80
- Josh Goebel —Twitter @dreamer3Github joshgoebel
- Joshua Minor —GitHub @jminor
- Julia Nelz —Github @remi6397WWW
- Thorben Krüger —Mastodon @benthor@chaos.social
- David St—Hilaire —GitHub @sthilaid
- Alec Troemel —Github @alectroemel
- Kolten Pearson —Github @koltenpearson
- Cort Stratton —Github @cdwfs
- Alice —Github @aliceisjustplaying
- Sven Knebel —Github @sknebel
- Graham Bates —Github @grahambates
- Kii —Github @kiikrindar
- Matt Westcott —Github @gasman
- NuSan —Github @TheNuSan
- Li Jin —Github @pigpigyyy
- Dania Rifki —Github @Kaleidosium
About
TIC-80 is a fantasy computer for making, playing and sharing tiny games.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.

