top of page
mycloset_thumb.png

AVATAR BUILDING GAME
Alpha Demo

2022 Version

My freshman year of university, I began developing a small avatar building game inspired by early 2000s computer games and graphics. Designing this game was also meant to be a practice and demonstration of my asset creation and programming skills.​ I was a complete beginner to game scripting, so I wanted a challenge to help me learn on my own. 

Over the year of my making this, I learned quite a bit about data handling and UI interaction. Sprite layering was also something I had to experiment with a lot. At first, I had a lot of trouble trying to figure out how each tab of the customization menu would store every sprite and separate them by pages, as well as how that customization would then translate to the actual character sprite itself. Saving custom colors was also finicky due to a toggle system within the tabs of the menu. 

By the time I was getting deeper into development, I had realized I was learning faster than I was developing the game, resulting in new, cleaner code clashing with old, messy code. It wasn't up to standard with what I was now practicing, so I decided to start over!

2025 Version

I begin to recreate the game during 2025, then finally completed the demo in early 2026. Quickly, I realized that I'd become much faster at understanding how the systems would work, and it was a lot easier to anticipate problems in the future. However, I was still quite a beginner, and I definitely learned things still.

While storing the game's data became simpler, it was still handled in a way that today, I would have not done. To keep things simple: both the character sprite and the customization window are their own objects with their own data structures. I think that the decision to separate the structures instead of using a common, more organized one was a poor design choice, since this led to one object constantly checking the other object for the same customization item. 

Additionally, I started experimenting with blend mode scripting to solve the issue of GMS2's built-in color layering causing the sprites to not retain the different values in the customization sprites. Meaning: if a pair of shoes had white soles and the player colored the shoes red, the engine would color the white soles the same shade of red as the canvas of the shoes. A custom overlay shader had to be programmed in to avoid excessive sprite splitting and layering, which turned out perfectly, I think!

The art was also revamped, and shading was added to the sprites. While it's still not perfect, I much prefer the newer art style to the older one. The older one was kind of creepy. 

The game itself can be downloaded for free on itch.io here

Code on GitHub can be found here.

bottom of page