René's URL Explorer Experiment


Title: Build a Platform Game in Python With Arcade – Real Python

Open Graph Title: Build a Platform Game in Python With Arcade – Real Python

Description: In this step-by-step tutorial, you'll build a platform game in Python using the arcade library. You'll cover techniques for designing levels, sourcing assets, and implementing advanced features.

Open Graph Description: In this step-by-step tutorial, you'll build a platform game in Python using the arcade library. You'll cover techniques for designing levels, sourcing assets, and implementing advanced features.

Mail addresses
?subject=Python article for you&body=Build a Platform Game in Python With Arcade on Real Python https://realpython.com/platformer-python-arcade/

Opengraph URL: https://realpython.com/platformer-python-arcade/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "http://schema.org",
  "@type": "Article",
  "headline": "Build a Platform Game in Python With Arcade",
  "image": {
    "@type": "ImageObject",
    "url": "https://files.realpython.com/media/How-to-Make-a-2D-Game-with-the-Python-Arcade-Library_Watermarked.ab79cb95c9fa.jpg",
    "width": 1920,
    "height": 1080
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://realpython.com/platformer-python-arcade/",
    "lastReviewed": "2022-05-07",
    "author": {
      "@type": "Person",
      "name": "Jon Fincher",
      "image": "https://realpython.com/cdn-cgi/image/width=336,height=336,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Running_headshot.b3e2d17c6828.jpg",
      "url": "https://realpython.com/team/jfincher/",
      "affiliation": {
        "@type": "Organization",
        "@id": "https://realpython.com/#organization",
        "name": "Real Python",
        "url": "https://realpython.com",
        "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
      }
    },
    "reviewedBy": [
      {
        "@type": "Person",
        "name": "Aldren Santos",
        "image": "https://realpython.com/cdn-cgi/image/width=500,height=500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Aldren_Santos_Real_Python.6b0861d8b841.png",
        "url": "https://realpython.com/team/asantos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Bartosz Zaczy\u0144ski",
        "image": "https://realpython.com/cdn-cgi/image/width=1694,height=1694,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/coders_lab_2109368.259b1599fbee.jpg",
        "url": "https://realpython.com/team/bzaczynski/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "David Amos",
        "image": "https://realpython.com/cdn-cgi/image/width=400,height=400,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/me-small.f5f49f1c48e1.jpg",
        "url": "https://realpython.com/team/damos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Geir Arne Hjelle",
        "image": "https://realpython.com/cdn-cgi/image/width=800,height=800,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/gahjelle.470149ee709e.jpg",
        "url": "https://realpython.com/team/gahjelle/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Joanna Jablonski",
        "image": "https://realpython.com/cdn-cgi/image/width=800,height=800,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/jjablonksi-avatar.e37c4f83308e.jpg",
        "url": "https://realpython.com/team/jjablonski/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Jacob Schmitt",
        "image": "https://realpython.com/cdn-cgi/image/width=400,height=400,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/profile-small_js.2f4d0d8da1ca.jpg",
        "url": "https://realpython.com/team/jschmitt/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      }
    ]
  },
  "datePublished": "2021-04-28T14:00:00+00:00",
  "dateModified": "2022-05-07T07:02:09.807549+00:00",
  "publisher": {
    "@type": "Organization",
    "@id": "https://realpython.com/#organization",
    "name": "Real Python",
    "url": "https://realpython.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png",
      "width": 512,
      "height": 512
    },
    "description": "Real Python is a leading provider of online Python education and one of the largest language-specific online communities for software developers. It publishes high-quality learning resources, such as tutorials, books, and courses to an audience of millions of developers, data scientists, and machine learning engineers each month.",
    "slogan": "Become a Python Expert",
    "email": "info@realpython.com",
    "sameAs": [
      "https://github.com/realpython",
      "https://www.youtube.com/realpython",
      "https://twitter.com/realpython",
      "https://x.com/realpython",
      "https://www.linkedin.com/company/realpython-com/",
      "https://www.facebook.com/learnrealpython",
      "https://www.instagram.com/realpython",
      "https://www.tiktok.com/@realpython.com"
    ]
  },
  "author": {
    "@type": "Person",
    "name": "Jon Fincher",
    "image": "https://realpython.com/cdn-cgi/image/width=336,height=336,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Running_headshot.b3e2d17c6828.jpg",
    "url": "https://realpython.com/team/jfincher/",
    "affiliation": {
      "@type": "Organization",
      "@id": "https://realpython.com/#organization",
      "name": "Real Python",
      "url": "https://realpython.com",
      "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
    }
  },
  "description": "In this step-by-step tutorial, you'll build a platform game in Python using the arcade library. You'll cover techniques for designing levels, sourcing assets, and implementing advanced features."
}

