Skip to content

A fast-paced 2D arcade game built with Python and Pygame. Catch and mix colors, dodge hazards, and chase high scores!

Notifications You must be signed in to change notification settings

saharadoesdev/color-factory-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Color Factory Frenzy 🎨🤖

🏆 Winner, 'Best Design' Award 🏆

A fast-paced 2D arcade game about mixing colors and chasing high scores, built with Python and Pygame.

The Story Behind the Project

This game was developed as my final capstone project for SEO's Tech Developer First Year Academy program (Summer 2025).

After a pivot in direction late in the project, I undertook a solo development sprint to build the entire game from starter code to finished product in the final week. This was a fantastic challenge in rapid prototyping, scope management, and building a polished, player-centric experience under a tight deadline.

How to Play

The goal is to score as many points as you can in 60 seconds!

  • MOVE your robot with the Arrow Keys.
  • CATCH falling paint blobs. If you catch another primary color while already holding one, they’ll mix together automatically.
  • DEPOSIT your held color by moving over the correct bin and pressing the Down Arrow. The bin will highlight when you are in range.
  • DODGE the falling wrenches! Getting hit will stun you and reset your combo.

Key Features

  • Scoring System: Sort colors correctly and build up a Combo Multiplier for more points. Mixed colors earn more points than primary colors!
  • Dynamic Difficulty: The factory malfunctions more over time, becoming more chaotic and increasing the challenge.
  • Full Accessibility: A complete colorblind mode is built into the core design. The game is fully playable by matching shapes, not just colors, making it accessible to everyone.
  • Polished Game Feel: Features carefully selected art assets, custom fonts, and dynamic audio to create a satisfying and engaging arcade experience.
  • Persistent High Score: The game saves your high score locally to encourage replayability.

How to Run

  1. Make sure you have Python and Pygame installed.
  2. Clone this repository.
  3. Run the main.py file: python main.py

Technologies Used

  • Python
  • Pygame

Acknowledgements & Credits

  • The original game concept was ideated by Shalom Donga.

Fonts

Art & Visual Assets

  • Robot Sprite: "Animated Robot Set (png)" by crownjoseph.com via OpenGameArt.org, licensed under CC0 (Public Domain).
  • Background: "Industrial Background 2D" by [Alucard] via OpenGameArt.org, licensed under CC-BY 3.0.
  • Paint Blob Shapes: Shape assets designed by Freepik.
  • Barrels: From the "2D Cartoon Robot" pack by Blaze Fyruss via OpenGameArt.org, licensed under CC0 (Public Domain) and modified for the game.
  • Pipes: From the "2D Pipe parts" pack by TwistedDonkey via OpenGameArt.org, licensed under CC0 (Public Domain) and modified for the game.
  • Wrench Hazard: Public Domain asset via rawpixel.com.
  • Arrow Key Icons: Public Domain asset by Karl432 via Wikimedia Commons.

Music & Sound Effects

  • Menu Music: "Rhythm Factory" by Zane Little Music via OpenGameArt.org, licensed under CC0 (Public Domain).
  • Gameplay Music: "8bit Upbeat Town" by Ted Kerr via OpenGameArt.org, licensed under CC-BY 4.0.
  • Wrench Hit Sound: From the "Metal and Wood Impact Sound Effects" pack by Ogrebane via OpenGameArt.org, licensed under CC-BY 3.0.
  • Clock Tick Sound: "Picked Coin Echo" by NenadSimic via OpenGameArt.org, licensed under CC-BY 3.0.
  • Blob Catch Sound: From the "3 Pop Sounds" pack by wubitog via OpenGameArt.org, licensed under CC0 (Public Domain).
  • Deposit Sounds: From the "Level up, power up, Coin get (13 sounds)" pack by wobbleboxx via OpenGameArt.org, licensed under CC0 (Public Domain).

About

A fast-paced 2D arcade game built with Python and Pygame. Catch and mix colors, dodge hazards, and chase high scores!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages