A downloadable game for Android

ShoeShop3D was my fourth game, and first game created with a team member, Saeed. I worked under a Game Designer/Artist for his company Unstoppable Games with this being our first game for that company. I took his Game Design vision and implemented it into reality following mockups so that everything was just as he liked. In this game you work in a ShoeShop, and you have customers who want new shoes painted or you to clean their old shoes. This was my first attempt at creating a simulation game.

Game Mechanics:

  • Created a versatile system for design matching, the designer makes premade designs and then the user has to design a shoe similar to the design selected randomly selected
  • Implemented game states and different mechanics per game state
  • Implemented tutorial system for each part of painting/cleaning shoes that disappears once the user does the correct action
  • Used Obi Ropes to create a shoe tying mechanic that allows for designers to make different premade design templates that players have to follow
  • Implemented a level completion tracker, as you complete parts of the level the shoe lace in the top will fill more and more holes until it's filled them all meaning you're on the last part of the level

Challenges & Solutions:

  • Needed a way to have a dirt texture thats cleaned off of the shoes using a brush, so I implemented a custom shader that takes two textures, dirty and clean, and masks the dirt over the clean unless white is drawn at that location.
  • Needed a way to save the users created shoes and show them behind the customer at the beginning so a small version of the texture the user creates for the shoe is saved and reapplied to the shoes placed on the shelf accordingly
  • The shoes uv map had seams for painting at first, so I had to go in and do modifications to the uv map using blender to get it to be seamless

What I'd do differently:

  • I'd redesign the game states system so that they aren't all contained in one script there should be one script that manages all of them and which state they are in using the State Design Pattern and then each state would implement its own code with how its handled for entering exiting etc.
  • Other than that I'd use a dependency injection framework like Zenject as well as create a TouchManager to handle all taps and touches in the game for easy implementation of things like dragging, touch holding etc.

Key Takeaways:

  • With this being my fourth game and first simulation game I've created, I learned a ton; As well as a ton of what NOT to do. I learned to implement different plugins so that I don't reinvent the wheel for example Paint in 3D, DoTween, and Obi Ropes were all used in this project. I learned to not replace the code directly of the assets but instead extend it so that when it's updated the changes aren't overwritten, and I also learned how to use the Unity VFX System, and more.

Download

Download
ShoeShop3D.apk 73 MB