# ========================================== # 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 # Tiles AIR = 0 DIRT = 1 GRASS = 2 STONE = 3 WOOD = 4 LEAVES = 5 IRON_ORE = 6 GOLD_ORE = 7 COPPER_ORE = 8 COAL_ORE = 9 # Items ITEM_WOOD = 100 ITEM_STONE = 101 ITEM_IRON = 102 ITEM_GOLD = 103 ITEM_COPPER = 104 ITEM_COAL = 105 # Tile properties TILE_PROPERTIES = { AIR: {"solid": False, "color": (0, 0, 0), "drop": None}, DIRT: {"solid": True, "color": (139, 69, 19), "drop": ITEM_STONE}, GRASS: {"solid": True, "color": (34, 177, 76), "drop": ITEM_STONE}, STONE: {"solid": True, "color": (100, 100, 100), "drop": ITEM_STONE}, WOOD: {"solid": True, "color": (160, 82, 45), "drop": ITEM_WOOD}, LEAVES: {"solid": False, "color": (34, 139, 34), "drop": None}, # ORES IRON_ORE: {"solid": True, "color": (180, 180, 180), "drop": ITEM_IRON}, GOLD_ORE: {"solid": True, "color": (255, 215, 0), "drop": ITEM_GOLD}, COPPER_ORE: {"solid": True, "color": (210, 120, 60), "drop": ITEM_COPPER}, COAL_ORE: {"solid": True, "color": (40, 40, 40), "drop": ITEM_COAL}, } # ========================================== # 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, WOOD: 0.5, IRON_ORE: 1.2, GOLD_ORE: 1.5, COPPER_ORE: 1.0, COAL_ORE: 0.9, } 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