 }
 
 void drawPlayer() {
+    position_t drawPlayerX = playerX - levelPosition;
     if (jumping) {
-        arduboy.drawBitmap(playerX - levelPosition, playerY - 10, SPRITE(attolass_jump), BLACK);
+        arduboy.drawBitmap(drawPlayerX, playerY - 10, SPRITE(attolass_jump), BLACK);
+    }
+    else if (!moving) {
+        arduboy.drawBitmap(drawPlayerX, playerY, SPRITE(attolass_stand), BLACK);
+    }
+    else if ((frame % 6) < 3) {
+        arduboy.drawBitmap(drawPlayerX, playerY, SPRITE(attolass_walk_1), BLACK);
     }
     else {
-        arduboy.drawBitmap(playerX - levelPosition, playerY, SPRITE(attolass_stand), BLACK);
+        arduboy.drawBitmap(drawPlayerX, playerY, SPRITE(attolass_walk_2), BLACK);
     }
 }
 

        if (playerX > 0) {
            playerX--;
        }
        // TODO: Update level pointer and sectionOffset
    }
    if (arduboy.pressed(RIGHT_BUTTON)) {
        playerX++;
        if (playerX >= PLAYER_POSITION_CENTER) {
            levelPosition++;
        }
        // TODO: Update level pointer and sectionOffset
    }
    jumping = arduboy.pressed(A_BUTTON);
}

void drawLevel() {
    // TODO: Allow a pixel offset
    const level_t* pointer = level;
    level_t current = pgm_read_byte_near(pointer);
    coord_t x,y,width,height;

uint8_t sectionOffset;          // Offset between the levelPosition and start of the position of the first section
position_t playerX = PLAYER_POSITION_CENTER;
position_t playerY = SCREEN_HEIGHT / 2;
bool jumping = false;           // Currently in a jump
bool moving = false;            // Currently moving left/right
const uint8_t FPS = 30;
uint8_t frame = 0;              // Frame number that loops back to 0 when it reaches FPS

void updatePlayer() {
    if (arduboy.pressed(LEFT_BUTTON)) {
