What is Floof Cafe?
A 2D time management cafe simulator game inspired by Diner Dash. To learn more about the game's core mechanics, objectives, and systems, please view the GDD Document.
Design Process: Brainstorming
During the brainstorming phase, we first throw out rough concepts and ideas. We also establish key words and when something clicks, we build upon that foundation.
In this case, the keywords that we built upon was "Animals" and "Restaurant".
Design Process: Setting The Foundation
After we decided on the core idea, we start to brainstorm ideas for core gameplay and mechanics. We also researched related games. That is when I came across Diner Dash and proposed that we used it as our reference point.
Design Process: Refinement
We were able to set up our core pillars: Animals, Restaurant, and Time Management. Based on these core pillars, we proposed features that we can implement to flesh out the concept until we had something solid to work with. The artists begin designing characters and the restaurant layout.
Design Process: Prototyping
For our prototype, we decided to use Unity 2D. While the programmers are making the custom engine, my fellow designer and I began working on the prototype. He was in charge of scripting the AI while I implemented the interactions and all the other features. It's wonky but we got the main features down. While prototyping I also guided the programmers and artists towards our vision.
Design Process: Custom Engine & Art
While the artists design the characters and restaurant layout, I would continue to give them feedback. We decided to do sprite animations as it's easier for the programmers to implement into the engine. Though this became a bit more laborious for the artists, it was at least a straightforward process.
Design Process: Prototyping in Custom Engine
The programmers taught us how to use the engine and using the engine, we began implementing the features from the Unity prototype into the custom engine. However, instead of C#, we had to script in C++. Luckily, our programmers made it so that we could script like we usually do in Unity by calling components and its properties and such. We eventually got used to it.
Design Process: Downscoping and Task Distribution
Once the programmers were done with the custom engine and could help us with gameplay scripting, I drafted up a document of all the features (and debugging) we would need and had the programmers assign themselves to each task. Of course, we had to end up scrapping some tasks simply due to lack of time, but we didn't have to cut too many.
Design Process: Overcoming Miscommunications
Sometimes systems are not properly implemented due to the complexity of it and I had to draft up flowcharts. For one particular flowchart I had to make it understandable at a glance since my fellow designer was not very good at English.
Post-Mortem
The game came out well and we were all quite proud of the project. Though I communicated well with my teammates, my documentation was not very well-organized and detailed enough for them to understand it right away. I feel like since we're a small team it wasn't as bad since we can simply talk on Discord and clarify, but it will become an issue in a bigger team.