Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility tracking #214

Open
Nine-H opened this issue Sep 17, 2023 · 9 comments
Open

Compatibility tracking #214

Nine-H opened this issue Sep 17, 2023 · 9 comments

Comments

@Nine-H
Copy link

Nine-H commented Sep 17, 2023

fake-08 featured sdl2 linux x86_64

tracking doc

https://docs.google.com/spreadsheets/d/10I7lS-XmOfzTMlPVdAJEheVpMH2VjW7H1ayVm-jFNxQ/edit?usp=sharing

methodology/limitations

  • games were tested using an SDL2 build on linux x86_64
  • only bbs .png carts have been tested
  • I've been having issues with multicart titles
  • the games were downloaded by hand and not scraped
  • testing consisted of between 2 and 40 mins of gameplay (not recorded)
  • cart data consists of title, cartname, author, featured, multicart, rating, commit hash, notes, and a bbs link
  • does not supercede all of earlier testing in Cards compatibility feedback #182
  • testing sample is all featured carts
  • compatibility is really good!

ratings

  • playable: some amount of gameplay is possible, from perfect to serious rendering bugs that can be played around
  • in-game, the cart functions either to menus or game and either crashes or is rendered unplayable by bugs
  • broken, the cart or emulator crashes before any graphics are rendered
  • untested, the cart is yet to be reviewed

I plan to update the document from time to time, you're welcome to integrate the data into your project.

@Nine-H
Copy link
Author

Nine-H commented Sep 18, 2023

updates

  • 27 september 2023: 100+ carts tested, including first three pages of featured carts
  • 22 october 2023: caught up with new featured carts, happy larry, whiplash taxi, and air delivery
  • 3 january 2024: added multicart and author columns
  • 4 january 2024: 200 carts tested, including new featured carts marble merger, bas, subsurface, pizza panda, sokoblox, redash, jungle ping, bunbunsamurai, downward, suika game demake, cursed flail, and pico froggo
  • 5 january 2024: tabulate all featured carts, add untested status for carts, update methodology, publish first pie chart visualisation from compatibility testing
  • 8 january 2024: 220 carts tested, majority of featured carts playable, added featured column to allow testing non-featured carts (not yet though), added commit column to record last tested version, renamed status to "sdl2 linux x86_64" to prepare for testing other platforms (not yet though).
  • 9 january 2024: new featured cart steel surge

@michaelachrisco
Copy link

Super Poulet Poulet works really well.

@JCR64
Copy link

JCR64 commented Oct 6, 2023

Outbreak is a recent game that is broken, a fantastic Vampire Survivors like game.

@jtothebell
Copy link
Owner

Thank you for putting this together, this is a very nice reference for things to improve. If I may make a suggestion, it would be good to track if a game is multicart. For example, Mots Grand Prix, Poom and UnDune II all worked last I checked, but require multiple carts, and will crash if those carts aren't present

@Kistaro
Copy link

Kistaro commented Oct 18, 2023

My total remake of Pico Tetris, Extreme Tetrom, runs but does not render correctly:

  • relies on spr fill patterns for "hold unavailable"; known feature gap
  • "well outline" is very, very wrong -- I would assume the unspecified-purpose RAM is not working the same as the real Pico-8

This was tested in RetroArch on a Miyoo Mini Plus.

@Nine-H
Copy link
Author

Nine-H commented Oct 22, 2023

At the moment I'm focusing on testing the entire featured carts collection. I think that limiting testing to featured gives a representative sample of software that should be complete and final.

@jtothebell are there any docs on how to identify, download, and run multicart games?

@jtothebell
Copy link
Owner

Per the Pico-8 Manual (https://www.lexaloffle.com/dl/docs/pico-8_manual.html#Exporting_Multiple_Cartridges), any cartridges that call reload with a cart argument, or load need that cart to be present. If you are playing games on the BBS, you'll see a spinning cart in the corner while it is loading. Generally creators of multi cart games will distribute a zip containing all the carts needed, but it really is on a case by case basis. Once all the needed carts are in the same directory, they should load and function fine.

FAKE-08 doesn't support any network operations, so if the only way to get the extra carts is from the BBS, then there is not a straightforward or supported way for that game to work with FAKE-08.

@Nine-H
Copy link
Author

Nine-H commented Jan 4, 2024

@jtothebell I tried getting Kalikan to work by tracking the downloads in the network tab of my browser to download the missing carts but I couldn't figure out what to name the first level file, can fake-08 print the file it's trying to open to stdout on a crash?

while I'm requesting features, printing crash output to stdout and not just the screen would let me paste them into the spreadsheet, and being able to set the window size on the command-line would make carts easier to play.

There hasn't been a release since I last tested carts, have there been any commits that would make it worthwhile to rebuild and start retesting?

@jtothebell
Copy link
Owner

@Nine-H it should be looking for a cart that matches the BBS key IIRC. Pico-8 first makes a call to a BBS endpoint (cpost_lister3.php) that returns the latest version of the cart (lid) based on its key and the runtime version passed. The lid is then used to download the specific cart from get_cart.php. Pico-8 also caches these responses as text files for offline use if you are using splore.

The lid included in the request to cpost_lister3.php is what Fake-08 is looking for (so in the example of Kalikan, it should be looking for kalikan_stage_1b not kalikan_stage_1b-3 when it loads the state).

Those all seem like good feature requests, and I will try to get to them. I've been struggling to find both time and motivation to work on Fake-08 lately. Since the last release there have been a handful of small fixes, but nothing major

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants