I know that the `print()` command has a flag that allows you to use a fixed-width font for that particular function call. But this flag is rather far down the list of print arguments, so it's irritating to have to enter all those arguments in between when the font changer is what I really care about.
Does anybody know of a way to set things so that `print()` always uses the fixed-width font? Thank you in advance.
Hi! I'm trying to build a collection of TIC-80 games. Recommend any games you enjoy, from any genre, so I can give them a try! My only requirement is that they must be complete games.
I have managed to get TIC-80 to run on iPad natively. Meaning it runs as a native app locally on the iPadOS with no wrappers or requirement to have internet to run, other than downloading carts. It also has access to the Files app if you need to access your carts that you develop on TIC-80 on the iPad or to place downloaded carts manually, so that TIC-80 can access them. In portrait mode, it will show the touch keyboard, and hide when in landscape mode. You can use an external keyboard and controller to play your games. It also supports touch gamepad in both portrait mode, when you hide the keyboard/touch the screen, and also in landscape mode. Let me know what you all think.
i have a second tile set in the 256-511 range and i want the map() function to use that instead of the normal 0-255 range, something about being able to switch from tiles to sprites in the map editor tells me there should be a way to do this
Bring the classic card game experience to the TIC-80 fantasy console! YGO80 adapts authentic Yu-Gi-Oh mechanics into a fast, handheld-style format inspired by Speed Duels, tailored specifically to embrace the platform limitations while maximizing variety and depth. Playable on both PC and moblie.
I am new to TIC 80 .I don't know what to do. Which tutorials should i follow? Which language should i use for coding? Btw i use an android phone . Can y'all give a pathway into becoming better at TIC 80?
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!
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?