TIC-80 icon indicating copy to clipboard operation
TIC-80 copied to clipboard

[Regression] List of broken python carts

Open imsys opened this issue 3 months ago • 3 comments

Hey @blueloveTH,

I investigated python games that were broken by regression. Could you take a look if they could work on a future Pocketpy version or maybe a TIC patch? If some of them is better to fix the cart code, I could probably fix the old ones and reupload in gamefixes, or I could see if @nesbox would think it would be okay to I send the fixed carts to him and he would update in the website. The newer ones I could try to message the authors.

By the way, to also give a good news. Your last update (4c1b009bc5e308a3c30cdc98754872d86ecbfdb1) fixed 8 carts. :)

I'm also adding the spreadsheet I used to investigate the regressions, in case you prefer: tic80-python-broken-by-regression.ods

I was able to get a list of python games by going to my tic game folder and running grep -ir "python" *

Type Game name tic.com id rom last update Error type Broken since worked on
itch O MOKU E MUN itch - [cart] 2025-02-16 expected 'int', got 'float' https://github.com/nesbox/TIC-80/commit/e1dbcd001c7333b9b196ab9c04dffabc963f5c08 Pocketpy v1.2.4 (1.2.2866-2023-12-17-faf01b1)
Game DOPPLER 4062 2024-11-18 unsupported operand type(s) for *: 'bool' and 'int' Pocketpy v1.3.0 (1.2.2809-2023-11-10-f79b3fa) Pocketpy v1.2.4 (1.2.2869-2023-12-26-8e8411d)
WIP WIP MORIO LIKE GAME 3861 2024-06-06 invalid number literal Pocketpy v1.3.0 (1.2.2809-2023-11-10-f79b3fa) Pocketpy v1.2.4 (1.2.2869-2023-12-26-8e8411d)
Tool WAVESUM 3971 2024-08-22 module' object has no attribute 'EaseInOutQuad' Pocketpy v1.3.1 (1.2.2836-dev -2023-12-08-e0b1fdc) Pocketpy v1.3.0 (1.2.2809-2023-11-10-f79b3fa)
Tool ANNULAR SECTORS 4004 2024-09-11 module' object has no attribute 'EaseInOutCubic Pocketpy v1.3.1 (1.2.2836-dev -2023-12-08-e0b1fdc) Pocketpy v1.3.0 (1.2.2809-2023-11-10-f79b3fa)
Game POP! FISHING VANELLOPE EDITION 4033 2024-10-10 extend() argument must be a list or tuple Pocketpy v1.3.5 (1.2.2870-2023-12-26-f0ce497) Pocketpy v1.3.1 (1.2.2836-dev -2023-12-08-e0b1fdc)
Game INFBREAD 4121 2025-01-01 unsupported operand type(s) for +: 'int' and 'bool' Pocketpy v1.3.5 (1.2.2870-2023-12-26-f0ce497) Pocketpy v1.3.1 (1.2.2836-dev -2023-12-08-e0b1fdc)
Demo YE NAN PU 4185 2025-02-16 time()//100 -unsupported operand type(s) for //: 'float' and 'int' Pocketpy v1.3.5 (1.2.2870-2023-12-26-f0ce497) Pocketpy v1.3.1 (1.2.2836-dev -2023-12-08-e0b1fdc)
Tech WAVEFORM CONSOLE 3969 2024-08-20 choice(): argument must be a list or tuple Pocketpy v1.4.1 (1.2.2880-2024-02-16-0602c49) Pocketpy v1.3.5 (1.2.2879-dev -2024-02-16-fd02c6f)
Game POP! FISHING 3788 2024-08-27 extend() argument must be a list or tuple Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Demo BAD AIM TRAINER 3867 2024-06-02 expected 'str', got 'int' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Game DISPARA 4273 2025-05-21 expected 'str', got 'int' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Tool CLOCK 3616 2023-11-26 expected 'str', got 'int' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Tech FRUIT CATCHER TUTORIAL 3628 2023-11-24 expected 'str', got 'int' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Game SPACE SENTINEL 4270 2025-05-19 ZeroDivisionError: float division by zero Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
WIP CRAZY MARBLES 3720 2024-01-25 readonly attribute: 'x' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
WIP BLOCKSORTER 4239 2025-04-13 name 'name' is not defined Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
Game HEXAPIX 4271 2025-05-19 dict_iterator' object has no attribute 'len' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)
WIP WAFE FUNCTION COLLAPSE 3783 2024-03-01 dict_iterator' object has no attribute 'len' Pocketpy v2.0.1 (1.2.2996-2024-11-11-e98d37a) Pocketpy v1.4.5 (1.2.2995-2024-11-11-5e1b0ca)

imsys avatar Sep 16 '25 03:09 imsys

Thanks for your report. I will investigate them soon.

blueloveTH avatar Sep 16 '25 03:09 blueloveTH

Most of them crashes as soon as the game starts, the few exceptions are "Wafe Function Collapse" that we need to press the A key; and "Space Sentinel" that we have to travel without shooting or getting hit until the time gets to zero, that probably makes the code do a division by zero. Maybe in past versions it was okay to divide by zero? Idk, or maybe it had crashes and I did not test that game well.

imsys avatar Sep 16 '25 03:09 imsys

Status

expected 'int', got 'float'

API has changed.

unsupported operand type(s) for *: 'bool' and 'int'

Will be fixed.

invalid number literal

Need investigate.

module object has no attribute 'EaseInOutQuad'

These function has been renamed.

extend() argument must be a list or tuple

To be fixed.

time()//100 -unsupported operand type(s) for //: 'float' and 'int'

Fixed✅

choice(): argument must be a list or tuple

To be fixed.

expected 'str', got 'int'

API has changed.

ZeroDivisionError: float division by zero

This is a user bug.

readonly attribute: 'x'

Need investigate.

name 'name' is not defined

Need investigate.

dict_iterator' object has no attribute 'len'

Fixed✅

blueloveTH avatar Sep 19 '25 06:09 blueloveTH