Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

Hello.

As I'm experimenting with 8-bit compression, I came across an anomaly that I feel deserves some attention.

Try this code:

cls()
a=chr(6)
b="⁶"
?ord(a)
?ord(b)

I created the ⁶ by typing in immediate mode, printh(chr(6),"@clip") and then in the source-code pressing CTRL+V.

My question is how can BOTH of these be the same character and - is this an error of some kind ?

Because if you type out in immediate mode, print(chr(6)) you won't get that symbol back. You can only get that symbol if you use printh()

Because if for some reason this is correct, it means that you are NOT saving a single byte per character in your source-code, that you are in fact using an extended unknown set to create that special character of 6, yes ?

The bug is this. You cannot get a visual for printing a character < ASCII of 16, however you CAN if you transfer it solely to the clipboard and then use CTRL+V. There is still no way to print it. It should appear either way you access it for output or at least give you an option of doing so with an obscure poke() or direct extcmd().

[ Continue Reading.. ]

1
10 comments


Cart #dammit-0 | 2022-12-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

6
2 comments


[sfx]

Cart #hobenibeju-0 | 2022-12-15 | Code ▽ | Embed ▽ | No License
11

Earthbound-inspired battle music.

11
1 comment


Previously, gonengazit found some infinite token exploits here and zep fixed them, but looks like they're not all gone yet - I stumbled upon one that still happens:

x=[[[[]]
 put your infinite tokens here...
--]]

Seems like it happens because pico8 supports recursive block comments, and uses the same code to also parse long strings recursively.

But lua then parses the long string non-recursively and executes the code that pico8 thought was part of the string.

Pico8 probably should only parse block comments recursively, not long strings.

5
1 comment


