Log In  
[back to top]


Cart #floppy_bird-4 | 2022-03-08 | Code ▽ | Embed ▽ | No License
9

This is a clone of the infamous Flappy Bird, complete with detailed graphics and 60fps gameplay, and scrunched down to under 560 characters. Any feedback about the controls or physics is welcome.

Controls: Press any button to fly upward/restart

Version 1.1 - Added high score and a brief pause before gravity kicks in on restart.

9
1 comment



Cart #pm_contra_demo-3 | 2024-01-16 | Code ▽ | Embed ▽ | No License
182

Cart #pm_smw_demo-3 | 2024-01-16 | Code ▽ | Embed ▽ | No License
182

Cart #picomap-16 | 2024-01-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
182

Cart #pm_testcart-4 | 2024-01-16 | Code ▽ | Embed ▽ | No License
182

[ Continue Reading.. ]

182
99 comments



I've lately been working with image compression routines which output strings, and I've been able to increase efficiency and versatility by using as wide a range of characters to store data as possible. I've grown a bit frustrated at times, though, because any strings which use Puny font characters don't show up correctly unless I go into Puny Font mode. There have been a number of times I couldn't get things to work, and spent time debugging my code, only to realize that the problem was that I forgot to press Ctrl+P.

I know it's not a big issue, and it can be worked around, but it's kind of inconsistent how strings can be created with Puny characters at any time, but you have to enter a certain mode to view the output correctly. Is it possible this could be changed without breaking some other feature? I mean, is there any way to let the program know that a string has been created by Pico-8 and therefore display it as intended?

6
6 comments



Cart #chrprinter-4 | 2023-07-31 | Code ▽ | Embed ▽ | No License
12

v1.1 -- Added ability to clear output string by pressing Z
v1.2 -- Removed characters 0-15 as Pico-8 0.2.2 made these unusable, tweaked appearance
v1.3 -- Added characters 0-15 as code comments so they can be copied and pasted manually

This is a little tool for easily selecting and outputting characters from Pico 8's extended character set. You can build strings of any length and paste them as text using Ctrl+V or a right mouse click (on the BBS, you have to press Ctrl+C as well). I had some fun making it look like a version of the Pico-8 code editor with text characters as the icons, and since it's a pretty small program, I squeezed it down to fit in a tweet =).

Controls:

[ Continue Reading.. ]

12
6 comments



Cart #tidx-7 | 2021-06-22 | Code ▽ | Embed ▽ | No License
19

Version 1.1 - Reworked code and squeezed in invader animation
Version 1.2 - Invader shots now target player, tweaked barriers, fixed disappearing score glitch

This is a port of the original arcade Space Invaders in just over half a kilobyte. I had to simplify a few things, like only having one invader type, cutting the UFO, and rethinking the lives system a little bit, but most of the major elements are there, and I think it plays fairly well.

Features:

  • Score system
  • Level Progression
  • Enemy Animation
  • Enemy Fire with homing shots
  • Destructible barriers
  • Increasing invader speed and fire rate as number destroyed increases
  • Damage system (your laser cannon changes colors after taking a hit, and will be destroyed after 3)

[ Continue Reading.. ]

19
3 comments



Cart #ti-4 | 2020-11-20 | Code ▽ | Embed ▽ | No License
5


This is something I've been working on here and there for a while, but the jam was finally an excuse to finish it. It's a simple space invaders clone in a single tweet. There's no enemy fire or shields, but the invaders do speed up as you destroy more of them, and it's tricky to take the last few out.;)

Version 1.1 - new enemy wave begins when current wave is destroyed

5
2 comments



Cart #tweetpaint1_0-2 | 2020-11-11 | Code ▽ | Embed ▽ | No License
10

Version 1.1 -- Updated for TweetTweetJam5, added square brush feature and tweaked appearance

This is a fully-functional painting program with image save capability in just 277 characters. It's built entirely around mouse controls, and requires a mouse with a scroll wheel for full functionality. Hope somebody enjoys playing around with it.

Controls:

Left mouse button ---- Paint
Right mouse button --- Select paint color (hold and move mouse L/R)
Middle Mouse button -- Save drawing to cart
Scroll wheel --------- Change paintbrush size
X key (hold) --------- Use square brush

