Changes to original map - UQcsse3200/2024-studio-3 GitHub Wiki

Map size

As you can see from the images above, we decided that it would be best to decrease the size of the map. This would be done by reducing the number of tiles. It was also decided that the front customer bench would be replaced by a longer vertical bench that completely covers the left side of the map to promote more flexible map designs. This was done by changing the size in TerrainFactory. We also changed the border in ForestGameArea.

Order docket sizes

To better accommodate the new map changes and addition of extra UI elements in the future, the original docket sizes were too large and needed to be smaller. This was implemented by modifying the tickets to be displayed more horizontal as seen in the images above where the listed ingredients are in the same row as opposed to being separate. This was done by modifying the png for pin line png and the OrderSystem (a few coordinates).

Bench refactoring

I’m thinking of refactoring the Bench class to improve how objects are placed on benches and to make the spawning of bench tiles more efficient. It would involve implementing a system where benches can hold one or more objects, with logic to manage their placement and visibility. Additionally, when spawning bench tiles, I want to optimize the process by making sure that benches are properly aligned with elements and don't overlap with other objects. This refactor would make the bench more dynamic.

We added up doing that by using the BenchGenerator class and the BenchLayout classes. These classes handle generating a bench by using the previously created Bench class as well as uses addAll to add multiple bench tiles together.

Recent Modificaitons

The BenchLayout class was deleted and the BenchGenerator class was used instead to spawn all benches. A couple of functions were added in order to create single bench tiles rather than whole columns and rows. The border was rewritten to be done more efficiently. Instead of using multiple images, a border tile png was created and was used multiple times along the map to create the border. This led to many pngs to not be used and more efficient rendering. This was done during sprint 3, this is the newborder() function in the ForestGameArea class.

Main Menu screen

The main menu screen was modified during the third sprint. The logo was redesigned to match the theme of the game better. Logo

Multiple iterations were made to achieve this final logo. This was the one before the last iteration:

For the background, I originally set it to a photo found online:

image

But I then decided to switch to a background in one of the cutscenes for cohesiveness. In order to add the background I created a MainMenuBackground class to set the elements for rendering similar to how the game screen background was done. This class was also tested by checking if the right functions are called and the right image is loaded in. This class had to be created in order for the buttons and logo to appear on top of the background. Initially I tried adding the image in the MainMenuDisplay class however this did not work even after spending a significant amount of time on it.