authorReal Python
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/How-to-Make-a-2D-Game-with-the-Python-Arcade-Library_Watermarked.ab79cb95c9fa.jpg
og:imagehttps://files.realpython.com/media/How-to-Make-a-2D-Game-with-the-Python-Arcade-Library_Watermarked.ab79cb95c9fa.jpg
twitter:creator@realpython
og:typearticle

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/platformer-python-arcade/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/quizzes/
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Code Mentor →BetaPersonalized code assistance & learning toolshttps://realpython.com/mentor/
Unlock All Content →https://realpython.com/account/join/
More https://realpython.com/platformer-python-arcade/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Tutorial Writerhttps://realpython.com/write-for-us/
Become a Video Instructorhttps://realpython.com/become-an-instructor/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?next=%2Fplatformer-python-arcade%2F
Browse Topicshttps://realpython.com/tutorials/all/
Guided Learning Pathshttps://realpython.com/learning-paths/
Basicshttps://realpython.com/search?level=basics
Intermediatehttps://realpython.com/search?level=intermediate
Advancedhttps://realpython.com/search?level=advanced
aihttps://realpython.com/tutorials/ai/
algorithmshttps://realpython.com/tutorials/algorithms/
apihttps://realpython.com/tutorials/api/
best-practiceshttps://realpython.com/tutorials/best-practices/
careerhttps://realpython.com/tutorials/career/
communityhttps://realpython.com/tutorials/community/
databaseshttps://realpython.com/tutorials/databases/
data-sciencehttps://realpython.com/tutorials/data-science/
data-structureshttps://realpython.com/tutorials/data-structures/
data-vizhttps://realpython.com/tutorials/data-viz/
devopshttps://realpython.com/tutorials/devops/
djangohttps://realpython.com/tutorials/django/
dockerhttps://realpython.com/tutorials/docker/
editorshttps://realpython.com/tutorials/editors/
flaskhttps://realpython.com/tutorials/flask/
front-endhttps://realpython.com/tutorials/front-end/
gamedevhttps://realpython.com/tutorials/gamedev/
guihttps://realpython.com/tutorials/gui/
machine-learninghttps://realpython.com/tutorials/machine-learning/
newshttps://realpython.com/tutorials/news/
numpyhttps://realpython.com/tutorials/numpy/
projectshttps://realpython.com/tutorials/projects/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
testinghttps://realpython.com/tutorials/testing/
toolshttps://realpython.com/tutorials/tools/
web-devhttps://realpython.com/tutorials/web-dev/
web-scrapinghttps://realpython.com/tutorials/web-scraping/
Table of Contentshttps://realpython.com/platformer-python-arcade/#toc
Installing Python arcadehttps://realpython.com/platformer-python-arcade/#installing-python-arcade
Designing the Gamehttps://realpython.com/platformer-python-arcade/#designing-the-game
What Is a Platform Game?https://realpython.com/platformer-python-arcade/#what-is-a-platform-game
Game Storyhttps://realpython.com/platformer-python-arcade/#game-story
Game Mechanicshttps://realpython.com/platformer-python-arcade/#game-mechanics
Game Assetshttps://realpython.com/platformer-python-arcade/#game-assets
Defining the Program Structurehttps://realpython.com/platformer-python-arcade/#defining-the-program-structure
Defining the Game Structure in Python arcadehttps://realpython.com/platformer-python-arcade/#defining-the-game-structure-in-python-arcade
Adding Initial Game Functionalityhttps://realpython.com/platformer-python-arcade/#adding-initial-game-functionality
What Is a Physics Engine?https://realpython.com/platformer-python-arcade/#what-is-a-physics-engine
Building Game Levelshttps://realpython.com/platformer-python-arcade/#building-game-levels
Downloading and Starting Tiledhttps://realpython.com/platformer-python-arcade/#downloading-and-starting-tiled
Creating a Tilesethttps://realpython.com/platformer-python-arcade/#creating-a-tileset
Defining the Tilesethttps://realpython.com/platformer-python-arcade/#defining-the-tileset
Defining Map Layershttps://realpython.com/platformer-python-arcade/#defining-map-layers
Designing a Levelhttps://realpython.com/platformer-python-arcade/#designing-a-level
Building a Levelhttps://realpython.com/platformer-python-arcade/#building-a-level
Defining Custom Propertieshttps://realpython.com/platformer-python-arcade/#defining-custom-properties
Reading Game Levelshttps://realpython.com/platformer-python-arcade/#reading-game-levels
Defining the Playerhttps://realpython.com/platformer-python-arcade/#defining-the-player
Updating and Drawinghttps://realpython.com/platformer-python-arcade/#updating-and-drawing
Moving the Player Spritehttps://realpython.com/platformer-python-arcade/#moving-the-player-sprite
Scrolling the Viewporthttps://realpython.com/platformer-python-arcade/#scrolling-the-viewport
Adding Extra Featureshttps://realpython.com/platformer-python-arcade/#adding-extra-features
On-Screen Scorehttps://realpython.com/platformer-python-arcade/#on-screen-score
Joystick and Game Controllershttps://realpython.com/platformer-python-arcade/#joystick-and-game-controllers
Title and Other Screenshttps://realpython.com/platformer-python-arcade/#title-and-other-screens
Moving Enemies and Platformshttps://realpython.com/platformer-python-arcade/#moving-enemies-and-platforms
Conclusionhttps://realpython.com/platformer-python-arcade/#conclusion
https://realpython.com/feedback/survey/article/platformer-python-arcade/liked/?from=article-sidebar
https://realpython.com/feedback/survey/article/platformer-python-arcade/disliked/?from=article-sidebar
Jon Fincherhttps://realpython.com/platformer-python-arcade/#author
https://realpython.com/platformer-python-arcade/#reader-comments
intermediatehttps://realpython.com/tutorials/intermediate/
gamedevhttps://realpython.com/tutorials/gamedev/
Installing Python arcadehttps://realpython.com/platformer-python-arcade/#installing-python-arcade
Designing the Gamehttps://realpython.com/platformer-python-arcade/#designing-the-game
What Is a Platform Game?https://realpython.com/platformer-python-arcade/#what-is-a-platform-game
Game Storyhttps://realpython.com/platformer-python-arcade/#game-story
Game Mechanicshttps://realpython.com/platformer-python-arcade/#game-mechanics
Game Assetshttps://realpython.com/platformer-python-arcade/#game-assets
Defining the Program Structurehttps://realpython.com/platformer-python-arcade/#defining-the-program-structure
Defining the Game Structure in Python arcadehttps://realpython.com/platformer-python-arcade/#defining-the-game-structure-in-python-arcade
Adding Initial Game Functionalityhttps://realpython.com/platformer-python-arcade/#adding-initial-game-functionality
What Is a Physics Engine?https://realpython.com/platformer-python-arcade/#what-is-a-physics-engine
Building Game Levelshttps://realpython.com/platformer-python-arcade/#building-game-levels
Downloading and Starting Tiledhttps://realpython.com/platformer-python-arcade/#downloading-and-starting-tiled
Creating a Tilesethttps://realpython.com/platformer-python-arcade/#creating-a-tileset
Defining the Tilesethttps://realpython.com/platformer-python-arcade/#defining-the-tileset
Defining Map Layershttps://realpython.com/platformer-python-arcade/#defining-map-layers
Designing a Levelhttps://realpython.com/platformer-python-arcade/#designing-a-level
Building a Levelhttps://realpython.com/platformer-python-arcade/#building-a-level
Defining Custom Propertieshttps://realpython.com/platformer-python-arcade/#defining-custom-properties
Reading Game Levelshttps://realpython.com/platformer-python-arcade/#reading-game-levels
Defining the Playerhttps://realpython.com/platformer-python-arcade/#defining-the-player
Updating and Drawinghttps://realpython.com/platformer-python-arcade/#updating-and-drawing
Moving the Player Spritehttps://realpython.com/platformer-python-arcade/#moving-the-player-sprite
Scrolling the Viewporthttps://realpython.com/platformer-python-arcade/#scrolling-the-viewport
Adding Extra Featureshttps://realpython.com/platformer-python-arcade/#adding-extra-features
On-Screen Scorehttps://realpython.com/platformer-python-arcade/#on-screen-score
Joystick and Game Controllershttps://realpython.com/platformer-python-arcade/#joystick-and-game-controllers
Title and Other Screenshttps://realpython.com/platformer-python-arcade/#title-and-other-screens
Moving Enemies and Platformshttps://realpython.com/platformer-python-arcade/#moving-enemies-and-platforms
Conclusionhttps://realpython.com/platformer-python-arcade/#conclusion
Remove adshttps://realpython.com/account/join/
writing gameshttps://realpython.com/top-python-game-engines/
Lode Runnerhttps://en.wikipedia.org/wiki/Lode_Runner
Pitfall!https://en.wikipedia.org/wiki/Pitfall!
Super Mario Bros.https://en.wikipedia.org/wiki/Super_Mario_Bros.
arcade libraryhttps://arcade.academy/index.html
basic understanding of writing Python programshttps://realpython.com/products/python-basics-book/
comfortable using the arcade libraryhttps://realpython.com/arcade-python-game-framework/
object-oriented Pythonhttps://realpython.com/learning-paths/object-oriented-programming-oop-python/
Click here to get the source code you’ll usehttps://realpython.com/bonus/platformer-python-arcade-code/
https://realpython.com/platformer-python-arcade/#installing-python-arcade
piphttps://realpython.com/what-is-pip/
installation instructionshttps://arcade.academy/installation.html
Windowshttps://arcade.academy/installation_windows.html
Machttps://arcade.academy/installation_mac.html
Linuxhttps://arcade.academy/installation_linux.html
directly from sourcehttps://arcade.academy/installation_from_source.html
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#designing-the-game
https://realpython.com/platformer-python-arcade/#what-is-a-platform-game
a few characteristicshttps://en.wikipedia.org/wiki/Platform_game
https://realpython.com/platformer-python-arcade/#game-story
Lode Runnerhttps://en.wikipedia.org/wiki/Lode_Runner
Pitfall Harryhttps://en.wikipedia.org/wiki/Pitfall!
Mariohttps://en.wikipedia.org/wiki/Mario
Princess Toadstoolhttps://en.wikipedia.org/wiki/Princess_Toadstool
https://realpython.com/platformer-python-arcade/#game-mechanics
four arrow keyshttps://en.wikipedia.org/wiki/Arrow_keys
IJKLhttps://en.wikipedia.org/wiki/Arrow_keys#IJKL_keys
IJKMhttps://en.wikipedia.org/wiki/Arrow_keys#IJKM_keys
WASDhttps://en.wikipedia.org/wiki/Arrow_keys#WASD_keys
joysticks and game controllershttps://realpython.com/platformer-python-arcade/#joystick-and-game-controllers
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#game-assets
spriteshttps://en.wikipedia.org/wiki/Sprite_(computer_graphics)
OpenGameArt.orghttps://opengameart.org
Kenney.nlhttps://kenney.nl
Game Art 2Dhttps://www.gameart2d.com/
ccMixterhttp://ccmixter.org
Freesoundhttps://freesound.org/
map tile imageshttps://opengameart.org/content/platformer-pack-redux-360-assets
Kenney.nlhttps://www.kenney.nl
MuseScorehttps://musescore.org/en
Audacityhttps://www.audacityteam.org/
https://realpython.com/platformer-python-arcade/#defining-the-program-structure
https://realpython.com/platformer-python-arcade/#defining-the-game-structure-in-python-arcade
importshttps://realpython.com/python-import/
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#adding-initial-game-functionality
https://files.realpython.com/media/game-first-start.54df3094498b.png
pathlibhttps://realpython.com/python-pathlib/
sprite listshttps://realpython.com/arcade-python-game-framework/#sprites-and-sprite-lists
C++https://realpython.com/python-vs-cpp/
Javahttps://realpython.com/oop-in-python-vs-java/
physics enginehttps://realpython.com/platformer-python-arcade/#what-is-a-physics-engine
variablehttps://realpython.com/python-variables/
https://realpython.com/platformer-python-arcade/#what-is-a-physics-engine
Pymunkhttp://www.pymunk.org/en/latest/
Chipmunkhttp://chipmunk-physics.net/
https://realpython.com/platformer-python-arcade/#building-game-levels
floppy diskshttps://en.wikipedia.org/wiki/History_of_the_floppy_disk
Tiledhttps://www.mapeditor.org/
tilesethttps://doc.mapeditor.org/en/stable/manual/editing-tilesets/
tile maphttps://doc.mapeditor.org/en/stable/manual/introduction/#creating-a-new-map
https://files.realpython.com/media/tiled-level-one.968f21a84108.png
great set of docshttps://doc.mapeditor.org/en/stable/
great intro tutorialhttps://doc.mapeditor.org/en/stable/manual/introduction/#getting-started
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#downloading-and-starting-tiled
download ithttps://thorbjorn.itch.io/tiled
https://files.realpython.com/media/tiled-first-start.cdf8ec9acdf3.png
https://files.realpython.com/media/tiled-new-map.2d6a776098a0.png
zlibhttps://zlib.net/
https://realpython.com/platformer-python-arcade/#creating-a-tileset
https://files.realpython.com/media/tiled-tileset.a16251f8b11c.png
https://files.realpython.com/media/tiled-new-tileset.02c5883cc2d8.png
https://realpython.com/platformer-python-arcade/#defining-the-tileset
Click here to get the source code you’ll usehttps://realpython.com/bonus/platformer-python-arcade-code/
Platformer Pack Redux (360 Assets)https://opengameart.org/content/platformer-pack-redux-360-assets
https://files.realpython.com/media/tiled-add-new-tiles.a2f04014b24b.png
https://files.realpython.com/media/tiled-tileset-complete.bc9f5d88f7a0.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#defining-map-layers
https://files.realpython.com/media/tiled-layers-view.90a518e148da.png
https://files.realpython.com/media/tiled-change-layer-name.4be8cb3e94db.png
https://files.realpython.com/media/tiled-create-new-tile-layer.fa0f746dd2fe.png
https://files.realpython.com/media/tiled-create-new-object-layer.65edd4d74a59.png
https://realpython.com/platformer-python-arcade/#designing-a-level
Classic Game Designhttps://realpython.com/asins/1683923855/
Polished Game Developmenthttps://realpython.com/asins/1484218787/
https://files.realpython.com/media/tiled-level-one.968f21a84108.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#building-a-level
https://files.realpython.com/media/tiled-set-first-tile.cb9c5a87e0db.png
https://files.realpython.com/media/tiled-place-grass.67cffa8b2fe0.png
https://files.realpython.com/media/tiled-placing-goal.77876549ee7a.png
https://files.realpython.com/media/tiled-placing-background-items.363485459932.png
https://files.realpython.com/media/tiled-placing-bronze-coins-2.16d910ae672e.png
https://files.realpython.com/media/tiled-placing-gold-coins-2.4610a6e9e933.png
https://realpython.com/platformer-python-arcade/#defining-custom-properties
https://files.realpython.com/media/tiled-object-properties.1b3512ac419d.png
https://files.realpython.com/media/tiled-add-custom-property.2dbfc6971658.png
https://files.realpython.com/media/tiled-set-property-value.924b2013967a.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#reading-game-levels
https://files.realpython.com/media/game-first-level-with-roz-2.9abdca4304bf.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#defining-the-player
https://files.realpython.com/media/game-first-level-with-roz-2.9abdca4304bf.png
https://files.realpython.com/media/platformer-animated-textures.339248eade01.png
Click here to get the source code you’ll usehttps://realpython.com/bonus/platformer-python-arcade-code/
list comprehensionshttps://realpython.com/list-comprehension-python/
f-string formattinghttps://realpython.com/python-f-strings/
https://files.realpython.com/media/platformer-black-screen.33aa000b02b2.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#updating-and-drawing
https://files.realpython.com/media/platformer-initial-screen-2.98284807b2b1.png
constant speedhttps://realpython.com/pygame-a-primer/#game-speed
floathttps://realpython.com/python-numbers/#floating-point-numbers
https://realpython.com/platformer-python-arcade/#moving-the-player-sprite
Arrow keyshttps://en.wikipedia.org/wiki/Arrow_keys
IJKM keyshttps://en.wikipedia.org/wiki/Arrow_keys#IJKM_keys
IJKL keyshttps://en.wikipedia.org/wiki/Arrow_keys#IJKL_keys
WASD keyshttps://en.wikipedia.org/wiki/Arrow_keys#WASD_keys
many other keyboard arrangementshttps://en.wikipedia.org/wiki/Arrow_keys#Alternative_keys
Remove adshttps://realpython.com/account/join/
https://realpython.com/platformer-python-arcade/#scrolling-the-viewport
https://realpython.com/platformer-python-arcade/#adding-extra-features
https://realpython.com/platformer-python-arcade/#on-screen-score
https://files.realpython.com/media/platform-on-screen-score.e3ee466982ff.png
documentationhttps://arcade.academy/arcade.html#arcade.draw_text
https://realpython.com/platformer-python-arcade/#joystick-and-game-controllers
Boolean valueshttps://realpython.com/python-boolean/
pyglet documentationhttps://pyglet-current.readthedocs.io/en/latest/api/pyglet/input/pyglet.input.Joystick.html
https://realpython.com/platformer-python-arcade/#title-and-other-screens
https://realpython.com/platformer-python-arcade/#the-platformerview
Click here to get the source code you’ll usehttps://realpython.com/bonus/platformer-python-arcade-code/
https://realpython.com/platformer-python-arcade/#the-title-view
https://realpython.com/platformer-python-arcade/#instructions-view
https://realpython.com/platformer-python-arcade/#pause-view
boss keyhttps://en.wikipedia.org/wiki/Boss_key
https://realpython.com/platformer-python-arcade/#moving-enemies-and-platforms
https://realpython.com/platformer-python-arcade/#enemy-movement
https://realpython.com/platformer-python-arcade/#moving-platforms
https://files.realpython.com/media/tiled-moving-platforms-layer.243445d5fa12.png
https://files.realpython.com/media/tiled-place-moving-platform-tile.f4dd15ae1e13.png
https://files.realpython.com/media/tiled-define-moving-platform-properties.c6d9bf5cb78b.png
https://realpython.com/platformer-python-arcade/#conclusion
arcade libraryhttps://arcade.academy/index.html
Click here to get the source code you’ll usehttps://realpython.com/bonus/platformer-python-arcade-code/
https://realpython.com/feedback/survey/article/platformer-python-arcade/liked/?from=article-footer
https://realpython.com/feedback/survey/article/platformer-python-arcade/disliked/?from=article-footer
https://realpython.com/team/jfincher/
» More about Jonhttps://realpython.com/team/jfincher/
https://realpython.com/team/asantos/
Aldrenhttps://realpython.com/team/asantos/
https://realpython.com/team/bzaczynski/
Bartoszhttps://realpython.com/team/bzaczynski/
https://realpython.com/team/damos/
Davidhttps://realpython.com/team/damos/
https://realpython.com/team/gahjelle/
Geir Arnehttps://realpython.com/team/gahjelle/
https://realpython.com/team/jjablonski/
Joannahttps://realpython.com/team/jjablonski/
https://realpython.com/team/jschmitt/
Jacobhttps://realpython.com/team/jschmitt/
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=platformer-python-arcade
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=platformer-python-arcade
https://realpython.com/feedback/survey/article/platformer-python-arcade/liked/?from=article-comments
https://realpython.com/feedback/survey/article/platformer-python-arcade/disliked/?from=article-comments
LinkedInhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Frealpython.com%2Fplatformer-python-arcade%2F
Twitterhttps://twitter.com/intent/tweet/?text=Interesting%20Python%20article%20on%20%40realpython%3A%20Build%20a%20Platform%20Game%20in%20Python%20With%20Arcade&url=https%3A%2F%2Frealpython.com%2Fplatformer-python-arcade%2F
Blueskyhttps://bsky.app/intent/compose?text=Interesting%20Python%20article%20on%20%40realpython.com%3A%20Build%20a%20Platform%20Game%20in%20Python%20With%20Arcade%20https%3A%2F%2Frealpython.com%2Fplatformer-python-arcade%2F
Facebookhttps://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fplatformer-python-arcade%2F
Get tips for asking good questionshttps://realpython.com/python-beginner-tips/#tip-9-ask-good-questions
get answers to common questions in our support portalhttps://support.realpython.com
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
intermediatehttps://realpython.com/tutorials/intermediate/
gamedevhttps://realpython.com/tutorials/gamedev/
What Can I Do With Python?https://realpython.com/what-can-i-do-with-python/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=platformer-python-arcade
Arcade: A Primer on the Python Game Frameworkhttps://realpython.com/arcade-python-game-framework/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=platformer-python-arcade
Build an Asteroids Game With Python and Pygamehttps://realpython.com/asteroids-game-python/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=platformer-python-arcade
https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fplatformer-python-arcade%2F
Continue »https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fplatformer-python-arcade%2F
Sign-Inhttps://realpython.com/account/login/?next=/platformer-python-arcade/
Start Herehttps://realpython.com/start-here/
Learning Resourceshttps://realpython.com/search
Code Mentorhttps://realpython.com/mentor/
Python Referencehttps://realpython.com/ref/
Python Cheat Sheethttps://realpython.com/cheatsheets/python/
Support Centerhttps://support.realpython.com/
Learning Pathshttps://realpython.com/learning-paths/
Quizzes & Exerciseshttps://realpython.com/quizzes/
Browse Topicshttps://realpython.com/tutorials/all/
Live Courseshttps://realpython.com/live/
Bookshttps://realpython.com/books/
Podcasthttps://realpython.com/podcasts/rpp/
Newsletterhttps://realpython.com/newsletter/
Community Chathttps://realpython.com/community/
Office Hourshttps://realpython.com/office-hours/
Learner Storieshttps://realpython.com/learner-stories/
Plans & Pricinghttps://realpython.com/account/join/
Team Planshttps://realpython.com/account/join-team/
For Businesshttps://realpython.com/account/join-team/inquiry/
For Schoolshttps://realpython.com/account/join-team/education-inquiry/
Reviewshttps://realpython.com/learner-stories/
About Ushttps://realpython.com/about/
Teamhttps://realpython.com/team/
Mission & Valueshttps://realpython.com/mission/
Editorial Guidelineshttps://realpython.com/editorial-guidelines/
Sponsorshipshttps://realpython.com/sponsorships/
Careershttps://realpython.workable.com
Press Kithttps://realpython.com/media-kit/
Merchhttps://realpython.com/merch
https://www.youtube.com/realpython
https://x.com/realpython
https://www.linkedin.com/company/realpython-com
https://www.facebook.com/LearnRealPython
https://github.com/realpython/
Privacy Policyhttps://realpython.com/privacy-policy/
Terms of Usehttps://realpython.com/terms/
Securityhttps://realpython.com/security/
Contacthttps://realpython.com/contact/
https://realpython.com/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.