10
1 comment



Cart #srs1_0-2 | 2020-10-30 | Code ▽ | Embed ▽ | No License
8

This is a compact and efficient system that enables recoloring of sprite graphics. For just 76 tokens, plus any function calls and data strings, you can easily change the color palettes of level tiles or characters based on an arbitrary number of conditions, and even animate them using color cycling. These kinds of techniques were used extensively in games for consoles like the NES to increase graphical variety while conserving memory space. The cart explains the syntax of the data strings and includes a simple demo of what the system can do.

8
4 comments



Cart #atc1-0 | 2020-10-27 | Code ▽ | Embed ▽ | No License
13


This is a little exercise in code optimization, a fully-functional analog clock in just 196 characters. I'm thinking I might add some features in the future while still keeping it under the 280-character limit, but for now it works just fine.

13
2 comments



Cart #msd1_0-1 | 2020-09-06 | Code ▽ | Embed ▽ | No License
70

This is a demo for a way to store console-size game worlds on a Pico-8 cart, which later became my PicoMap system. It contains every level and sublevel map from the original Super Mario Bros., and you can run and jump through all of them. There's no level progression, sound, or things to interact with besides platforms, but the map data includes placeholders for enemy spawn points and interactive objects, just uncomment a line in the init() function to make these visible. I'm not planning to release the finished game, as I don't want it to be taken down for copyright reasons, but I wanted to show some definitive proof that large-scale games are possible on Pico-8.

Controls:

L/R-------Move

[ Continue Reading.. ]

70
21 comments



Cart #lgrs2_0-0 | 2020-11-29 | Code ▽ | Embed ▽ | No License
34


Cart #lrs_1_0-0 | 2020-07-15 | Code ▽ | Embed ▽ | No License
34

Version 2.0 --New system with much-improved ease-of-use and flexibility in one tiny, 74-token function!

With Pico-8's small spritesheet, many game makers who want a nice title screen are forced to either give up valuable sprite space for a custom-drawn logo, or use a tiny one and zoom in so it but looks very pixelated. Occasionally, someone will use a more advanced method to store images, such as Zep's PX9 or dw817's compression programs. These work well, but the minimum cost of 1000+ characters and 280+ tokens for decompression plus prite sheet rewriting, and/or screen-filling compressed strings can be overkill for many projects, so I came up with my own alternatives.

[ Continue Reading.. ]

34
11 comments



Lately I've heard bits here and there about a new function called unpack that seems to have some significant benefits, but after searching the BBS, the Pico 8 Wiki, and Google, I've barely been able to come up with any solid infomation on it or how to use it.

If someone could point me in the right direction, I'd much appreciate it.

1
5 comments



Cart #sia01-0 | 2020-06-16 | Code ▽ | Embed ▽ | No License
7


Yes, this is yet another version of Space Invaders, but with this one I'm going for a direct port of the original arcade game. It's mostly complete, with functional gameplay and a working high score save system, but it needs some gameplay tweaks and a few graphical elements, and the sound effects are very much unfinished (I'm working on a version of the 4-tone march using subtones, but haven't ironed out the glitches yet). Anyway, in addition to going for authenticity, I also tried to code this very efficiently, and the whole game (including all graphics and sound), takes under 3KB and only about 1100 tokens.

Any constructive criticism and general feedback is welcome, thanks.

Controls:
L/R------Move cannon
X--------Fire

7
5 comments



Cart #cbex-6 | 2023-03-04 | Code ▽ | Embed ▽ | No License
9

Version History


Version 1.1-- Managed to shrink code to under 560 characters, making this a tweettweetcart
Version 1.2-- Fixed game over glitch, improved HUD
Version 1.3-- Removed lives (falling just sends you back to last checkpoint), added control tutorials and background decorations, tweaked controls
Version 1.4-- Fixed crashing caused by Pico-8 updates and some small bugs, added minimalistic parallax scrolling

Join Squirt as he jumps and bounces in the sky through varying times of day, on his way to Cloud Land.

Controls:

Left/Right--------------Move
Hold Z------------------Small bounce
Hold X------------------Regular bounce

[ Continue Reading.. ]

9
7 comments



Cart #tweetris1_1-3 | 2021-09-06 | Code ▽ | Embed ▽ | No License
20

