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 Windowswinsound
or 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.py
The 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.