<s>[INST] How would a basic project in PyGame look like? I'd like the example to include keyboard event handling so that pressing ESC will quit the game and also print the FPS counter in the left top corner of the window. [/INST] ```python
import pygame

pygame.init()

# Define constants for the game window size and FPS limit
WINDOW_WIDTH = 640
WINDOW_HEIGHT = 480
FPS = 60

# Create the game window and set its caption
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("My PyGame Project")

# Define a font for displaying the FPS counter
font = pygame.font.Font(None, 30)

# Define a clock for controlling the game FPS
clock = pygame.time.Clock()

# Define a variable for storing the game FPS
fps = 0

# Define a game loop that runs until the user quits the game
running = True
while running:
    # Handle events such as keyboard input and window closing
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False

    # Update the game state here

    # Clear the screen
    screen.fill((255, 255, 255))

    # Draw the FPS counter in the top left corner of the screen
    fps_text = font.render(f"FPS: {fps}", True, (0, 0, 0))
    screen.blit(fps_text, (10, 10))

    # Update the game window
    pygame.display.update()

    # Calculate the game FPS and print it to the console
    fps = int(clock.get_fps())
    print(fps)

    # Control the game FPS
    clock.tick(FPS)

# Clean up the PyGame environment
pygame.quit()
```</s>