Ok, assuming that all code at the beach screen is correct:
fish_list = []
fish = list(i for i in items.values() if i.slot == "loot" and "Fishing" in i.locations and i.price <= hero.get_skill("fishing")) # Get a list of fishing items player is skilled enough to fish out! We should prolly add some normal items here as well.
# Also maybe one super, buper item at very low chance of catching
while len(fish_list) < 9:
fish_list.append(random.choice(fish))
fish list contains all fishable items. Then we randomly pick 8 items from the list and create fish_list from them. This way there won't be all existing items at the same time, and also there will be a chance to have multiple copies of the same item on the screen.
for i in fish_list:
temp= ((100, 100), (random.random(), random.random()))
item = renpy.call_screen("fishing_area", temp)
hero.add_item(item)
hero.say("I caught %s!" % item.id)
Then we give every element random alignment and send them to the hidden matrix screen. And see one single webm there instead of 8.
Did you coded it to show only one area, by any chance? Because that's not how normal matrix works, it supports as many areas as you need at the same time.
I tested it with static picture to make sure it's not a webm related problem, the result is the same.