Table of Contents:
- Game Introduction
- Poster
- The Game
- The Gameplay
- The Software
- My Inspiration
- The Development
- New Assets
- Acknowledgements
Game Introduction:
Poster:
The Game:
Chef’s Quest is time management game in which the player, a restaurant owner, must attend customers by taking their orders and delivering them properly. As a time management game, it requires the player to reach a certain goal in a specific order, with limited time and resources. To achieve this, the player must take the order of the customer in a timely manner, pick up the correct order at the counter, and deliver the order to the correct customer. Players will start with five points and will lose the game when they hit zero, where points are lost per error made.
The Gameplay:
In the main gameplay of Chef’s Quest, players start in an empty restaurant. At this point in the game, players can walk around the restaurant using W-A-S-D, but will not have the ability to interact with anything yet.
When customers enter the restaurant, they walk to a table and order an item. The player then walks to the customer and can take their order using left-click. Once the order has been taken, the player goes to the counter to pick up the order, which is among different options– the player must remember which order to pick up. Finally, the player delivers the order to the correct customer. Delivering wrong orders results in points lost, which will lead to losing the game and needing to start over.
At any point in the game, the player has the option to return to the main menu, which will restart the level, by clicking the backspace button. The main menu offers a Play and Exit Game option.
The player also has the ability to pause the game at any point by pushing the spacebar, which leaves the screen visible for the player to see.
The Software:
The game was made using MonoGame, which is a free and open-source C# framework used to make games for multiple platforms and systems. It is not it’s own game engine like Unity is, and instead relies on the use of Visual Studio and a MonoGame extension that can be downloaded to it.
I had no prior experience using MonoGame but was familiar with C# from using Unity in the past. I did not use Unity for this project because it is more suited for 3D games while Chef’s Quest is a 2D game.
To make art assets for the game, I decided to go with Aseprite, which is an affordable pixel art tool used to make 2D animations and other graphics for games.
I did not create my own music, and instead went with free music that was available online.
My inspiration:
My main inspiration for making a game is Stardew Valley. It is a mostly non-stressful and low-stakes game that is great for unwinding after a long day. It has been a game that I’ve played regularly since its release in 2016, and have enjoyed more as time passes. It inspired me to create a game that was low-stakes and easy to play, to give others the same type of experience I feel when playing Stardew Valley.
Stardew Valley, in its entirety, was created by one man which gave me the inspiration to attempt a game on my own.
The Development:
The development of Chef’s Quest started with a basic prototype in which the player was in an empty game scene and was able to move around the screen freely. Customers would spawn onto the screen every 5 seconds and would move towards and follow the player.
The next steps included adding a structure for the customers go to, which in this case, was a table. The table became the new target for the customers.
Then, rather than have the customer walk to the tables directly in the shortest path, a more complicated AI was developed to assist in customer pathing. A* (A-Star) pathing is a method of pathing that utilizes a grid and checks pathing for the lowest-cost route. Each step of the way, the surrounding nodes are checked for passability and travel cost to travel in the most efficient way.
Finally, the last of the main challenges in development included the inventory and points system. As a time management game, this aspect of the game had to occur in a specific order and time restraint.
New Assets:
Acknowledgements:
I would firstly like to thank Dr. Eric Kaltman for his support throughout the semester while working on my game. I would also like to thank CSU, Channel Islands and the Computer Science Program, for preparing me for this project.