Log In  

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

Cart #freezing_knights-9 | 2023-08-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
260

Freezing Knights

A light co-op turn-based RPG

Take control of two knights and try to reach the end of the perilous snowy mountain paths​ by avoiding enemy attacks and powering-up your characters.

Features

● Single-player and two-player modes
● 14 music tracks by @ohhcurtains
● 30 enemy encounters
● 11 unique enemies (+1 ???)
● Customizable character builds
● Multiple paths
● Optional hard mode
● 🐔🐔🐔

Controls

Keyboard

[ Continue Reading.. ]

260
50 comments


Cart #thekingdomofwilder-0 | 2022-12-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
1 comment


Loop Dude out now on Lexaloffle!

Cart #l00p_dude-0 | 2022-12-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
23

Hey all!
Sorry for the long wait! I had been meaning to publish this cart to these forums, but I hadn't remembered to do so until now.

It's been more than half a year after its debut in Black and White Jam #8 on itch.io, and there's really no excuse as to why it took so long for me to publish it here. While the game only placed about 51/344 overall in the jam results, I'm still pretty proud of it's placing in the "Gameplay" category: 16/344! That's pretty high considering this was my first ever game jam, and I'm looking forward to doing another one someday (when I find time, of course).

The gameplay is simple: It's a puzzle platformer with a grab feature inspired by Super Mario World. The game jam's theme was "Loop," but I'll leave you to finding out how I incorporated the theme! :)

[ Continue Reading.. ]

23
8 comments


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

I was going to wait to post this until the weekend, but I have no self-control. 😅 Enjoy the rest of your week, everyone!

15
4 comments


Cart #naharana-0 | 2022-11-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Cart #naharana-0 | 2022-11-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment




Cart #cookieclicker-1 | 2022-12-16 | Code ▽ | Embed ▽ | No License
2


A demake of Cookie Clicker I made to practice making games in pico-8.
Update: Made cookie bigger, added animations, added sounds, added music, added "mini cookies".

2
4 comments


Hello.

This is what I hope is a pretty simple request, @zep.

Currently if you click PLAY on any Pico-8 project included in a BBS post, it is up to the user, me, to manually scroll the screen so it all fits as it can definitely be just half-on the screen.

Could you please automatically scroll and center the Pico-8 window when you click the PLAY button so we don't have to ?

Also to have an option to sleep or not. That is if the cursor ever leaves the Pico-8 frame while being run from a BBS, it could go silent and freeze up or run as normal, through user configuration.

Thanks !

1
0 comments


Cart #jelpilvl2-0 | 2022-12-15 | Code ▽ | Embed ▽ | No License
13

13
3 comments


Currently doing some prep work for a video. Went through the changelog and I wanted to report two issues.

  1. I noticed this change in v0.2.4c
Fixed: exported label alpha is 0 for colour 0

Seems like this bug persists. This is what the Porklike cart image looks like exported with v0.2.5e

  1. It is possible to export a cart image that features "secret" colors. However, this doesn't work in reverse. If you re-import that very same file the "secret" colors revert to the default palette. Would love for this function to support the full color range.

left: Shape of Mind cart image exported in v0.2.5e
right: what the p8.png looks like if you re-import that same image

Obviously, not a high-priory issue. But might be worth looking into at the next convenient opportunity.

2
0 comments


Cart #santascouts-5 | 2022-12-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
13

This is the year you find out if Santa is really real. You and your siblings are staying up late to finally get proof. The light are out, but you're not scared!

Game Play

Requires mouse. Hold down left mouse button to turn on flashlight. Drag mouse across screen to catch Santa in the act. Press ❎ to snap a picture.

Credits

Up on the Housetop composed by Benjamin Hanby
Midilib flute by @ericb https://www.lexaloffle.com/bbs/?tid=49487
Flashlight effect informed by @Krystman https://www.lexaloffle.com/bbs/?tid=46286
Fizzle fader borrowed from @DrPete https://www.lexaloffle.com/bbs/?tid=29862
Everything else by @bikibird

Created for the

[ Continue Reading.. ]

13
3 comments


Cart #chatgpt_chase-1 | 2022-12-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

My second ChatGPT game.
I will note any changes I made to its code but otherwise, all code and comments were created by ChatGPT with prompts in order listed.

Prompts:

  • Pico-8 basic game code
  • Add player using pset, with movement control
  • Add enemy at random spot at the edge of the screen, enemy should attack player within 30 pixels
  • Player shoots at enemy using pset
  • Enemy moves toward middle of screen
  • What should I add to my game?
    • It told me to add player and enemy health text display and something to happen when player or enemy dies
  • Add health display
  • How can I improve this code?
    • It said:
      • Add more enemy types, each with their own behavior and appearance. For example, you could add a faster enemy that moves towards the player even if they are not close, or a stronger enemy that takes more hits to defeat.