Hello.
I did a fresh install of PICO-8 0.2.5E. I then ran `INSTALL_GAMES".
"Frog Home" has a syntax error and can't start.
See on the cart page: https://www.lexaloffle.com/bbs/?tid=2796

Looks like local dy+=... should be replaced with dy+=.... Did something change with how PICO-8 processes locals?

1
3 comments


Port of PICO-8 Celeste to Retro Gadgets

Retro Gadgets is a video game about building all sorts of retro-styled devices with all the clicky buttons and other goodies, and I noticed two things:

  1. The screens have a square aspect ratio
  2. The CPUs are programmed with Lua

Commence bad idea.

After a week or so of borderline masochism, I managed to port PICO-8 Celeste to Retro Gadgets using the original Lua code, spritesheets, music and sound data, along with writing some quick scripts to do syntax conversion from PICO-8 Lua to standard Lua, and to get the map and flag data out.

The entire game is beatable from start to finish, and functions identically to the PICO-8 version apart from minor visual quirks.

Retro Gadgets: https://store.steampowered.com/app/1730260/Retro_Gadgets/
My Celeste gadget for Retro Gadgets: https://steamcommunity.com/sharedfiles/filedetails/?id=2899096562

Technical details:

  • Partial reimplementation of the PICO-8 API (only the bare minimum Celeste requires)

[ Continue Reading.. ]

4
6 comments


Out of curiosity, I was testing to confirm that the new limit on length of audio recordings via extcmd("audio_rec") was per-instance and not per-session ... and discovered that the length of recording I got was 2 minutes instead of the 8 minutes listed in the v0.2.5d changelog.

An 8-minute limit makes sense to me but a 2-minute one doesn't, so I'm assuming this is an error of some sort.

edit: confirmed fixed in v0.2.5g.

2
2 comments


Revising my previous post and reopening as this now does seem like some kind of bug introduced in 0.2.5d/e.

On PICO-8 0.2.5e Raspberry Pi build running on EmuELEC 4.6 on the Gameforce Chi, select any local PICO-8 game from the game collection. You hear the PICO-8 startup sound and can even control the games (verified by pressing X to start a game and hearing the game music/sounds), but the screen on the Gameforce just shows "Loading..." even though everything is clearly loaded.

Originally I had marked this as not a PICO-8 bug, but it does now seem to be a bug introduced in the latest version. I first rolled back to 0.2.4c, which was the version I had been running previously, and it worked fine. Then I updated to 0.2.5c, and that also didn't exhibit this behavior. Updating once again to 0.2.5e reintroduces this behavior - games load, startup sounds play, game controls work, pause menu works, but PICO-8 is not drawn to the screen.

I'm not sure whether this is specific to EmuELEC with the Raspberry Pi build or if it's also an issue running on a Raspberry Pi (my Pi is currently in storage so I can't test it). Happy to try & dig anything out of the EmuELEC log files that might be helpful for debugging!

4
35 comments


Cart #puzstelstorm-1 | 2023-12-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Puzstel Storm
A match-3 puzzle game featuring Pastel Storm and friends.

How to Play

Use the arrow keys to move the cursor and press Z to swap tiles.

Arrange the tiles to create matching groups of 3 or more.

After every 5th swap, the matching groups will break, awarding you 5 points per tile.

The remaining tiles will fall and new ones will enter from the top.

Chaining

If the falling tiles create a new matching group, a chain starts. A 2-chain is worth double points, and a 3-chain is triple points etc...

[ Continue Reading.. ]

8
4 comments


Cart #mittens-7 | 2022-12-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
25

~Mittens~

A City Park Snowglobe by ohhcurtains
A link to play the game on itch.io

Feed the birds, sit on benches, and search for your grandson's lost mittens.

Relax and explore a pretty pixel-art park underneath a flock of cardinals which display flocking behaviors.

Created for the Advent Calendar Jam 2022.

~Controls~

⬆️⬇️⬅️➡️: Walk
🅾️: Throw Bread
❎: Confirm/Interact

~Thanks~

bikibird
TheTomster
tinyevilwizard

25
8 comments


Cart #advent2022-13 | 2022-12-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
35

We're back with another 12 days of PICO-8 surprises. Every day a different game, animation, or coal-related nonsense will be revealed!

Happy Holidays!

Dec 14th: Mittens by ohhcurtains - https://www.lexaloffle.com/bbs/?tid=50645
Dec 15th: Santa Scouts by bikibird - https://www.lexaloffle.com/bbs/?tid=50669
Dec 16th: Freezing Knights by tinyevilwizard - https://www.lexaloffle.com/bbs/?tid=50683
Dec 17th: Avery's Angling Adventure by TheTomster - https://www.lexaloffle.com/bbs/?tid=50691
Dec 18th: Puffy Coats by bikibird - https://www.lexaloffle.com/bbs/?tid=50699
Dec 19th: Santa's Elf Workout by tinyevilwizard - https://www.lexaloffle.com/bbs/?tid=50717

[ Continue Reading.. ]

35
5 comments


Sharing this post I wrote up a few days ago for cleaning up my code and reducing token costs:

https://blog.giovanh.com/blog/2022/12/11/jinja2-as-a-pico-8-preprocessor/

In summary:

  • Constants would be a very useful language feature to have
  • Pico-8 doesn't have it and doesn't let you extend its preprocessor
  • You can roll your own and it works great
2
1 comment


Cart #quantattack_title-7 | 2023-05-27 | Code ▽ | Embed ▽ | No License
32

Controls

  • Arrow keys: move the cursor
  • X: swap blocks
  • C: manually raise blocks

Overview

QuantAttack is a match-2 type action puzzle game. Blocks are cleared by lining up two blocks of the same type vertically.

While the basic rules are this simple, QuantAttack introduces a fresh twist on block-clearing puzzlers. Some blocks are unique, and players must discover hidden patterns to clear them.

There are more than 40 patterns of such block combinations, and finding and mastering them is the fastest way to improve.

[ Continue Reading.. ]

32
8 comments


I found a minor (except that to me it's kinda major) bug concerning puny font.

It seems to only affect PICO-8 when loading or reloading - whenever I save in an external source and reload, or when I boot up the console, all the puny font disappears.

EDIT: Never mind, turns out it was that _ENV thing. Thanks zep lexaloffle!

0 comments


edit after 0.2.5e

The cart works fine in local 0.2.5e PICO-8, but uploading to the BBS (i.e. inserting in this post) is still broken. I think the _ENV is being changed to _env still by some processing after upload(?).

earlier post

The following prints out 1 twice on 0.2.5c, but crashes on 0.2.5d with:

runtime error line 10 tab 0
return function_a(_ENV)
attempt to call global 'func_a'
(a nil value)
in func_b line 10 (tab 0)
at line 17 (tab 0)

Cart #rudekiwobu-2 | 2022-12-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Code:

function get_thing()
	return {
		func_a=function(_ENV)
			return 1
		end,
		func_b=function(_ENV)
			return func_a(_ENV)
		end
	}
end

thing=get_thing()

print(thing:func_a())
print(thing:func_b())

Makes some of the OO/class stuff (based on https://www.lexaloffle.com/bbs/?pid=116282) that I've been doing a little limited.

0 comments


Cart #kofajemop-0 | 2022-12-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Its War!
Just press Z... that's it.
This cartridge was mostly to make a quick n' dirty card library and use it in practice.

You can enable/disable auto mode in the pause menu (auto mode stops when a game ends).
When you finish a game you can press X to start a new game.

1
3 comments


The _env (lower case) keyword is no longer supported:

example cart: https://www.lexaloffle.com/bbs/?tid=48907

likely a general bugs on upper/lower case remapping.

2
1 comment


Tiny Code Christmas

LoveByte’s Tiny Code Christmas is an event to help you take your first steps in demoscene sizecoding with Lua based fantasy consoles like TIC-80 and PICO-8!

Over 12 days, from the 12th to the 23rd of December, learn the effects and techniques used in Byte Jams, Byte Battles, and Tiny Intros!

About Tiny Code Christmas

Join us for 12 days of tiny challenges to gradually introduce you to size coding and effects!
A new video will be released each day to introduce a new concept and outline the challenge.

A little bit of programming knowledge will help but you don’t need a lot. The challenges will introduce demoscene concepts without jargon so it is friendly for newcomers to the scene! Tell your friends!

Sharing is caring!

If you feel like it, why not share what you’ve done with us on the LoveByte Discord,

[ Continue Reading.. ]

8
2 comments


Hey all! Time for some more bugfixes and esoteric features / QOL improvements to finish off 0.2.5*. And thanks to some snippets from @samhocevar's excellent z8lua, some cleaner code parsing. PICO-8 0.2.5d is now up on lexaloffle, Humble, itch.io, and for PocketCHIP and web (Education Edition).

0.2.5e

0.2.5e fixes a bug in the loader that causes uppercase characters to not be loaded as punyfont (e.g. breaking _ENV).

0.2.5d

Added: tline(bits) to set number of bits used for fractional part of mx,my,mdx,mdy (13 by default)
Added: ctrl+mousewheel to scroll code horizontally
Added: current bbs cartridge id shown in window title (config.txt show_cart_id_in_title to disable)
Added: poke(0x5f36, (@0x5f36)|0x80) to enable character wrap by default when printing
Added: blit_method in config.txt // Can use a software blitter by default (slower but more reliable)
Added: reminder when re-locating sprites that only the top half of map is altered by default
Added: draw boot sound as note glyphs on startup when sound is off
Changed: print() returns both max(cur_x), max(cur_y) and includes non-printed characters (e.g. tabs)
Changed: extcmd("folder") and extcmd("set_title", "foo") can now be used from bbs carts
Changed: Indexing a string out of range returns nil (was "")
Changed: Replaced most of pre-processor with Lua parser modifications based on z8lua (fixes various edge cases)
Changed: "a

[ Continue Reading.. ]

41
20 comments


Cart #tupapobire-0 | 2022-12-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


Updated game. Now contains:
1.) Splash screen
2.) Title (press x) screen
3.) Scoring
4.) Working power boost

6
4 comments




Top    Load More Posts ->