🤑 Indie game store🙌 Free games😂 Fun games😨 Horror games
👷 Game development🎨 Assets📚 Comics
🎉 Sales🎁 Bundles

alright, i managed to fix every errors but i still can't find any clue why it's still displayed blank...

-- spritelib-start
-- idle cycle of the swell udder version.
player_idle_big21={time=500,width=8,unique=41,total=64,spriteIDs={-1,-1,-1,-1,0,1,2,-1,-1,-1,17,18,19,20,21,-1,-1,-1,47,48,49,50,51,-1,-1,-1,-1,78,87,88,89,-1,-1,113,114,115,116,117,118,-1,-1,157,158,159,160,161,162,163,-1,213,-1,214,215,216,217,218,-1,-1,-1,264,265,266,267,268}}
player_idle_big22={time=100,width=8,unique=40,total=64,spriteIDs={-1,-1,-1,-1,3,4,5,-1,-1,-1,22,23,24,25,26,-1,-1,-1,52,53,54,55,56,-1,-1,-1,-1,-1,90,91,92,-1,-1,113,114,119,120,117,121,-1,-1,157,158,164,165,166,162,163,-1,213,-1,219,220,221,217,218,-1,-1,-1,264,265,266,267,268}}
player_idle_big23={time=160,width=8,unique=40,total=64,spriteIDs={-1,-1,-1,-1,3,4,5,-1,-1,-1,22,23,24,25,26,-1,-1,-1,52,53,57,58,59,-1,-1,-1,-1,-1,93,94,92,-1,-1,122,123,124,125,126,127,-1,-1,167,168,169,170,171,172,173,-1,222,-1,223,224,225,226,227,-1,-1,-1,264,265,269,270,271}}
player_idle_big24={time=400,width=8,unique=40,total=64,spriteIDs={-1,-1,-1,-1,3,4,5,-1,-1,-1,22,23,24,25,26,-1,-1,-1,52,53,57,58,59,-1,-1,-1,-1,-1,93,94,92,-1,-1,122,123,124,125,126,127,-1,-1,167,168,169,170,171,172,173,-1,222,-1,223,224,228,229,230,-1,-1,-1,264,265,272,273,274}}
player_idle_big25={time=80,width=8,unique=40,total=64,spriteIDs={-1,-1,-1,-1,3,4,5,-1,-1,-1,22,23,24,25,26,-1,-1,-1,52,53,54,60,61,-1,-1,-1,-1,-1,90,91,92,-1,-1,122,123,128,120,117,129,-1,-1,167,168,174,165,166,162,163,-1,222,-1,231,220,232,233,234,-1,-1,-1,264,265,272,273,274}}
player_idle_big26={time=100,width=8,unique=41,total=64,spriteIDs={-1,-1,-1,-1,0,1,2,-1,-1,-1,17,18,19,20,21,-1,-1,-1,47,48,62,63,64,-1,-1,-1,-1,78,87,95,96,-1,-1,113,114,115,116,117,118,-1,-1,157,158,159,160,161,162,163,-1,213,-1,214,215,216,217,218,-1,-1,-1,264,265,266,267,268}}
player_idle_big27={time=100,width=8,unique=41,total=64,spriteIDs={-1,-1,-1,-1,0,1,2,-1,-1,-1,17,18,19,20,21,-1,-1,-1,47,48,62,65,66,-1,-1,-1,-1,78,87,88,89,-1,-1,113,114,115,116,117,118,-1,-1,157,158,159,160,161,162,163,-1,213,-1,214,215,235,236,237,-1,-1,-1,264,265,275,276,277}}
player_idle_big28={time=80,width=8,unique=41,total=64,spriteIDs={-1,-1,-1,-1,0,1,2,-1,-1,-1,17,18,19,20,21,-1,-1,-1,47,48,62,67,51,-1,-1,-1,-1,78,87,88,89,-1,-1,113,114,115,116,117,118,-1,-1,157,158,159,160,161,162,163,-1,213,-1,214,215,216,217,218,-1,-1,-1,264,265,266,267,268}}
-- spritelib-end

-- mode enums
local Up, Down, Right, Left, A, B, Select, Start = 0, 1, 2, 3, 4, 5, 6, 7

-- animation data
local player = {
    delay = 0,
    frame = 1,
    time = .2,
    total = 8,
    frames=
    {player_idle_big21,
    player_idle_big22,
    player_idle_big23,
    player_idle_big24,
    player_idle_big25,
    player_idle_big26,
    player_idle_big27,
    player_idle_big28}
}

-- The Init() method is part of the game's lifecycle and called a game starts. We are going to
-- use this method to configure background color, ScreenBufferChip and draw a text box.
function Init()

    -- Here we are manually changing the background color
    apiBridge:ChangeBackgroundColor(64)

    -- We are going to render text into the ScreenBuffer so need to rebuild it first.
    apiBridge:RebuildScreenBuffer()

end

-- The Update() method is part of the game's life cycle. The engine calls Update() on every frame
-- before the Draw() method. It accepts one argument, timeDelta, which is the difference in
-- milliseconds since the last frame.
function Update(timeDelta)

    -- update animation timer
    player.delay = player.delay + timeDelta

    -- see if we should change animation
    if(player.delay > player.time) then

        -- reset the delay
        player.delay = 0

        -- update the current frame
        player.frame = player.frame + 1

        -- make sure we reset the frame counter when out of anim.frames
        if(player.frame > player.total) then
            player.frame = 1
        end
    end

end

-- The Draw() method is part of the game's life cycle. It is called after Update() and is where
-- all of our draw calls should go. We'll be using this to render sprites to the display.
function Draw()

-- Since we are using the ScreenBuffer, we can use this to clear the display
    apiBridge:DrawScreenBuffer()

local spriteData = player [frame]

    if(spriteData ~= nil) then
       apiBridge:DrawSprites(player[1], 20, 70, false, false, true, 0)
    end
end

i'm starting to wonder if it wasn't because of the player array is the problem

well, that aside, i will continue it for later, i will start cleaning up my sprites as well working on my rooms.

one question though: how can i set up my sprite as 2x2 instead of 8x8?

It still looks like you are not referencing the correct frames table. Try chnaging the spriteData and draw call to this:

local spriteData = player.frames[frame]


if(spriteData ~= nil) then
   apiBridge:DrawSprites(spriteData.spriteIDs, 20, 70, spriteData.width, false, false, true, 0)
end

Just thinking off the top of my head but if you are having trouble still, you can always just test manually setting the spriteData to make sure you are getting the correct frame, the replace that value with the frame value which is incremented in the Updat() call. Likewise you can try to use print("What frame are we on" .. frame) and watch the log.txt file or use the debugger to make sure you are getting the right numbers. Lua is a bit frustrating in that you can reference varibles that don't exist and you just get nil without an error. That's why I check for spriteData to not be nil before trying to draw. You just need to focus on getting the correct value for spriteData.