[ Continue Reading.. ]

1
3 comments


Some usernames have spaces in them and thus are impossible to @ (Alex K. for example). I thought while creating an account it didn't even let you add spaces anyways so I don't know how they got those usernames. Not sure exactly how it could be fixed but it's annoying trying to reply to somebody who is literally impossible to reply to.

4
3 comments


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


I've been building a game via the API, and in my quest to figure out what savegame systems I can use (if any) I wrote a little script to dump the contents of _ENV. This seems to list the API, both documented and otherwise, so I thought folks might find it useful.

So far the only undocumented feature I've found and successfully used is clip3d, which you can use to set a clipping volume for subsequent voxel rendering operations. It doesn't seem to get reset every time you run a game, so be sure to clean up after yourself :)

Parameters seem to be x0, y0, z0, x1, y1, z1

Anyway, here's the rest of the dump:
[hidden]
flip: [function]
trace: [function]
__type: [function]
_activate_objects_yieldable: [function]
_activate_objects: [function]
_add_method: [function]
_add_val_names_from_table: [function]
_blit: [function]
_class_16: table: 0x1cc93810
_class_func_16: [function]
_clear_all_lua_data: [function]
_draw_legacy_hud: [function]
_draw_map: [function]
_draw_messages: [function]
_draw_objects_yieldable: [function]
_draw_objects: [function]
_draw: [function]
_end_of_program: 1
_extract_upvalues: [function]
_fetch_function_by_name: [function]
_fetch_table_by_name: [function]
_functions_at_boot: [table]
_G: [table]
_get_frames_skipped: [function]
_get_menu_item_selected: [function]
_get_newable_elf_class: [function]
_get_num_elves: [function]
_get_world_actors: [function]
_head_id: -2
_init_room_state_instances: [function]
_last_room_at_draw: table: 0x1cc93798
_mainloop: [function]
_mark_actor_newed: [function]
_mark_cpu: [function]
_menuitem: [function]
_move_all_elves_yieldable: [function]
_move_room_flow: [function]
_move_world_post: [function]
_move_world: [function]
_mt_actor: [table]
_mt_resource: [table]
_name_val: [table]
_non_saveable: [table]
_num_functions: 295
_obj_4: table: 0x1cc93798
_p8_program: [function]
_pausemenu: [table]
_read_global_variables: [function]
_read_world_objects: [function]
_record_callback_bits: [function]
_record_functions_at_boot: [function]
_record_table_functions: [function]
_remove_dead_objects: [function]
_restore_upvalues: [function]
_set_fps: [function]
_set_mainloop_exists: [function]
_spawn_worker: [function]
_startframe: [function]
_uc: 2
_update_buttons: [function]
_update_multi: [function]
_update_objects: [function]
_update_voxatron_buttons: [function]
_update120: [function]
_update60: [function]
_val_name: [table]
_validate_head_class: [function]
_VERSION: Lua 5.2
_vvmp_id: 16
_write_global_variables: [function]
_write_world_objects: [function]
?: -1632.5
?: -18402.5
?: -19008.5
?: -20032.5
?: -20128.5
?: -20192.5
?: -24351.5
?: -2560.5
?: -25792.5
?: -26208.5
?: -2624.5
?: 0
?: 0.5
?: 1
?: 2
?: 20767.5
?: 20927.5
?: 21845.5
?: 23130.5
?: 3
?: 31455.5
?: 32125.5
?: 3855.5
?: 4
?: 5
?: 6943.5
abs: [function]
add: [function]
all: [function]
ANIMATION: 8
assert: [function]
atan2: [function]
ATOMIZE_ON_DEATH: 0.0043
ATTACK_BOTTOM: 0.0041
ATTACK_DAMAGE: 15
ATTACK_SIDES: 0.004
ATTACK_TOP: 0.004
band: [function]
BASE_P0: 8
BASE_P1: 9
BASE_TYPE: 7
bbsreq: [function]
blit_voxmap: [function]
bnot: [function]
bor: [function]
BOUNCE: 21
box: [function]
boxfill: [function]
btn: [function]
btnp: [function]
BULLET: 9
button_pressed: [function]
button: [function]
bxor: [function]
camera: [function]
cartdata: [function]
cd: [function]
ceil: [function]
chr: [function]
circ: [function]
circfill: [function]
clip: [function]
clip3d: [function]
cls: [function]
clv: [function]
cocreate: [function]
COLLECT_BOTTOM: 0.0041
COLLECT_SIDES: 0.004
COLLECT_TOP: 0.004
collectgarbage: [function]
COLLIDE_BULLETS: 0.0041
COLLIDE_GROUND: 0.0041
COLLIDE_PARENT: 0.0043
COLLIDE_SIBLINGS: 0.0043
color: [function]
coresume: [function]
cos: [function]
costatus: [function]
COUNT_AS_MONSTER: 0.0042
count: [function]
cstore: [function]
cursor: [function]
del: [function]
deli: [function]
DENSITY: 5
dget: [function]
dofile: [function]
DOOR: 4
draw_voxmap: [function]
dset: [function]
EMITTER: 10
error: [function]
exit: [function]
EXPEL_ACTORS: 20.0042
EXPLODE_ON_DEATH: 0.0042
export: [function]
extcmd: [function]
FACING_TURN_SPEED: 17
fget: [function]
fillp: [function]
flip: [function]
flr: [function]
folder: [function]
foreach: [function]
FRICTION: 11
fset: [function]
get_actors: [function]
get_display_camera: [function]
get_id: [function]
get_key_type_index: [function]
get_room: [function]
get_type_index: [function]
get_value_string: [function]
get_world_camera: [function]
getmetatable: [function]
GRAVITY: 14
HEADING_TURN_SPEED: 18
HEIGHT: 4
help: [function]
HOISTABLE: 0.004
holdframe: [function]
import: [function]
info: [function]
init_id_table: [function]
init_val_name_table: [function]
io_read_boolean: [function]
io_read_int32: [function]
io_read_string: [function]
io_read_uint8: [function]
io_write_boolean: [function]
io_write_int32: [function]
io_write_string: [function]
io_write_uint8: [function]
ipairs: [function]
is_array_key: [function]
is_valid: [function]
JUMP_FREQ: 10
JUMP_HEIGHT: 9
LENGTH: 3
line: [function]
line3d: [function]
LIQUID_Z: 9
load_checkpoint: [function]
load: [function]
loadfile: [function]
LOCK_FACING: 0.004
LOCK_X: 0.004
LOCK_Y: 0.004
LOCK_Z: 0.004
login: [function]
logout: [function]
ls: [function]
lshr: [function]
mag: [function]
map: [function]
mapdraw: [function]
max: [function]
memcpy: [function]
memset: [function]
menuitem: [function]
mget: [function]
mid: [function]
min: [function]
mkdir: [function]
MONSTER: 7
MORTALITY: 7
MOVE_STYLE_P: 19
MOVE_STYLE: 12
mset: [function]
music: [function]
MUSIC: 11
next: [function]
ord: [function]
oval: [function]
ovalfill: [function]
pack: [function]
pairs: [function]
pal: [function]
palt: [function]
pcall: [function]
peek: [function]
peek2: [function]
peek4: [function]
pget: [function]
PICKUP: 5
play_music: [function]
play_sound: [function]
PLAYER: 6
POINTS: 6
poke: [function]
poke2: [function]
poke4: [function]
print_table: [function]
print: [function]
printable: [function]
printh: [function]
printio: [function]
PROP: 0
pset: [function]
PUSHABLE: 0.0039
radio: [function]
rawequal: [function]
rawget: [function]
rawlen: [function]
rawset: [function]
read_key: [function]
read_table: [function]
read_value: [function]
record_non_saveables: [function]
rect: [function]
rectfill: [function]
reload: [function]
reset: [function]
rnd: [function]
ROOM: 1
rotl: [function]
rotr: [function]
run: [function]
save_checkpoint: [function]
save: [function]
scoresub: [function]
select: [function]
serial: [function]
set_display_camera: [function]
set_draw_slice: [function]
set_draw_target: [function]
set_map_draw_mode: [function]
set_pico8_cart: [function]
set_room: [function]
set_world_camera: [function]
setmetatable: [function]
sfx: [function]
sget: [function]
sgn: [function]
shl: [function]
shr: [function]
shutdown: [function]
sin: [function]
SOUND: 12
spawn: [function]
SPEED: 8
sphere: [function]
split: [function]
spr: [function]
SPREAD_OUT: 0.0042
sqrt: [function]
srand: [function]
sset: [function]
sspr: [function]
STANDABLE: 0.0039
stat: [function]
stop_music: [function]
stop_sound: [function]
stop: [function]
sub: [function]
t: [function]
TEAM: 13
test_obj_1: [function]
THROWABLE: 0.0039
ti: 4
time: [function]
tline: [function]
tonum: [function]
tonumber: [function]
tostr: [function]
tostring: [function]
total: 0
trace: [function]
TURN_SPEED: 18
TURN_STYLE: 16
type: [function]
unpack: [function]
vget: [function]
vset: [function]
WIDTH: 2
write_key: [function]
write_literal: [function]
write_table: [function]
write_value: [function]
xpcall: [function]
yield: [function]

[ Continue Reading.. ]

1
3 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




Top    Load More Posts ->