This is a beginner-friendly Icy Towerβstyle platformer built using Python's Turtle Graphics module.
The code is part of a full YouTube tutorial series, where we build the game step by step β covering everything from movement physics and wall bouncing to infinite vertical scrolling, UI, and visual effects.
YouTube Playlist: Icy Tower in Python - Full Tutorial Series
Use the links below to access the code for each episode:
- Episode 1 β Project & Screen Setup
- Episode 2 β Wall & Platform Rendering
- Episode 3 β Player Movement & Keyboard Input
- Episode 4 β Physics & Collision
- Episode 5 β Screen Scrolling & Platform Recycling
- Episode 6 β Score Tracking & Game Over
- Episode 7 β Graphics & Audio
π View Full Project Structure
Follow along to:
- Learn how to simulate physics-based platformer gameplay
- Use Turtle Graphics to draw, animate, and update game elements in real time
- Implement scoring systems, infinite scrolling, and jump effects
- Polish your game with sprite animation and audio feedback
icytower-turtle-python/
β
βββ README.md
βββ LICENSE
βββ .gitignore
βββ media/
β βββ final_game.mp4
β
βββ episodes/
βββ episode01/ # Project & Screen Setup
β βββ README.md
β βββ constants.py
β βββ main.py
β
βββ episode02/ # Wall & Platform Rendering
β βββ README.md
β βββ constants.py
β βββ main.py
β βββ renderer.py
β
βββ episode03/ # Player Movement & Keyboard Input
β βββ README.md
β βββ actors.py
β βββ constants.py
β βββ main.py
β βββ renderer.py
β
βββ episode04/ # Physics & Collision
β βββ README.md
β βββ actors.py
β βββ constants.py
β βββ main.py
β βββ renderer.py
β
βββ episode05/ # Screen Scrolling & Platform Recycling
β βββ README.md
β βββ actors.py
β βββ constants.py
β βββ main.py
β βββ renderer.py
β
βββ episode06/ # Score Tracking & Game Over
β βββ README.md
β βββ actors.py
β βββ constants.py
β βββ main.py
β βββ renderer.py
β
βββ episode07/ # Final Game β Graphics, Audio & Effects
βββ README.md
βββ actors.py
βββ background.gif
βββ constants.py
βββ floor.gif
βββ jump.wav
βββ main.py
βββ plat_6.gif
βββ plat_7.gif
βββ plat_7.png
βββ plat_8.gif
βββ plat_8.png
βββ plat_9.gif
βββ plat_10.gif
βββ plat_11.gif
βββ plat_12.gif
βββ player.gif
βββ player_45l.gif
βββ player_45r.gif
βββ player_90l.gif
βββ player_90r.gif
βββ player_135l.gif
βββ player_135r.gif
βββ player_180.gif
βββ player_left.gif
βββ player_right.gif
βββ renderer.py
βββ wohoo.wav
π¦ Note:
episode07/contains the final version of the complete game.- Sound effects are played using
aplay(Linux) β you may need to adjust the command for Windowswinsoundor macOSafplay. - Game physics and scoring logic can all be tweaked in
constants.py.
No external libraries needed β just Python 3.x.
Make sure turtle is available (it's included with standard Python installs).
python main.pyThe game window will open, and you can start playing Icy Tower using the Right & Left arrow keys to move and Space key to jump.
Created by TheWannabeCoder
Making simple, hands-on Python tutorials for beginners.
YouTube: @TheWannabeCoder
This project is licensed under the MIT License.