CAGD 495 (Aftershock Forecast)
Sprint 7 (Aftershock Simulator Sprint 20)
It’s the final blog post of the semester for Aftershock Simulator! I think our team did pretty well, despite our rough transition. In the beginning, we really had no idea what we were doing, and so it’s really quite a shame that we really only got started in the middle of the semester. I think this team was really good and they demonstrated their abilities well.
![]() |
Our team begins at Sprint 14. |
A part of the rough transition we had was essentially our team being confused as to what our goal was and how we would attain that goal. Our goal was for the game to teach the user how to use the Aftershock Forecast in order to better determine what to do in an actual earthquake. But our team has no idea how the Aftershock Forecast even works in the first place, so it’s pretty difficult to teach something you don’t understand. The previous team was only able to get to writing the code for the earthquake simulations, so they weren’t really able to get to any actual gameplay yet.
Learning Objectives |
Another thing that went wrong was the fact that we kind of had to redo most if not all the in-game UI, especially the phone asset. Unfortunately the team had to really rush, so a lot of it was kind of scuffed. The phone UI was stuck in a portrait orientation, making it extremely hard to read the information that it was supposed to display. Our UI designer spent several weeks getting it right. The entire layout of the phone is completely different now. The apps now display their information in a landscape format, and the text is much bigger now. The other parts of the in-game UI (view buttons and action buttons) was moved up to the top of the screen and consolidated into the toolbar along with the objectives.
Original |
Present |
The settings menu was also revamped in order to fit with the style of the in-game UI. One thing that made it harder than it usually would have been is that most of their UI assets were not reusable. Many of the buttons had the text directly on the image of the button, which made editing them way more tedious than it would have been.
Original |
Present |
One thing that went well was the idea of mini tutorials and the objectives system. That idea basically lets us stay within a limited scope while also allowing us to be able to add on to the game when we need to. Simply put, our mini tutorials teach the user a feature of the game, and within the tutorials, we have objectives so that the user can focus on what they know in the level. Our target audience is emergency managers, and they are usually non tech savvy people. That results in our objectives being very simple so we can doubly make sure that we know that they know what each and every part of the game is. This also helps us reach our goal of making sure that the user reaches the learning objectives.
Another thing I think that went well is how the programmers were able to write and design features so that future programmers could understand them easily. Our programmers wrote easy to understand tutorials on how to add in objectives to the objectives system and the dev hack system. We also have a sample tutorial scene for the future tutorials we make, so that the new team can just duplicate the sample and add in dialogue and what not.
Lists the console commands. |
Part of the tutorial on how the dev console works. |
I’ll be sticking around next semester as the producer to help out the teacher, so I hope that we’ll have a much better time working on the project. Now that we have somewhat of a goal to move towards, we can potentially make some decent levels after we finish creating the tutorials. I feel like a difficult part of “restarting” in the next semester is telling the whole team to act as a designer, but at least we can kind of have a head start on what to do.
Sprint 6 (Aftershock Simulator Sprint 19)
For this sprint, there were many important things planned. It’s kind of a shame that this is the penultimate sprint and we’re only now getting to work on teaching the mechanics of the game to the player. This feels like it should be the third or fourth sprint of the semester. We’ve finally gotten into the groove and there’s only 4 weeks left. In any case, we were able to finish up 44 points out of 83 this sprint.
One thing we got started on was a “building debris” mechanic. To put it simply, when a building is damaged, there’s a possibility that it could spawn debris on the road tiles near it. It’s basically an easier implementation of the previously planned “landslide” mechanic, but the difference is that we don’t require input from an expert for the data on how to implement it. Planning is easy, but the hard part is implementing it. Every time a new obstacle is added into the AI’s path, it kind of has to recreate what its available paths are. Doing that is really taxing on a computer, and the amount of times the buildings will spawn debris is random. A basic version has been implemented, and in the next sprint, we’re going to add in the 3D models of the rubble so that it doesn’t just look like gray blocks everywhere.
Some more things we got done is really getting to work on the phone UI. Now that most if not all of its assets are finished, now is the time to use them. Our UI designer had a lot planned for the phone to make it feel a lot better. The quake tracker info section looks a lot nicer than before, giving you more space to see the text. The MMI info section has a nicer looking legend so that you can easily tell the probabilities of what magnitude earthquake might happen. Also, you can maximize and minimize the phone’s space on the screen, so you can pull or close it up depending on what you prefer.
A great addition we had to our in-game UI is the legends that explain the MMI scale and the ground conditions. The soil types are not very obvious at first glance, so having this here is really helpful. The map visualization kind of makes it look like there are more than 4 types.
The settings menu was also redone as the previous one was really rushed and rough. It’s not currently 100% implemented, but all the design is there. Right now only the screen settings and return button should be working properly because we haven’t really focused on the sounds as of now.
We also changed how the tagging buildings mechanic works so that it’s more accurate to the emergency manager experience. Previously, you had to tag the building yourself, but now the game handles it for you if you send a worker over there. The interactable tag menu has been moved to the debug console, in case we’d still like to use it for something. The queueing has also been moved there as technically, it’d be better if we forced the user to need to pay attention to using up their resources.
One thing I’m really proud of is that we were able to get a new map working and looking fine! There’s still stuff that needs to be done as we needed to copy over elements from the previous scenes and we’re going to be creating a tutorial that uses the map. I was terrified that the previous team’s code was more hardcoded than expected, but seems like that wasn’t the case.
I hope that we’ll be able to finish up everything we have in the next sprint. The programming right now is pretty complicated and it’s a bit of a shame that we’ve only been able to get to it so late. It’s the very last sprint, so the deadline is much more harsh than any of the ones we’ve experienced so far. Although technically for our group, we’ve probably been having it way too easy.
Sprint 5 (Aftershock Simulator Sprint 18)
It is now Sprint 18, and there are about 5 weeks left of the semester (excluding break and finals week). Seems like things are about to wind down for the other teams, but for our team, we’re really only getting started! At the beginning of the sprint, we were really running out of things to do. Now that our team has gotten relatively familiar with what’s in the project, we’re beginning to be able to teach more advanced things in the project.
We were able to finish about 45 points out of 88 this sprint. We’re going about the same rate but slightly less this time because I wasn’t able to prepare enough for people to do on kickoff day, so I ended up assigning some tasks later in the sprint. There were mainly bug fixes to be made.
Sprint 4 (Aftershock Simulator Sprint 17)
In Sprint 17 of the Aftershock Simulator project, I assigned 76 points and 48 of those points were completed. The main goal for this sprint was to finish up the rest of the things we had planned: tutorials about the visualization layers, and a dev hack addition too. And of course, we continue our UI fixes too. There are still a few more things to do, but at this rate, we actually will run out of things to do after at least the next sprint.
As a producer, I feel a little bit of frustration when the velocity gets lower, but technically the chart I made doesn’t take into account the team size. The previous team had around 10 people while ours is half that. Just looking at the current team’s velocity, we average around 45 points and steadily going up little by little.![]() |
Our team's velocity, separated from the previous group. |
Even though this sprint is number 4 out of 7 for the semester, our team doesn’t exactly have that hard deadline like the other teams do, so we’re not feeling as much pressure. This in turn somewhat makes it feel like we’re not doing too much, despite the fact that we are running out of things to do. It makes for a mostly stress-free environment, but also I feel like it’s slightly driving down morale due to not having that usual pressure to finish a complete product at the end of the semester. Although, as long as we finish up what we planned, it’s good enough for me.
The tutorials we created this time were about the visualization layers. We need to teach the user what the different colors in each visualization means. To double make sure they get it, there is a level for just viewing them while the city is normal and another level for them to specifically click on a tile of a certain color in the visualizations. In the second visualization level, an earthquake happens so you can see the effects of the earthquake through the layers.
Another thing we did this sprint was add in a dev hack. The only pressing dev hack we really needed was to skip the survey in the first tutorial, but since we talked about having an option to make all objectives completed, we added that in too.
For our UI rehaul, we had talks about changing up the in-game UI, so now it’s a fancy toolbar on the top of the screen. At first, it was just going to be the action buttons and the visualization layer buttons, but then we decided that it would also be a good idea to make the objectives also accessible from there as well.
One thing I noticed when the scenes load is that it looks like it kind of freezes for a second before the level actually loads in. So, we added in a loading screen so that it doesn’t look like it freezes! But, the weird thing is that the loading usually goes from 0 to 100 almost immediately, so it then looks like it’s lagging at 100%... Hopefully that’s fixable.
And yet again, we are almost out of things to do. There are some things that we still need to do and a few new things that we were able to think up. We still need to implement the objectives UI so that the user can actually see them in the game. One thing that we thought up last sprint was for the player to be able to save their progress in the game, and we were able to get that knocked out really easily! We also need to rehaul the phone UI so that it’s more legible and then we also need to create a tutorial explaining it so that the user can understand each part. But overall, I think our team is doing a great job.
Sprint 3 (Aftershock Simulator Sprint 16)
On sprint 16 in Aftershock Simulator, I assigned the team 87 points and 51 points were finished. We’re beginning to pick up now that we have a plan on what to do. In this sprint, our team started on the tutorial levels and the objectives system. And of course, there was some extra work to do for the UI in the game as well.
As a producer, I still find it difficult to gauge the difficulty of a task, especially when it comes to programming. I still end up needing to change the point values of some cards because they end up more difficult than expected. For example, I had figured that creating the basis for the objectives system wouldn’t have been too difficult, but not necessarily. A few of the objectives require you to click certain UI elements on the screen, and the things that would “listen” to those UI elements are all each in their own separate scripts, so now there’s the added work of finding them and knowing where to put the code. I always end up asking people if they think their cards are 3-pointers rather than 1-pointers, but usually they just find that their cards need to be broken down.
![]() |
Objective System Parts |
Sprint 2 (Aftershock Simulator Sprint 15)
Hello! It’s sprint 15 of the Aftershock Simulator project. In this sprint, we had 97 points assigned and 48 completed. More than last time, but to say it’s been a bit of a rough transition is kind of putting it lightly. Later in the sprint, our team had a discussion with our teacher, who is the head of the project. Unlike the previous semester in which there was a student as a designer, our teacher would now take their place in order to avoid this rough transition that we had with future development teams.
One thing I had a bit of difficulty with is that for most of the sprint, I didn’t have access to Github which hampered my ability to understand how the code in the project worked and even how programmers would cre
Sprint 1 (Aftershock Simulator Sprint 14)
Hello! I’m the new producer on the Aftershock Simulator project for the USGS program. The Aftershock Simulator is created with the intention of teaching potential rescue workers how to best save as many lives as possible in the event of an earthquake. As this is a project that’s being continued rather than starting from scratch, I needed to read through the notes that the previous team left over while devising new tasks for the new team. I was a bit worried about not being ready for kickoff, but now that this sprint is over, I think I and the team have almost gotten ourselves familiar with the project and are mostly ready to go. In this sprint, our team was mostly reading through the learning objectives for the game and understanding what was already created. I assigned people new features that might have helped to introduce them into the project, but most of those were not completed just yet.
For this sprint, I assigned the team 81 points and 34 of those were completed.
That doesn’t seem good at all, but that’s because the new team needed to get familiar with what was already in the project. In order for the programmers to start coding anything, they of course need to read through the code and understand what’s going on. In order to make sure they understood the code, I asked the previous designer of the project to devise a little quiz for the programmers to do so they could have a bit of a guide on what to pay attention to when reading through the code.
![]() |
Excerpt of the code understanding quiz for programmers! |
This turned out to be WAY more daunting than expected. For example, it was difficult to find certain scripts as they were mixed in with commented out scripts that didn’t do anything or placed in folders that you wouldn’t think to look in. One new thing I learned was that the commented out scripts are industry standard so other programmers can reference them, but unfortunately it’s frustrating to sift through. Currently, the programmers are still in the process of doing that little understanding quiz, but now they can at least somewhat understand how to code for what they were assigned. I was really scared that I needed to cut down on their load, but they assured me that it was alright.
The way that the class is formatted is a little bit odd in that the animators and the audio creators in the class aren’t assigned to a specific team. Since our project already has work done on it, they were directed to us first. I wasn’t able to give anything to the animators because there doesn’t seem to be anything that requires special animation (yet). I struggled with thinking of stuff for the audio people to do, but I was able to settle on a few soundtracks and some sound effects. Feel free to listen to the main menu music. Although, since there were already sound effects in the project, it’s only going to get harder for me to assign them work!
Comments
Post a Comment