CAGD 377
This is the page for my CAGD 377 work.
Fast Food Tycoon - Postmortem
As the lead for Fast Food Tycoon, I have many things to say about the development of the game. I myself am not the best at any part of the development process, so the lead role is the only one I can do. Besides, I think it would be nice to have a producer role in the future, so I’d like to take this opportunity whenever I can. For the most part, I acted as a 2D Artist, handling the sprites and UI. Learning how to publish to Google Play correctly was kind of a pain, so it’s good that someone like me took the responsibility for that.

App Icon for Fast Food Tycoon
The first thing that I’d like to point out on what went right was that my teammates were, for the most part, doing their work! I remember how in 370, people would wait until the end of the sprint to shove cards in, but in this class, my teammates were disciplined and I never really needed to prod them or anything. I think their work ethic was pretty neat. It really does help to break everything up into one point cards. If anything, it’d be me that needs to step up their game.
Another thing that went well was that asset production was pretty quick. Our modelers made some neat looking appliances and counters, and that allowed us to make our scene look a lot more like a game. As a 2D artist, making sprites and UI went smoothly for me. I was able to rush out some work, which I find really surprising for myself. Usually, I’d be worrying about how good something looks (I still do), but at the end of the day, it just needs to be done.
There were a few things that went wrong. As the game is a simulation game, there’s not exactly any level design to do. It would essentially just be asset production and programming. I thought that this would make it easier on us since we would be able to add in a ton of features into the game. Unfortunately, this turned out to be a double edged sword. After asset production was finished, we mainly had coding tasks left to do. But most of us are not seasoned programmers, so we’d majorly slow down in the work we get done. Our main programmer was really confident that he could take on the bulk of the tasks, even though it was definitely impossible. I decided to have another teammate get the customers to work while our main programmer finished up on getting the workstation minigames running. I had thought she would have been able to get it done within a sprint or two, but it took all the way till the end of the cycle to get it done 100%. As a lead, I had overestimated her abilities. I really should have prodded her more to ask our main programmer for help.The main thing I was thinking of doing differently would just be to take on more programming tasks. I was worried about programming main features because I was incredibly unsure of my programming skills. My coding skills are still at a beginner level, so I was not very confident that I would be able to do it right. Usually what I worry about the most is when I ask for help and I end up understanding so little that they just end up doing it for me. I should’ve taken on the task of programming the customers. I’ve worked with the main programmer in 370, so he is relatively familiar with my coding knowledge.
I could have also prioritized our programming tasks related to the core gameplay loop much sooner. I was still thinking that our main programmer could have knocked out finishing the workstation minigames before working on the customers. But then the modelers were finished with their part, so I needed to give them something to do.
Something else I should have done is to facilitate communication more between the team members. I needed to be much more involved. To be honest, I would say that the only reason I had a relatively stress free time being a lead was because my teammates were quite self disciplined. So, I felt like I didn’t need to do too much in the way of nagging them. However, sometimes they end up not getting things done on time, and I really don’t like to make people mad. I attempted to prod one of the teammates to ask our main programmers for help, but then that seemed to not really happen until the very last minute. The main thing I learned here is to be more assertive, which I know for sure I have problems with.
The first thing that I’d like to point out on what went right was that my teammates were, for the most part, doing their work! I remember how in 370, people would wait until the end of the sprint to shove cards in, but in this class, my teammates were disciplined and I never really needed to prod them or anything. I think their work ethic was pretty neat. It really does help to break everything up into one point cards. If anything, it’d be me that needs to step up their game.
Another thing that went well was that asset production was pretty quick. Our modelers made some neat looking appliances and counters, and that allowed us to make our scene look a lot more like a game. As a 2D artist, making sprites and UI went smoothly for me. I was able to rush out some work, which I find really surprising for myself. Usually, I’d be worrying about how good something looks (I still do), but at the end of the day, it just needs to be done.
There were a few things that went wrong. As the game is a simulation game, there’s not exactly any level design to do. It would essentially just be asset production and programming. I thought that this would make it easier on us since we would be able to add in a ton of features into the game. Unfortunately, this turned out to be a double edged sword. After asset production was finished, we mainly had coding tasks left to do. But most of us are not seasoned programmers, so we’d majorly slow down in the work we get done. Our main programmer was really confident that he could take on the bulk of the tasks, even though it was definitely impossible. I decided to have another teammate get the customers to work while our main programmer finished up on getting the workstation minigames running. I had thought she would have been able to get it done within a sprint or two, but it took all the way till the end of the cycle to get it done 100%. As a lead, I had overestimated her abilities. I really should have prodded her more to ask our main programmer for help.
The main thing I was thinking of doing differently would just be to take on more programming tasks. I was worried about programming main features because I was incredibly unsure of my programming skills. My coding skills are still at a beginner level, so I was not very confident that I would be able to do it right. Usually what I worry about the most is when I ask for help and I end up understanding so little that they just end up doing it for me. I should’ve taken on the task of programming the customers. I’ve worked with the main programmer in 370, so he is relatively familiar with my coding knowledge.
I could have also prioritized our programming tasks related to the core gameplay loop much sooner. I was still thinking that our main programmer could have knocked out finishing the workstation minigames before working on the customers. But then the modelers were finished with their part, so I needed to give them something to do.
Something else I should have done is to facilitate communication more between the team members. I needed to be much more involved. To be honest, I would say that the only reason I had a relatively stress free time being a lead was because my teammates were quite self disciplined. So, I felt like I didn’t need to do too much in the way of nagging them. However, sometimes they end up not getting things done on time, and I really don’t like to make people mad. I attempted to prod one of the teammates to ask our main programmers for help, but then that seemed to not really happen until the very last minute. The main thing I learned here is to be more assertive, which I know for sure I have problems with.
Fast Food Tycoon - Sprint 6
For this sprint, we had a beta build due, so I thought I should make finalized versions of the marketing images. Other than that, I added some more tutorial pages to the recipe book and was finally able to add sprites to the order building window. I unfortunately got sick to the point of throwing up on the weekend in the middle of the sprint, so I couldn’t finish as many tasks as I wanted to. Playtest day ended up being a bit more hectic than I was expecting (we had unexpected bugs pop up and Blackboard crashed), but for the most part it’s fixed.
For the recipe book pages, I added in the fridge and order building tutorials. Both of these are technically self-explanatory, but I wanted to make sure the player knows how to get ingredients and that you actually need to have ingredients before you can get anything from the fridge. I had almost forgotten about the fridge since it wasn’t included in the tutorial drafts that my teammate made.
The playtest jolted me into remembering it because we had two fridges in the scene with two separate storages, and only one would have the ingredients. The fridges also have infinite storage, so only one fridge would ever be usable. Players would get confused about it if they only ever tapped one of the fridges. The order building stations were the same way, even though the programmer told me he made it so that both of them shared the same storage a long time ago.
The marketing images took up the bulk of my time in this sprint. Since I’m the 2D artist on the team, I should be doing the graphic design here! The app icon was fairly easy to finish off since I was able to use my sketch I made many sprints ago. Since the model in the game has a face on it, I added it to the character on the app icon as well. When I was drawing the burger, I looked up 3d models of burgers so that I could get the angle right. By the way, the model I was using was a Krabby Patty, and I ended up using the colors for that on the burger. I feel quite proud of how it turned out.
As for the feature graphic, it took some more time because I essentially needed to start from scratch. I took a screenshot of the scene in the game and then drew over it. I kind of ended up rushing it due to the fact that I got sick over the weekend and I wanted it to be done before playtest day. There’s no shading at all on the appliances! I’d like to make it look better in the next sprint.
I did a teensy bit of coding to change up the visuals. One thing that was noticed in playtest was that the day and money numbers didn’t change in the UI, so I went ahead and fixed that really quickly. This time, I was able to figure out how to make the order building window display sprites instead of text. The programmer showed me how to use vertical layouts in Unity, which makes what I wanted to do a lot easier. With Unity’s layout system, objects that are active in the group will format themselves correctly when another object in the group is set active or inactive. That was such a lifesaver, I thought I had to do it in a completely different and very complicated way.
Since I didn’t get to making the marketing poster in this sprint, I’ll be doing that in the next one. Sprint 7 isn’t a full sprint, so I didn’t assign too much to everyone. I also need to make the stations with ingredients reflect the correct amount of ingredients it has. That is a pretty quick task to do. I think I might want to redo some UI sprites in the game since I want to make them look better.
Fast Food Tycoon - Sprint 5
For this sprint, I mostly continued my work on enhancing visuals in the order building station and adding in the station tutorials. From the design draft my teammate made, I drew out the tutorials and made them fit the recipe book template I made. Also, I added the player UI to the scene and made the recipe book accessible from there.
Redrawing tutorials isn’t very hard, just very time consuming. Each page probably took about an hour each (at night) to do. In previous sprints, I had already drawn a lot of sprites, so it was able to go much faster. I summarized the draft, so each station has its own tutorial page. In Unity, I set up the recipe book so that there’s a left page and a right page content container. There are also buttons at the bottom corners of the content containers. I drew the tutorial pages accounting for them, so a station’s page is made for one or the other side only, or else the buttons would cover the content. Making the recipe book appear and disappear was fortunately not too difficult. Looking things up on Google is a major pain for me because I can literally never find the solution to what I’m trying to do. Fortunately, this time I didn’t have too much trouble and was able to figure it out before the end of the sprint.

