This Week
At the beginning of this week, we met up with another development team to test our application. Through a couple of runs, their criticism focused on a few different issues: that our controls were very nauseating and unintuitive, our fire spread was tough to sense without any prior knowledge, and our objectives throughout the scenario were very unclear. This helped us to decide on our goals for the week ahead. We aimed to vastly improve how intuitive and accessible the scenario was. Due to the increasing complexity of the simulation, we also decided to narrow the scope of the entire project to only fire simulations, allowing us to spend more time on the details.
Controls
To improve our nauseating controls, we implemented joystick snap turning, where the joystick can turn the forward direction of the camera in specific degree intervals. We also fixed a misalignment between the player character in the scene and the position of the camera. Together these two changes greatly improve the system of movement, but we are will be doing further testing to ensure that it is a smooth experience.
Fire Dynamics
We greatly changed the way that the fire spreads in the environment and behaves by adding fire components to each flammable object to allow them to catch fire in multiple places and dynamically spread across objects, more similarly to a real fire. We also fixed issues with the sounds that the fire makes in order to make their appearance easier to sense. Many bugs were also fixed in the background with regard to fires overlapping with each other. The smoke associated with each fire was also further developed to build up on the ceiling and grow thicker as with a real fire. Other issues with the physics and collisions of the fire extinguisher with the player were also fixed as well.
UI
To make our objectives clearer, we first added decal components with images that we created in Figma onto the walls. These posters inform the player about fire safety as real posters would in a real-life scenario and point out where the fire alarm is located and what it does. Then we began work on the player's interface directly. We've experimented with creating health bars and progress alerts using widgets, but none of our implementations have been satisfactory so far. Currently, we are developing a system that will have the HUD flash red when damaged with fire, and, potentially, grey when the player comes into contact with smoke to increase immersiveness and allow the user to sense the danger more acutely than just a health bar. We also began work on tracking damage done to the player by the fire, but there is nowhere that it is currently visible. We still haven't fully decided on how we want the alerts for what to do to pop up.
Objectives
We began work on our objective system, by first dividing the the warehouse into its own section of the map with a collision boundary that indicates the edge of the playable area and also that the player has escaped the fire. We also began to design the mission layout and objective system by creating a game state that holds where the player starts and where they should be exiting to as well as what happens if they take too much damage from the fire and smoke, but we still need to further develop the actual steps that a player must follow to successfully escape and figure out how to tie all of that together into a set of missions that could possibly be used in multiple locations around our map. Most of our step by step instruction system still needs to be put into place
Next Up
Our next steps include finishing out the HUD overlay with damage integration, creating the phone to call 911 in an easy-to-use way, adding missions and mission states, and further improving the smoothness of the fire's behavior. We also have ideas for more components that could enhance the experience of the game such as smoke detectors, clothes that can catch on fire, and NPCs that get in the way and only leave when the fire alarm is pulled. We have also thought about how to score each run and are still deciding on the best way to go about it. We are also looking ahead to when we potentially create more places in the map where scenarios can occur by ensuring that everything we do is modular and can be ported over from place to place through mission-specific parameters. We have also begun setting up the data structures that would be important for creating a menu that allows us to select from the different scenarios by creating game states that can be chosen between.
Comments