frontend icon indicating copy to clipboard operation
frontend copied to clipboard

Game: Refactor and Updates to the Game Simulator

Open lhw-1 opened this issue 1 year ago • 3 comments

As mentioned in #2805, an update for the Game Simulator is currently being planned. Here is the current list of ideas to be tackled:

  • [x] Retire the Object Placement feature. While initially introduced to aid the story-writers with finding the co-ordinates for asset placements (to be written into the checkpoint files), as well as to allow exploring asset placement ideas, the current artwork assets often come with object shadows drawn onto the background images themselves, which limits flexibility on asset placement. Furthermore, the current game simulator cannot be accessed by students, limiting the potential use cases to ones for the story-writers. There is a potential for the Object Placement feature to play a role in flexible chapter design later on, but it may be easier to retire it for now and re-implement it with only the necessary features when needed, especially since the code will still be accessible through commit history of this repository. Completed as of #2810.

  • [ ] Replace the Panel with a Popover & Other UI Improvements. The current panel is somewhat messy both in terms of the UI (it does not scale in size with the simulator itself with browser resizes) as well as the UX (there are issues with the panel not being displayed when the Game Simulator is first launched). Replacing the panel with a popover, or other similar UI components that are more dynamic, would improve things greatly. This will likely be much easier in tandem with the next point:

  • [ ] Modification of how the Game Simulator works. Currently, a Source Academy game is created when the Game Simulator is first entered, and the four buttons are entered into the game as scenes. However, out of these four, only two actually require the game itself: Object Placement and the Chapter Simulator. And neither requires the game to be immediately available. Of course, creating a new game upon request everytime would also be unideal, but the fact remains that we don't need these four features to be available within the game as scenes. The immediate suggestion here would be to refactor the four features out of the game itself, and allow the game to only come into the picture when requested. This decision was also what necessitated the panel to be created as a UI component outside the game itself; by refactoring these out of the game, we can also avoid unnecessary limitations on the UI. More discussions could be had on how to handle the game itself within the simulator.

  • [x] Renaming of UI Components. "Checkpoint Simulator" can be named "Simulate Chapter" instead, and "Chapter Simulator" can be named "Publish Chapter" instead, to better fit their actual functionalities. Completed as of #2836.

  • [ ] Tests for the Game Simulator. Test cases and suites should be additionally implemented for the Game Simulator.

lhw-1 avatar Feb 23 '24 09:02 lhw-1

If I could add:

  • [ ] Use lazy loading for game components. Currently, the game bundle is still being pulled in the public deployment despite the game itself not being available.

RichDom2185 avatar Feb 23 '24 11:02 RichDom2185

The Object Placement feature has been removed as of #2810, but in the future, we will want the feature to be available not just as a story-writer's tool but for the students as a whole, especially given that they can test out various asset combinations for the Customize My Room (CMR) feature.

lhw-1 avatar Feb 24 '24 09:02 lhw-1

Further UI/UX tweaks:

Game Simulator as a whole:

  • [ ] Replacement of the Panel to a Popover, as mentioned in the initial issue description.
  • [ ] The name should be changed once again from Game Simulator to Game Panel, or equivalent. The main purpose for the Game Simulator at its current stage is the Chapter Publishing mechanism, rather than to simulate chapters.
  • [ ] Likewise, the Game Publishing button should be swapped in position with the Game Simulation button (according to importance).
  • [ ] Game chapters that are not relevant should be moved to an archive folder for stories, in order to avoid confusion.

Chapter Publishing:

image image

  • [ ] Include a brief explanation on what Chapter Publishing / Editing can do.
  • [ ] Include a short description alongside the first dropdown that allows user to select a chapter (either "New chapter" for publishing, or an existing chapter to edit).
  • [ ] There should be a dropdown for Chapter Preview Image URL, instead of a text field.
  • [ ] There could be an image preview for the Chapter Preview Image.

Chapter Simulation:

image

  • [ ] The button to download files should be updated to a more commonly used icon for download in order to avoid confusion. (E.g. this or this - or similar icons available).
  • [ ] Include a pop-up to explain what default checkpoint files are.
  • [ ] Include a brief explanation on what Chapter Simulation is about.

lhw-1 avatar Aug 15 '24 02:08 lhw-1