I decided to work on the order window. I noticed that the order build menu didn’t have a reset function, so I added that in really quick. Luckily, this was a tiny task. I really don’t like it when games still have that default Unity asset look to it, so I changed out the sprites on the order build menu parts. I also made the background into a color that wasn’t black because the game already looks dark from not using a skybox. A restaurant should have some color in it!

One of the tasks I assigned myself was to make sprites and text appear on the order window to more effectively tell the player what was in the order. Currently, only text appears. It tells the player if there is no food or gives the names of the food items and the amount of each item in the order. Unfortunately, I couldn’t figure it out in time. Using only text is a lot easier because you can just output a string that goes into a Text game object. Including sprites into the mix makes it more annoying because then you need an Image game object, which needs the correct sprite and be aligned correctly.
For the next sprint, I want to work on the marketing images for the game. I started the sketches a while ago, but only now have I decided to work on the marketing images. It’s the last sprint before we can’t add anything new anymore, so I better get these in quick. Since I’m the 2D Artist here, I better get something good looking. My teammates liked the app icon sketch I did, so I’m going to keep using it. The other two I’m going to start over from scratch because I rushed the sketches earlier. I thought the marketing images were due as part of submitting the build, so I rushed really hard for that. I might need to make the poster or feature graphic 3 point cards because drawing and coloring a big image takes a long time. I don’t think it would be a 1 pointer for someone like me because I’m really slow when it comes to drawing. It will take up a lot of my time.
Fast Food Tycoon - Sprint 4
In this sprint, I continued my work on creating UI assets. At this point, most of the game assets we needed were made, so we could spend time adding visual feedback and fluff on places that didn’t have them. Most importantly, I started work on making a “recipe book” that would serve as a tutorial book for making the food items.
One of the UI assets I made was the player UI that would show up on the top of the screen. Technically there was one from Sprint 1, but it was very lacking. It only had space for displaying money and what day it was. I refrained from adding anything to it until now because it’s not exactly part of the core gameplay. So this time, I added the day timer a teammate previously made and added a fill on it so we can program the day progressing later. Also, I added a recipe book button so the player could actually go ahead and read it.
I also attempted to make the buy screen look a bit nicer by making sprites for the buttons and the selected info background menu so that they could be used as their backgrounds. If you make the sprites grayscale, you can use the color setting on the image component to change the color instead of coloring the button in Photoshop. I wanted to make the fridge menu look nicer but I got really worried about breaking its functionality, so for now I left it alone. Since another person on the team made it and made it work while doing so, it looks radically different from the buy screen. I’m still not sure how it works fully.
For the recipe book, I made instructions for creating the burger and fries. I tried to use as few words as possible and explain with pictures. I feel like with that, kids would be able to understand it. I added a teeny lil drawing in the corner of the pages to add some style to it. I wanted the recipe book to have the vibe of it being written in. I guess a fast food restaurant doesn’t really need this kind of vibe from the recipe book but we need some more visual fluff, right? You play a budding restaurant owner. Making a burger and fries are relatively simple, so I didn’t have too much trouble with that. I made it in a way that should make it easy to use as a template so hopefully the other teammates can understand it.
Most of the tasks our team has now are programming related, so I will attempt to focus on that next. I decided to leave writing a tutorial to another teammate so I’d be able to work on getting the recipe book to flip through its pages. I will also make some of the UI in the workstations look a little better. The order building station is very barebones, so I should go and make it better. I still don’t feel very confident in my coding skills, so tasks that would probably be one pointers feel like three pointers. It would definitely take a lot more than 3 hours to do something coding related. I really hate when I break stuff in coding because then I’ll need to waste time fixing it. In a previous sprint I tried to make the tabs on the buy screen clickable so you could access the other sections but I ran into a bug and didn’t know how to fix it. I had to make someone else figure it out, and I hate doing that.
Fast Food Tycoon - Sprint 3
Sprint 3 was a hectic sprint due to the playtest we had. Continuing my role as a 2D Artist, I made a few more sprites that represented the appliances, as well as a few more UI assets. I also worked on sketching out our marketing assets to prepare for the playtest, but apparently we didn’t need that. The sketches were just bare outlines anyway.
Sketch of the Feature Graphic |
In the buy screen, I’d like the player to be able to upgrade their appliances, so I made sprites for the drink machine, flat top, fridge, and fryer. In ibisPaint X, there’s a “rectangle” tool you can use with the brush so that you can draw raster rectangles. It’s not like the Photoshop one, which makes a vector shape. Like in modeling, the appliances don’t require a lot (or any, actually) of curves, so I could easily just make rectangles, edit them with perspective transform, and build from there. My job was made a lot easier by the fact that the appliances were already modeled, so I could use them as references. Although, for other projects, 2D art should be done before 3D art…
Fridge Sprite |
Fryer Sprite |
Other than the work I did this sprint, I’d like to talk about building the game, because it ended up being unnecessarily annoying. When I first uploaded the build we made for the assignment on how to make an .aab file to Google Play, it got mad at me because our target API level was 30, not 31. That was shocking to learn since our team took the time to go over the tutorial and we followed all the steps on the tutorial. Since it outputs the “correct” thing, we figured we were ok. But since we’re using Unity 2020, it doesn’t come with API level 31. When we put the target level API to 31 in the build settings, Unity would ask if we wanted to upgrade the API (and then proceed to not do that at all). We found out this problem during class the Tuesday before playtest day. That was a lot of unneeded stress.
To solve the issue, you needed to download the newer APIs. I thought the school computer would allow us to do so, but it doesn't. Me and another teammate spent time figuring out how to do that. My solution was to download Android Studio and then download the higher APIs from there.
Android Studio settings, where you can download the newer SDKs if Unity isn't letting you. |
I only had to do level 31 but I decided to do up to 33 just in case. Unfortunately, that took about an hour to download. And to build, it took up to an hour and a half. I feel really bad about taking up my teammate’s time. I remember saying, “It would be really annoying if this took more than 10 minutes to build.”
Because we dealt with the build so late, we ended up forgetting a lot of stuff in the build, which made a few things more confusing for playtesters than it needed to be. For example, we didn’t take out the worker primitive in the scene, so players were confused as to why there were two different colored capsules that moved. I’m glad that playtesters could see where our inspirations came from at least.
As for the next sprint, I continue my role as the 2D Artist. I really wanted to do a bit of coding so then our programmer wouldn’t need to grind on those tasks, but then he said it’d be faster for him to do it himself. The rest of us aren’t as good at coding as he is after all. With programming tasks assigned, I gave myself more UI related tasks. Currently, our menus are just blockouts, so I figure I can make them look prettier. Also, I’m going to put in a recipe book so that players can know how to make the food they serve. I’m pretty sure players can tell how the food is made from the food sprites and appliances in the scene, but it doesn’t hurt to have a book.
Fast Food Tycoon - Sprint 2
After the first sprint, there isn’t really much for me to design gameplay wise. We wrote design drafts for just about everything we needed to make a complete game. So for this sprint, I mainly went about making sprites for the various food items we’d have in game. Other than that, I also made the buy screen UI and a menu for the cooked food items in the order building minigame. To be honest, I definitely don’t think I did too much this sprint, since my cards were simple one point cards.
Making sprites wasn’t too hard, but I’m still an amateur artist, so they don’t have that refined and crisp look that other games would have. Instead of going on my laptop to draw, I used my iPad. I’m not a fan of Photoshop, so I like to use more artist-oriented software. The iPad version is nowhere near the PC version, and on my laptop, it makes everything lag really hard. I usually use ibisPaint X, which is a popular mobile app for a lot of artists since it’s free and can do a bunch of stuff. I made them 256x256, which is bigger than they probably should have been, but when making the buy screen, I found that it wasn’t that much bigger than what I ended up using in the game.
Blocking out the buy screen UI was simple, but tedious. Aligning all the parts takes a lot of time. Surprisingly, making the content scroll was incredibly easy (literally less than 10 seconds!). Although, since I wanted it to have tabs for what the player can buy, I needed to do a bit of coding so that the player can switch between the tabs. Unfortunately, I managed to mess that part up, so the programmer had to fix it for me.
While making the UI, I ended up realizing that I hadn’t really thought about things to buy other than ingredients and employees. I added in a tab for upgrading appliances. Players should be able to upgrade the stats of their appliances, but I couldn’t really think of any other stats other than how much each appliance could hold. We could make the cooking appliances cook faster, but that doesn’t make any sense realistically. Also, a flat top being upgraded to hold more patties doesn’t make sense either. I also ended up realizing that for the employees, I couldn’t think about what other stats they could have other than speed. One potential stat I had in mind was happiness. If the employee wasn’t happy working at the restaurant, they’d leave after some amount of time. I was thinking we could let the player change how much they could pay their employees, and if they didn’t pay enough, the happiness would go down.
One task I added last minute for this sprint was to draw a sketch for the game icon. The 1st electronic build is due on Tuesday, so I figured I’d get a leg up on doing the marketing images. It takes me forever to draw even the simplest of things. I hope the sketch is good enough to pass review.
As for now, I’m working on sketching out the feature graphic for our game. I’m thinking of getting a shot of the scene, but the models haven’t been set up in the scene yet. I also need to make sprites for the appliances. Now that there’s an appliance upgrade menu, I need to make sprites for that. For the most part, I’ve ended up being the UI person. I feel really guilty that the programmer had to do all of the coding. He can handle it, but it’s a gigantic crunch. For the next sprint, one of the modelers is coding how the customers work, so there’s some help there. I think that in the sprint after that, I should also contribute some coding work. The sad thing is that if I did, I will probably end up making it so that the programmer ends up doing my task for me.
Fast Food Tycoon - Sprint 1
On this project, I was the lead, so for the first sprint, I mostly went about writing up a bunch of design drafts for how different parts of the game would function(basically pre-production type stuff). Other than that, I set up the UI for the player and the order receipts.
The programmer needs to have a scene set up in Unity in order for them to be able to start working on anything. And before that, we need a map draft that details what the scene looks like so that another teammate can start making the map with primitives.
![]() |
Map Draft of the Restaurant Here's what the primitive my teammate made looks like: |
Working on design drafts felt mostly simple, yet complicated at the same time. I left a few notes on each draft as well as pointed out numbers to test so we all knew what our variables were. Putting thoughts into words on paper is hard. I get worried about not being precise enough. Most of my problems were mainly me getting anxious about missing something early that might be hard to change if I didn’t write it down now. But, I suppose we can edit it later anyways.
Other than making a draft for the map, I made drafts for the fridge selecting minigame, fryer minigame, and order building minigame. These minigames are pretty short, as they really only require you to tap or drag something. I want the game to move pretty fast, so having these little tasks take your concentration away for a bit shortly is paramount. They take as long as the player takes to do a simple action. Not only do I want the player to focus on how to spend the money they make, I want them to focus on actually making the money.
![]() |
Fridge Selection Minigame Design Draft |
The easiest task of this sprint was making the spreadsheets. At this point in time, we don’t really need to think up that many ingredients or recipes. To get the game out, we really only need at least one or two food items on the list. As a result, the list is pretty small. I even made it so that we can easily change the price of what the food costs by editing the profit percentage. The hardest part of the spreadsheet was figuring out how Google Sheets worked.
The Menu Spreadsheet |
Now that the first sprint is done, there really isn’t a lot for a designer to do. In fact, most of the team worked on game assets for this sprint. I am not at all a modeler, so I’m lucky to have them. I am somewhat of a graphic artist, so I figure for the next sprint, I’d be able to work on some of the UI for the selecting minigames. I want to also work on drawing a few sprites so that they can be used on several screens.
Comments
Post a Comment