ZC's Dress Up

Flash game

A long time ago I was known as zc456. Back then, I created my first game in Flash. It was called ZC’s Dress Up. It was as the name describes as a dress up game. It used drag and drop because the code behind it was simple and I didn’t know how to program back then. I never really considered Flash as a game engine but it worked well for that purpose.

Then Adobe brought Flash and it grew more and more expensive. I only ever stuck with my Macromedia copies because of that, the ones I started with, but those became harder to get and maintain. Later Apple would go to change history with iPhone and kill Flash in the process. Both were unfortunate for two reasons: it was primary art tool and I needed port my dress up game away from Flash before time ran out.

I’ve been exploring different game engines for a long time after I gravitated more towards open source software. This isn’t to say I don’t use proprietary software. I had a license for GameMaker 5 and 6 that I used to create basic games with. Things changed when GameMaker got brought by YoYo Games. I tried varies different game engines after that - most notably MonoGame. I stuck with MonoGame for the latter half of the 2010s as a consequence of trying to learn it for a project I tried to support. They kicked me out for silly reasons. I made several attempts to create a open source port of ZC’s Dress Up to it but the lack of designer and having to write almost everything from the group up made it impractical.

ZC meant Zack, and the protoypes reflected this change

Then I discovered Godot. At that time, 2.0 was still the prominent release but 3.0 was just on the horizon. I experimented with the former and waited until the latter came out to ensure I didn’t shoot myself in the foot. I began porting ZC’s Dress Up with 3.0. Unlike past attempts, this port proved successful. However, the drag-and-drop mechanics from the original meant releasing varies new “editions” of the same version because I kept running out of screen real estate, and I only ever treated Flash as an art tool. Although Godot handles this better with stuff like scroll containers, I doubt people want to scroll, drag and then drop. So I scrapped that original design shortly after the initial port and overhauled the mechanics to be similar to The Sims’ CAS. It was what I wanted from the very beginning but didn’t know how to in Flash.

With the help of friends who were just as interested in it as me, I slowly built up more motivation to use Godot over MonoGame. I created varies one-off games (with some I hope to spin into long-term projects) based off of tutorials. This helped in giving me the confidence I needed to finally switch.

Final result

ZC would eventually mean Zack Casey and refer to my character rather then myself. This lead to name changes in the game when I decided to briefly name him Nathan. But that confused people who thought I was the character. Luckily, the character I do use to represent myself, Anthony, became a blue fennec because I missed the blue fur but I didn’t want to give up the fennec. Zack was a blue fox and my first character. And so the name became Tony’s Dress Up and the character sprite was changed to reflect that too.

The original port had a very monolithic design. I didn’t want that and slowly began to decouple as much as I could based everything I had learned over the course of last and this year. I also had a better understanding on how to theme and create better UI. I used Kenny’s UI Pack to completely redo it from scratch. In retrospective, I should have switch to one of their fonts too, but the modular design was the highest priority. Between the decoupling process, I redid all the sprites in Inkscape so I could open source them too and remove the final dependency on Flash. I don’t know if it counts as a port, re-master, full on sequel or all of the above (somehow) because of how much it is and isn’t like the original. Maybe a re-imagining?

That aside, although this very simple game on the outside, the process of making it has been a journey in understanding Godot and game development itself as a whole. The knowledge I’ve gained will become very valuable going forward. To celebrate, I’ve included the original Flash games in the source. You can try it out on Ruffle’s demo page.

Written on June 28, 2020