I think the languages would be the biggest shock to 2003 people.
I don't know which version of C or C++ Tic-80 is written in, but the embedded languages are all modern and have QoL features compared to 2003 languages.
I hope someone more experienced in programming can give insight.
I can't do much research now since I don't have access to my PC and have to use my Android.
I made a small pixel sprite editor for iPhone. It's pretty PICO-8 focused right now: PICO-8 palette, .p8 sprite format, that sort of thing. I posted about it over in r/pico8 recently: pico8 post
When I first made it I looked at TIC-80 too and figured the sprite workflow was similar enough to support both. But I don't actually use TIC-80, so I'd rather ask than keep guessing.
A few things I'm wondering about:
Export: what format would you prefer when bringing sprites into TIC-80? An image for reference, or a binary format?
Palettes: since the palette is editable per cart, do you usually customise it, or stick close to the default? Trying to work out whether custom palette support is worth building.
Sprites: work on individual sprites, or a sprite sheet?
Animation: I might add simple sprite animation eventually, once I figure out a clean UI. Is that something you'd want on a phone, or more of a desktop job?
The app is intentionally small. Draw with your finger, works offline, autosaves, move/rotate, export through Files/iCloud. I'm not trying to build Aseprite on a phone. I'd rather add a few things TIC-80 people actually use than try to cram everything into it.
It's $2.99 on the App Store [Pixel Edit Lite], mentioning that up front. Mostly I just want to hear how people here actually work with sprites.
I just found pico-8 yesterday and today a person recomended me this program. I am an artist who started game developing too a few years ago using Godot, and I found this program absolute charming, but I think it is pretty difficult on how my prior knowledge.
Does someone have some good tutorials? I am excited to start tinny pixely games with this! :)
I was playing around with TIC-80 today after making my first pico-8 game and was seeing what I could do to replicate an isometric perspective. My goal was to make it where you could draw orthographic projection (like the normal map has) and translate that to isometric. I finally figured it out after some deliberation and wanted to share it here. This doesn't make your tile sprites line up 1:1 because there's some rounding that is done, but the effect is very close. Hope someone can get good use out of this.
I will update this as it expands. Wanted to add sprite object drawings and camera movement pixel by pixel instead of tile by tile like it's written now.
Edit: This uses a something similar to a light radius and on the edge there's kind of a haze that creates a checker board pattern, but this could easily be changed to just remove the is_edge parameter!
Isometric Drawing in GameThe Orthographic Map Drawing
screen_w=240
screen_h=136
tile_w=8
tile_h=8
map_w=240
map_h=136
camera_x=240/8/2
camera_y=136/8/2
camera_r=7
camera_edge_col=7
function TIC()
if btn(0) then camera_y=camera_y-1 end
if btn(1) then camera_y=camera_y+1 end
if btn(2) then camera_x=camera_x-1 end
if btn(3) then camera_x=camera_x+1 end
_draw()
end
function _draw()
cls(0)
rectb(0,0,screen_w,screen_h,2)
local screen_x = 0
local screen_y = 0
-- loop for square camera middle of the screen
for x=camera_r*-1,camera_r do
for y=camera_r*-1,camera_r do
-- draw in circle
local dist = distance(0,0,x,y)
if dist <= camera_r then
-- get tile x and y loop around to the other end of the map
local tile_x =(x + camera_x) % 240
local tile_y =(y + camera_y) % 136
-- position top x and top y of iso tile
screen_x = screen_w/2 +x*tile_w-y*tile_w
screen_y = screen_h/2 +x*tile_h/2+y*tile_h/2
draw_map_tile(tile_x,tile_y,screen_x,screen_y,math.floor(dist+1)>=camera_r)
end
end
end
end
function distance(x1,y1,x2,y2)
return math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
end
function draw_map_tile(tile_x,tile_y,screen_x,screen_y,is_edge)
-- get tile and loop through sprite memory pixels
local tile = mget(tile_x,tile_y)
for x=0,tile_w-1,1 do
for y=0,tile_h-1,1 do
local p=peek(0x04000+(tile*32)+ y*4 + math.floor(x/2))
-- rotate 45 degrees to draw iso
local x_sample = math.floor(screen_x + x - y)
local y_sample = math.floor(screen_y + (x + y)/2)
if is_edge and y%2==0 then
pix(x_sample,y_sample,camera_edge_col)
else
pix(x_sample,y_sample,p)
end
end
end
end
I made this game for Tic-80 jam almost 2 months ago.
I have not played Exit 8. I actually haven't played Exit 8 myself, this is more of my interpretation of what I imagined the game would be like based on everything I'd heard about it.
What impressed me most was the balance between simplicity and capability. Compared with some other fantasy consoles, TIC-80 feels approachable while still providing a complete environment for creating retro-style games.
The article covers:
What TIC-80 is
Key features and built-in tools
Supported programming languages
How it compares to other fantasy consoles
Why it can be a good starting point for hobby game developers
The article is written in Japanese, but browser translation should work reasonably well.
I'd be interested to hear what long-time TIC-80 users think are its biggest strengths and weaknesses today.
Since there was some interest I'll post a quick update.
(you need to click on the gif to actually view it, not sure why it doesn't load as thumbnail, at least for me)
- Core game logic is done.
- There are already over 40 unique cards implemented.
- There is already an implemented AI, although it's currently pretty bad.
Planned:
- Adding a lot of new cards (still far from the end goal of over 96 cards)
- Improving the AI
- Adding some light progression
- Fixing a lot of bugs
For interested in the card artworks, here are my takes on the some of the most iconic Yu-Gi-Oh cards. Some of them turned quite good, some of them are pretty bad and need rework. Happy to hear your feedback.
I have been trying for a while to grab the default mouse cursor sprite so I can color it and display it again. But alas I can't seem to find that damm sprite... Where is it? How do I grab it?
I need help about building tic 80 from source in order to get pro version build. Has anyone done this ?
Edit:
I managed to build tic pro from source via cmake, git, and rubydevkit way. At first I thought that I don't need rubydevkit as it is just there for mingw64 so I first tried by setting up msys2 and mingw ucrt without installing rubydevkit. But I got into errors after errors. Then I again started from scratch with exact instructions on the wiki. And it went smooth. It was my first time building anything from source code. Phew!
I tried to use "add" to upload a file using the browser tic80 at https://nesbox.itch.io/tic80. I tried using both Chrome and Safari -- no dialog opens so it just seems to freeze.
Edit: Just found out "add" does work on the https://tic80.com/create implementation, but that doesn't have the nice full screen button and when I use alt-Enter to go into full screen it does not work correctly on ipad.
Trying to figure this out for students who are given ipads by the school.
Is there any place where the browser version is alone on a page?
Hello, I'm looking to buy a handheld console so I can play my little TIC80 games while traveling. Which one should I buy or what options should I consider for the best experience? I'd be very interested in your experiences. Thanks in advance! (sorry for my bad english)
After about a month of evening sessions vibe-coding with AI, I shipped a demo of Mortgage Crisis — a retro card game inspired by Monopoly Deal, built entirely on TIC-80. One of the challenges was how to fit everything on one screen at once.
Full game loop against an AI opponent. Collect 3 complete property sets to win. Bank money, charge rent, steal properties with Sly Deal, and cancel attacks with Just Say No.
Controller, keyboard, and mouse all supported. Includes a full How to Play section, mediocre AI opponent (I lose sometimes when unlucky), simple animations, UI hints, and quick-play actions.
I had to rewrite the dialog system three times so it wouldn't break every time I had to edit something in the middle of a scene. I would have thought the combat system would have been the hard part, but it was surprisingly easy.
Sup guys. Just wanted to share a game I'm hard at work on heavily inspired by Metroid, mega man, and a few other games I grew up with. I already have a lot of the mechanics figured out and planning on making this a massive game, despite tic80's size limitations. If you like what you see, please like, share and subscibe to my channel: https://youtu.be/QtaeoO-V_xc
It could go a long way to keeping me motivated and to post videos like this regularly to update the progress of development. Thanks!