Version 1.1: Fixed game over glitch that could occur when pieces were rotated the moment they appeared, pieces can now be rotated clockwise and counterclockwise.

This is a fully playable version of Tetris in fewer characters than a moderate-length email, including:

  • Line removal
  • Level progression (speed increases after every 10 lines cleared)
  • 'Lines cleared' display
  • CW and CCW piece rotation
  • Soft drop button (with slight delay when next piece appears)

Controls:
L/R-------move piece
Down------soft drop
X-------rotate piece clockwise
O-------rotate piece counterclockwise

Fitting everything in this small a space was pretty tough. I had to cut a few corners, like leaving out the next piece preview, as well as logic to allow movement of blocks once they land, so overhangs are a nuisance. With all that said, though, I worked hard trying to make this an actually decent version of tetris and not just a technical curiousity, so hopefully somebody actually enjoys playing it instead of just staring at the indecipherable souce code. Shoutout to 2dArray, whose Tweetjam Tetris and its genius piece indexing system I built on for this project.

20
4 comments



Cart #avalanche_02-0 | 2020-05-06 | Code ▽ | Embed ▽ | No License
2

Version 0.2 - Now has definite fail state with timer stop, and recolored graphics

Avalanche!

You are a ground-based defense drone at a top-secret research base inexplicably located by a mountain prone to avalanches. When a tidal wave of snow and ice rushes toward you, you must use your cannon to vaporize it, keeping it at bay for as long as possible so the base staff can get to safety. How long can you hold out?

Controls:
L/R------Move drone
X--------Fire cannon

This is the unintended result of trying to cram a minimalistic space invaders clone into 280 characters. I couldn't figure out how to fit code for individual enemies, but an advancing amorphous mass was just doable. Hopefully it turned out alright on its own terms, and I welcome any feedback or criticism. Warning, though, this can get a bit nerve-wracking. o_O

2
0 comments



After discussing base64 encoding in a recent thread, I decided to try my own version of it for storing level strings, but after some experimentation I started wondering how much of a storage benefit it really offers vs. hexidecimal. I also came across an old post from user Overkill from 2016, in which he concludes that unfavorable interaction with Pico-8's built-in compression basically negates base64's byte-per-character advantage.

https://www.lexaloffle.com/bbs/?tid=3738

I decided to perform a test of my own to measure the difference precisely. To do this, I used some web-based tools to generate random strings, using both hexidecimal and my own base64 character set, which uses as many 1-byte characters as possible (59, to be specific -- certain characters like small caps and glyphs use 2 bytes). I generated very large strings and pared them down just enough to fill the compressed data limit to 100.00% using each character set. I performed 3 trials each, recording how many characters would fit for each encoding type, then averaged these amounts for a general comparison. Results are as follows:

[ Continue Reading.. ]

1
3 comments



Cart #cloud_bounce-0 | 2021-02-06 | Code ▽ | Embed ▽ | No License
4

Join Squirt as he jumps and bounces in the sky through varying times of day, on his way to Cloud Land.

Features character and level animation, 60fps gameplay, over 150 unique screens of platforming, and a simple ending-- all in under 280 characters!

Controls:

Left/Right---Move
Z------------Small bounce
X------------Regular bounce
Z+X----------Super bounce
Reset Cart---Retry

This is the first game I made for Pico-8 (or for any platform, for that matter...). I wasn't originally planning to try and fit a game in this small a size, I was just working on a platformer game test, but then I came across the concept of tweetcarts and things went in an unexpected direction. I planned to upload the release version a long time ago, but wanted to fit a couple more things in.

4
3 comments



Hello, first post here.

I just got started with Pico-8 recently, and have learned about the usefulness of storing data in strings to get around token limits. I was wondering, can I build a data string using a p8 program, then output that string as text that can be fed into another p8 program without it being reformatted? I'm working on a graphical level-editor program that will output level data strings usable by another cart.

I tried using printh(), but when I opened the text file it mangled up the extended character glyphs and didn't preserve the 4x3 font lower-case letters I had in the string. My goal is to have all 121 characters available so I can store about 7 bits per character, instead of the 4 possible with hexadecimal, if this is possible.

Thanks.

7 comments