fake-08 icon indicating copy to clipboard operation
fake-08 copied to clipboard

Compatibility tracking

Open Nine-H opened this issue 2 years ago • 10 comments

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 #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 avatar Sep 17 '23 08:09 Nine-H

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

Nine-H avatar Sep 18 '23 00:09 Nine-H

Super Poulet Poulet works really well.

michaelachrisco avatar Oct 03 '23 01:10 michaelachrisco

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

JCR64 avatar Oct 06 '23 12:10 JCR64

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

jtothebell avatar Oct 10 '23 00:10 jtothebell

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.

Kistaro avatar Oct 18 '23 06:10 Kistaro

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?

Nine-H avatar Oct 22 '23 07:10 Nine-H

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.

jtothebell avatar Oct 23 '23 19:10 jtothebell

@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?

Nine-H avatar Jan 04 '24 00:01 Nine-H

@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

jtothebell avatar Jan 09 '24 16:01 jtothebell