1. Tilemap A: New scene (2D Scene) B: Add TileMapLayer child node C: In Inspector, click Tile Set , New Tileset, change to TileSet tab, drag tileset image into Tiles box, click Yes D: Change to TileMap tab and 2D view, paint your map 2. Movement and Camera A: Add CharacterBody2D child node to Node2D B: Add Sprite2D child node to CharacterBody2D, click Texture , Load, choose character image C: Add Camera2D child node to CharacterBody2D, set zoom to 3 D: Attach script to CharacterBody2D and change code to this extends CharacterBody2D func _physics_process(_delta): velocity = 100 * Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") move_and_slide() 3. Collision A: Add CollisionShape2D child to CharacterBody2D, click Shape , New CircleShape2D B: In TileMapLayer node, click TileSet to expand it, then > Physics Layers, Add Element C: In TileSet tab (bottom of screen), use Select tool to choose a tile, then expand > Physics, > Physics Layer 0, use the + tool to draw points 4. Objectives A: Add Area2D child node to CharacterBody2D B: Add CollisionShape2D child node to Area2D, click Shape , New CircleShape2D C: Click Area2D, change to Node tab, connect area_entered and area_exited signals, change code to this: func _on_area_2d_area_entered(area: Area2D) -> void: area.get_node("Label").visible = true func _on_area_2d_area_exited(area: Area2D) -> void: area.get_node("Label").visible = false D: Add Area2D child node to Node2D node, change to any name, move to correct position, change back to Inspector tab E: Add CollisionShape2D child node to the renamed node, click Shape , New RectangleShape2D F: Add Label child node to the renamed node, set Text, click eye to make invisible 5. Animation A: Add AnimatedSprite2D as a child node of CharacterBody2D and hide the Sprite2D B: In the Inspector, expand Animation, click SpriteFrames , New SpriteFrames C: Click the SpriteFrames you just made to change to the SpriteFrames tab (bottom of screen) D: Click the grid icon to add frames, choose the file and frames desired E: Click page+ icon to add animation, click its name to rename it walk_down F: Repeat steps D and E until down, right, up and left are animated G: Add this code after move_and_slide() if velocity.x < 0: $AnimatedSprite2D.play("walk_left") elif velocity.x > 0: $AnimatedSprite2D.play("walk_right") elif velocity.y < 0: $AnimatedSprite2D.play("walk_up") elif velocity.y > 0: $AnimatedSprite2D.play("walk_down") else: $AnimatedSprite2D.play("default")