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
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.