# ========================================== # WINDOW / DISPLAY SETTINGS # ========================================== SCREEN_WIDTH = 1280 SCREEN_HEIGHT = 720 FPS = 60 VSYNC = True GAME_TITLE = "Terraria Clone" BACKGROUND_COLOR = (135, 206, 235) # Sky blue # ========================================== # TILE SETTINGS # ========================================== TILE_SIZE = 32 CHUNK_SIZE = 16 # 16x16 tiles per chunk RENDER_DISTANCE = 3 # how many chunks visible around player # Tile IDs AIR = 0 DIRT = 1 GRASS = 2 STONE = 3 # Tile properties TILE_PROPERTIES = { AIR: {"solid": False, "color": (0, 0, 0)}, DIRT: {"solid": True, "color": (139, 69, 19)}, GRASS: {"solid": True, "color": (34, 177, 76)}, STONE: {"solid": True, "color": (100, 100, 100)}, } # ========================================== # WORLD GENERATION # ========================================== WORLD_WIDTH = 200 # in tiles WORLD_HEIGHT = 100 # in tiles SEED = 42 SURFACE_LEVEL = 40 CAVE_THRESHOLD = 0.4 ORE_THRESHOLD = 0.75 NOISE_SCALE = 0.05 OCTAVES = 4 # ========================================== # PLAYER SETTINGS # ========================================== PLAYER_WIDTH = 28 PLAYER_HEIGHT = 48 PLAYER_SPEED = 250 PLAYER_ACCELERATION = 2000 PLAYER_FRICTION = -0.15 GRAVITY = 1500 MAX_FALL_SPEED = 1000 JUMP_FORCE = -500 DOUBLE_JUMP = False MAX_HEALTH = 100 # ========================================== # CAMERA SETTINGS # ========================================== CAMERA_SMOOTHING = 0.1 CAMERA_OFFSET_Y = -100 # ========================================== # INVENTORY SETTINGS # ========================================== INVENTORY_SIZE = 40 HOTBAR_SIZE = 10 STACK_LIMIT = 999 INVENTORY_SLOT_SIZE = 40 INVENTORY_PADDING = 4 # ========================================== # BLOCK BREAKING / PLACING # ========================================== BREAK_RANGE = 5 # tiles BREAK_TIME = { DIRT: 0.3, GRASS: 0.3, STONE: 0.8 } PLACE_RANGE = 5 # ========================================== # ENEMY SETTINGS # ========================================== MAX_ENEMIES = 10 ENEMY_SPAWN_RATE = 5 # seconds ENEMY_SPEED = 100 ENEMY_DAMAGE = 10 ENEMY_HEALTH = 50 # ========================================== # PHYSICS SETTINGS # ========================================== TERMINAL_VELOCITY = 1200 COLLISION_STEPS = 4 # ========================================== # LIGHTING (for future use) # ========================================== ENABLE_LIGHTING = False LIGHT_RADIUS = 5 # ========================================== # DEBUG SETTINGS # ========================================== DEBUG_MODE = True SHOW_FPS = True SHOW_COLLIDERS = False SHOW_CHUNK_BORDERS = False