Get Started Here
Installation
Arcade can be installed like any other Python Package. Arcade needs support for OpenGL 3.3+. It does not run on Raspberry Pi or Wayland. If you are familiar with Python package management you can just “pip install” Arcade. For more detailed instructions see Installation Instructions.
Starting Tutorials
If you are already familiar with basic Python programming, follow the Simple Platformer or Real Python article. If you are just learning how to program, see the Learn Arcade book.
Arcade Skill Tree
Basic Drawing Commands - See How to Draw with Your Computer, Drawing Primitives
ShapeElementLists - Batch together thousands of drawing commands into one using a
arcade.ShapeElementList
. See examples in Faster Drawing with ShapeElementLists.
Sprites - Almost everything in Arcade is done with the
arcade.Sprite
class.Moving player sprites
Mouse - Collect Coins - Mouse
Keyboard - Sprite Move By Keyboard
Keyboard, slightly more complex but handles multiple key presses better: Better Move By Keyboard
Keyboard with acceleration, de-acceleration: Acceleration and Friction
Keyboard, rotate and move forward/back like a space ship: Move Sprites By Angle
Game Controller - Game Controller/Joystick
Game controller buttons - Supported, but documentation needed.
Sprite collision detection
Basic detection - Learn arcade book on collisions, Collect Coins - Mouse
Understanding collision detection and spatial hashing
Sprite Hit boxes
Detail amount -
arcade.Sprite
Changing -
arcade.Sprite.hit_box
Drawing -
arcade.Sprite.draw_hit_box
Avoid placing items on walls - Randomly Place Coins, But Away From Walls And Other Coins
Sprite drag-and-drop - See the Solitaire Tutorial.
Drawing sprites in layers
Sprite animation
Change texture on sprite when hit - Change coins
Moving non-player sprites
Bouncing - Sprite Bouncing Coins
Moving towards player - Sprites That Follow The Player
Moving towards player, but with a delay - Sprites That Follow The Player 2
Space-invaders style - Slime Invaders
Can a sprite see the player? - Line of Sight
A-star pathfinding - A-Star Path Finding
Shooting
Player shoots straight up - Shoot Bullets Upwards
Enemy shoots every x frames - Have Enemies Periodically Shoot
Enemy randomly shoots x frames - Have Enemies Randomly Shoot
Player aims - Aim and Shoot Bullets
Enemy aims - Have Enemies Aim at Player
Multi-hit - Supported, but documentation needed.
Physics Engines
SimplePhysicsEngine - Platformer tutorial Step 3 - Scene Object, Learn Arcade Book Simple Physics Engine, Example Move with Walls
PlatformerPhysicsEngine - From the platformer tutorial: Step 4 - Add User Control,
Ladders - Platformer tutorial Step 10 - Multiple Levels and Other Layers
Using the physics engine on multiple sprites - Supported, but documentation needed.
Pymunk top-down - Supported, needs docs
Pymunk physics engine for a platformer - Pymunk Platformer
Pymunk shooting - Support under development.
View management
Minimal example of using views - Minimal Views Example
Using views to add a pause screen - Using Views for a Pause Screen
Using views to add an instruction and game over screen - Using Views for Instruction and Game Over Screens
Window management
Scrolling - Move with a Scrolling Screen - Centered
Add full screen support - Full Screen Example
Allow user to resize the window - Resizable Window
Map Creation
Programmatic creation
Procedural Generation
TMX map creation - Platformer tutorial: Step 8 - Display The Score
Layers - Platformer tutorial: Step 8 - Display The Score
Multiple Levels - Work with levels and a tiled map
Object Layer - Supported, but documentation needed.
Hit-boxes - Supported, but documentation needed.
Animated Tiles - Supported, but documentation needed.
Sound - Learn Arcade book sound chapter
Spatial sound Sound Demo
Particles - Particle Systems
GUI
Concepts - GUI Concepts
Examples - GUI Concepts
OpenGL Frame buffers
Lights - Lighting Demo
Wrap-around - Supported, but documentation needed.
Mini-map - Mini-Map
Bloom/glow effect - Bloom-Effect Defender
Writing your own shader - Supported, but documentation needed.