Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

thetinycoder1234

7
Posts
A member registered Jun 08, 2025

Creator of

Recent community posts

Like genuinely.

its stupid.

LEVEL EDITORS ARE MEANT TO HAVE INFINITE SAVE SLOTS.

Level Share Square Games

I cannot belive i have to respectfully call that design decision absoloutely STUPID.

Bruh.

thats really irritating.

"discourage people to use the game as storage"

Like really?

Due to this. people will need an internet connection JUST TO *EDIT AND SAVE THEIR LEVELS THAT ARE ON THE SEVER*.

THANKS ALOT.

The game is out on steam and is curently 20% off, they shutdown the steam demo but not the itch,io one. weird...

Cool.

:P

if you dont want to say kind stuff then dont talk at all.

im having a bit of a problem with it: I am trying to use it in a game im making with pygame-ce, my code is: 

import pygame

pygame.init()

# Screen setup

WIDTH, HEIGHT = 800, 600

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption("Cat Cruise: The Quest for Catnip")

# Colors

SKY_BLUE = (135, 206, 250)

PLATFORM_COLOR = (139, 69, 19)

CATNIP_COLOR = (124, 252, 0)

# Clock

clock = pygame.time.Clock()

FPS = 60

# Load and scale sprite sheet frames

def load_frames(sheet, frame_width, frame_height, num_frames, scale_to):

    frames = []

    for i in range(num_frames):

        frame = sheet.subsurface(pygame.Rect(i * frame_width, 0, frame_width, frame_height))

        scaled = pygame.transform.scale(frame, scale_to)

        frames.append(scaled)

    return frames

sprite_sheet = pygame.image.load("RUN.png").convert_alpha()

cat_frames = load_frames(sprite_sheet, 32, 32, 8, (64, 64))

# Player setup

player_width, player_height = 64, 64

player_x, player_y = 100, HEIGHT - player_height - 100

player_vel_x = 0

player_vel_y = 0

player_speed = 5

jump_strength = 15

gravity = 0.8

on_ground = False

# Animation

frame_index = 0

frame_timer = 0

frame_speed = 5

moving_left = False

moving_right = False

# Platforms

platforms = [

    pygame.Rect(0, HEIGHT - 40, WIDTH, 40),

    pygame.Rect(200, 450, 150, 20),

    pygame.Rect(400, 350, 150, 20),

    pygame.Rect(600, 250, 150, 20),

]

# Catnip goal

catnip = pygame.Rect(700, 200, 30, 30)

# Game loop

running = True

while running:

    clock.tick(FPS)

    screen.fill(SKY_BLUE)

    # Events

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            running = False

    # Movement input

    keys = pygame.key.get_pressed()

    player_vel_x = 0

    moving_left = keys[pygame.K_LEFT]

    moving_right = keys[pygame.K_RIGHT]

    if moving_left:

        player_vel_x = -player_speed

    if moving_right:

        player_vel_x = player_speed

    if keys[pygame.K_SPACE] and on_ground:

        player_vel_y = -jump_strength

        on_ground = False

    # Apply gravity

    player_vel_y += gravity

    # Move player

    player_x += player_vel_x

    player_y += player_vel_y

    player_rect = pygame.Rect(player_x, player_y, player_width, player_height)

    # Collision detection

    on_ground = False

    for platform in platforms:

        if player_rect.colliderect(platform):

            if player_vel_y > 0:

                player_y = platform.top - player_height

                player_vel_y = 0

                on_ground = True

    # Win condition

    if player_rect.colliderect(catnip):

        print("YOU FOUND THE CATNIP! 🐱🌿")

        running = False

    # Animation update

    if moving_left or moving_right:

        frame_timer += 1

        if frame_timer >= frame_speed:

            frame_index = (frame_index + 1) % len(cat_frames)

            frame_timer = 0

    else:

        frame_index = 0  # Idle frame

    # Draw platforms

    for platform in platforms:

        pygame.draw.rect(screen, PLATFORM_COLOR, platform)

    # Draw catnip

    pygame.draw.rect(screen, CATNIP_COLOR, catnip)

    # Draw player sprite

    current_frame = cat_frames[frame_index]

    if moving_left:

        current_frame = pygame.transform.flip(current_frame, True, False)

    screen.blit(current_frame, (player_x, player_y))

    # Update display

    pygame.display.flip()

pygame.quit() and im using the RUN animation.