This is a simple drag-and-drop cooking game analogous to Diner Dash or any of those old restaurant-management Flash games. I've been learning to cook for a while, and noticed that the main struggle I've been having has been to make sure that everything is all timed properly and prepped to go. I have a nostalgic soft spot for Flash games, and I thought the genre did a good job capturing these struggles, so I set out to make a simple clone of games like that.

Initially, I made a simple system of clicking and dragging using raycasts and SpriteRenderers, and that worked out well, so I decided to just make a bunch of different kinds of objects and save all the art until later. This ended up biting me in two ways: 1) making tons of different kinds of objects is a big time sink that ultimately may not help, and may actually box you in if you want to add another feature but have already built out architecture that doesn't support it, and 2) making simple sprite-based prototypes that change colors makes it very difficult to incorporate animators, which is a completely different kind of workflow and necessitates a lot of head-scratching to figure out how to slip the animation components in without breaking all of your code.

In the end, I'm happy with the project I have, especially given the amount of time invested. But one challenge that remains outside the scope of this project is a central game manager to manage levels, score, time, etc. Turns out that state management is really important in video games, and making a bunch of components that all talk to each other in different ways doesn't play nicely with trying to drop a big central state manager in after all those components are running properly is an absolute nightmare. Some components respawn, others teleport, some store their data in child objects, others in scripts, others in public variables, others in sprites, and getting all of these things to communicate with each other without breaking each other is nigh impossible. Ultimately, the difficulties I faced when adding a GameManager script are a testament, both to the importance of clean code architecture and to actually planning what your game is going to be in all aspects before you start working.

StatusPrototype
PlatformsHTML5
Author8x5clPW2
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.