MIX&MATCH!
A totally normal dress-up game... or is it?
Try it out
https://saiphzzo.itch.io/mixmatch
Inspiration
MIX&MATCH! was born out of a feeling most teenage girls experience... the exhausting, mental struggle between who you are and who the world wants you to be. We wanted to take a genre that's always been about fun and freedom (the dress-up game) and turn it into something that actually says something.
What It Does
MIX&MATCH! is a short, interactive experience that draws on elements of meta-horror indie games, with a touch of social commentary. It explores a teenage girl's struggle with identity and self-expression, blending aspects of traditional dress-up games and popular meta visual novels like Doki Doki Literature Club.
How We Built It
MIX&MATCH! was built primarily in Godot, an open-source game engine, after a lot of trial and error and more tutorials than we can count. All game assets, including character art, backgrounds, clothing items, and cutscene panels, were hand-drawn and designed by us, using Krita/Procreate for illustrations and Canva for background elements.
The game features:
- A custom drag-and-drop clothing mechanic with snap zones
- A character creator that saves the player's name and skin tone across scenes
- A typewriter terminal text effect
- Two branching endings based on player choice
- hand-drawn cutscenes
- over 80 possible outfit combinations
Challenges We Ran Into
Building such an ambitious project with a tight deadline, and working across time zones between Egypt and India might have proved more of a challenge than the technical aspects of building a functioning game. We had to cut several ideas from our initial vision to match the time we had, including additional rounds, character customization options, and a longer cutscene sequence.
On the technical side, although GDScript felt pretty intuitive for someone familiar with Python, Godot's node and scene architecture takes a while to get used to. Getting the drag-and-drop mechanic, especially, to behave consistently across different scenes took significant debugging time.
Accomplishments We're Proud Of
With experience only in simple clicker games and basic platformers, building something with this level of mechanical complexity, narrative depth, and hand-drawn art was a huge step.
We're proud of:
- The drag-and-drop system — only took 10 hours of work and debugging :')
- The art — every character, clothing item, background, and cutscene panel was hand-drawn with love❤ for this game
- The creative execution — we took elements from our favourite childhood games and combined them into a single interactive experience
- Actually finishing it — we had an ambitious idea, a deadline, and we shipped it!!
- The message — building something that actually says something, not just something that works
What We Learned
Technically, we learned Godot from the ground up: scene architecture, GDScript, autoloads, AnimatedSprite2D, collision polygons, CanvasLayers, and signal connections, as well as the importance of being patient. Beyond the code, we learned what it actually takes to go from a game concept to a finished, playable experience and how to communicate and collaborate asynchronously across time zones.
What's Next for MIX&MATCH!
The version you're playing is the beginning. The full vision includes:
- More customization — additional body types, hairstyles, and clothing items that reflect a wider range of identities and styles
- A longer storyline — more levels, more scenes, deeper character development
Built With
- Godot Engine — game engine
- Krita — all character art, clothing, and cutscene illustrations
- Canva — background design
- GDScript
Resources that helped
- an extra special shoutout to SnowDayDev, her Godot dress-up game tutorial series was instrumental to the success of this project
- Rotten Apple Games, for the terminal text effect
- Gwizz, saved the day after struggling to figure out how to export our project
- Max O'didily, how to use shaders in godot
Built With
- canva
- gdscript
- godot
- krita
- procreate

Log in or sign up for Devpost to join the conversation.