im too tired to write a full description right now. i might come back and update this later. it's not like theres anything too complicated here though, there aren't any tricks and there's only a few clever optimizations. one thing about this game is that if you land on the ground and then walk off a ledge on the next frame, the game lets you keep all your falling momentum. this lets you enter the sewers quicker by doing a frame perfect input to open the grate. most of the early bossfights can be done without slowing down at all. pipe worker is a hard bossfight, but it can be beaten without slowing down with perfectly timed damage boosts, and by moving to the right side of the bullet box so that you can move past the bullets as soon as possible. since the bullets are fired towards you, you have to carefully manipulate their positions so that they don't get in your way during the chain attack. in crown smith, you get the ability to block pink bullets by pressing z. this ability causes you to move at half speed, which is kind of annoying but it also allows me to fine tune my position and dodge bullets more precisely. in pacemaker, im able to squeeze through the line of bullets in the middle of the screen without taking damage by pressing z and then moving over by a half pixel. blueprint was the hardest boss to optimize by far. it has a lot of rng, the bullets at the start of each attack cycle are almost impossible to dodge, and it can only be dodged at the corners. i fortunately found a movement pattern that let me avoid taking damage a second time in the first attack that only cost me one frame, and having an extra damage boost simplified the rest of the fight.

eien86: Claiming for judging.

eien86: The submission is visibly optimized. The author repeatedly takes damage during the boss fights to save time. As a result this movie beats the current RTA best time by quite a margin.
As precedent for future PICO-8 submissions: they need to include the required information specified here in the submission notes. This is crucial to achieve sync and omitting them will result in additional effort from all sides and indefinite delays.
Especially for the case of `foreground_sleep_ms`, which was the reason this movie desynced for me. The provided configuration did not contain the correct value, which left me chasing my tail. Thankfully, fsvgm777 was able to find out that this was the problem and we could sync it.
The experience with this submission also brought to light the issue that PICO-8 does not archive older versions. So players are now urged to use the latest version of the virtual console whenever possible.
Accepting to Standard

despoa: Processing... For future encoders, foreground_sleep_ms in the PICO-8 configuration file must be set to 5 instead of 2 for this run.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
Location: 127.0.0.1
This topic is for the purpose of discussing #8921: Merl_'s PICO8 KING: A bullet-hell RPG in 04:54.53
Merl_
He/Him
Active player (493)
Joined: 6/11/2022
Posts: 31
i forgot to put the platform as pico 8 again. im sorry lol. ive done this so many times but i keep forgetting
eien86
He/Him
Judge, Skilled player (1873)
Joined: 3/21/2021
Posts: 262
Location: Switzerland
Hi Merl_ Please provide all the information indicated at the bottom of this page: https://tasvideos.org/EmulatorResources/PICO8#MovieSubmissions.
eien86
He/Him
Judge, Skilled player (1873)
Joined: 3/21/2021
Posts: 262
Location: Switzerland
Hi Merl_ I suffered a desync at this stage: Can you please provide the information requested in my previous post? Thanks
Merl_
He/Him
Active player (493)
Joined: 6/11/2022
Posts: 31
libTAS 1.4.5 PICO-8 0.2.5g 2c70a6a0416ca07ed507df2577681217 king.png I don't know how to do the last one
eien86
He/Him
Judge, Skilled player (1873)
Joined: 3/21/2021
Posts: 262
Location: Switzerland
I don't know how to do the last one
It's inside your ~/.lexaloffle/pico-8/config.txt Please share the entire contents of that file so I can replicate it
Merl_
He/Him
Active player (493)
Joined: 6/11/2022
Posts: 31
// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Configuration for pico-8
// 
// config.txt is read on startup and saved on exit.
// To generate the default config.txt, delete this file.
// 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - -


// :: Video Settings

window_size 0 0 // window width, height
screen_size 0 0 // screen width, height (stretched to window) 
show_fps 0 // Draw frames per second in the corner


// :: Window Settings

windowed 1 // 1 to start up in windowed mode
window_position -1 -1 // x and y position of window (-1, -1 to let the window manager decide)
frameless 0 // 1 to use a window with no frame
fullscreen_method 1 // 0 maximized window (linux)  1 borderless desktop-sized window  2 hardware fullscreen (warning: erratic behaviour under some drivers)
blit_method 0  // 0 auto  1 software (slower but sometimes more reliable)  2 hardware (can do filtered scaling) 



// :: System Settings

foreground_sleep_ms 2 // number of milliseconds to sleep each frame. Try 10 to conserve battery power

background_sleep_ms 10 // number of milliseconds to sleep each frame when running in the background

sessions 330 // number of times program has been run

// (scancode) hold this key down and left-click to simulate right-click
rmb_key 0 // 0 for none  226 for LALT

// Desktop for saving screenshots etc. Defaults to $HOME/Desktop
desktop_path 

// 1 to allow controller input even when application is in background
read_controllers_in_background 0



// :: Audio Settings (use "volume" for PICO-8)

sound_volume 0 // 0..256
music_volume 256 // 0..256


// :: usually 1024. Try 2048 if you get choppy sound

mix_buffer_size 1024


// :: map scancodes. Format: 44=47,80=89,..  (scancode a, scancode b -- when press a, generates b)
// run the program with -scancodes to determine which scancodes to use
map_scancodes 


// :: pico-8 

version 0.2.5g

// audio volume: 0..256 
volume 72


// Location of pico-8's root folder
root_path C:/Users/merl/AppData/Roaming/pico-8/carts/


// Location of cartridge save data
cdata_path C:/Users/merl/AppData/Roaming/pico-8/cdata/


// Specify which player index joystick control begins at (0..7)
joystick_index 0


// Custom keyboard scancodes for buttons. player0 0..6, player1 0..5
button_keys 0 0 0 0 0 0 0 0 0 0 0 0 0 

// Play notes as they are plotted in frequency mode
live_notes 0

// iff 1: when using keyboard cursor, snap to closest pixel / map cel
cursor_snap 0

// 0 default  1 dark blue background in code editor  2 black background in code editor   3 gray background in code editor   
gui_theme 0

// scale of screenshots and gifs // 2 means 256x256
screenshot_scale 3
gif_scale 3

// maximum gif length in seconds (0..120; 0 means no gif recording)
gif_len 16

// when 1, reset the recording when pressing ctrl-9 (useful for creating a non-overlapping sequence)
gif_reset_mode 0

// 0 for off. 1 for auto. 2 to allow control of a cart's framerate due to host machine's cpu capacity
host_framerate_control 1

// filter splore cartridges
// 0 off   1 on (exclude cartridge tagged as 'mature' by community)
splore_filter 0

// tab display width (1 ~ 4 spaces)
tab_width 1

// 0 off 1 on: draw tab characters as small vertical lines
draw_tabs 0

// 0 off 1 on: record the current cartridge and editor view every 3 seconds (see [appdata]/activity.log.txt)
record_activity_log 1

// 0 off 1 on: allow F6..F9 (alternative: ctrl 6..9)
allow_function_keys 1

// 0 off 1 on: automatically check for a newer version of a BBS cart each time it is run.
check_for_cart_updates 1

// hide mouse cursor for n seconds when typing.
auto_hide_mouse_cursor 5

// 0 off 1 on: backup with a new timestamped filename on every run
// normally not needed -- was used for debugging crash-on-run
aggressive_backups 0

// back up cartridge in editor every n minutes when not idle (0 for no periodic backups)
periodic_backups 20

// global screen transformations:
//  129 flip horizontally
//  130 flip vertically
//  133 rotate CW 90 degrees
//  134 rotate CW 180 degrees
//  135 rotate CW 270 degrees
transform_screen 0

// 0 off  > 1: colour to draw pixel grid in the gfx editor at zoom:8 and zoom:4 (16 for black)
gfx_grid_lines 0
CoolHandMike
He/Him
Editor, Judge, Experienced player (895)
Joined: 3/9/2019
Posts: 695
That was fun to watch and fast as well! Did not see any errors casually watching this although I kind of wonder how large his sprite is and how close you could get near blocks while falling like 3:15 on that left side, but that would be very minor even if it was a little bit faster.
discord: CoolHandMike#0352
Merl_
He/Him
Active player (493)
Joined: 6/11/2022
Posts: 31
It's way easier to bonk on walls than it looks like. The corner cut at 3:15 is pixel perfect, so is every other corner cut in the run.
CoolHandMike
He/Him
Editor, Judge, Experienced player (895)
Joined: 3/9/2019
Posts: 695
Merl_ wrote:
It's way easier to bonk on walls than it looks like. The corner cut at 3:15 is pixel perfect, so is every other corner cut in the run.
Ok I was kind of wondering about that. Good to know.
discord: CoolHandMike#0352
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1213
Location: Luxembourg
Got it to sync. The foreground_sleep_ms setting in the config actually needs to be set to 5 instead of 2.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [5897] PICO8 KING: A bullet-hell RPG by Merl_ in 04:54.53