- refactor fighter class to handle life loss using chain of responsibility
- add fighter powerup states to accommodate fire support status
- add fire support 1, fire support 2, and shield drops
- change drop mechanism for enemies to accommdate new powerups
- change sprites for powered up fighter
- add sound effects for fire support strats and pickups
- randomize fire support 2 missile starting x values
This week I had merge conflicts with Fighter class code due to the extensive refactors and pattern application. However, because we were very clear on what each team member was working on so the conflict areas were not difficult to understand. I was able to resolve them indivially after spending some time going over the details. No real blockers encountered.
This was an especially hectic week for our team members because it is that time of the semester where all classes are starting to have projects due. Everyone's time became more valuable than usual due to its scarcity. We needed to be especially respectful of everyone's time and stress levels, and we communicated prompty to update one another on our progress. We were respectful of one another's expertise over their own part of the code, and merge conflicts were resolved with extra care to not make any modifications that would affect features that other team members were working on.
- add fire support to fighter
- add fire support base strat
- add custom movement laser
- add fire support strat 1
- add Timer mechanism for non-actor/non-world objects
- add fire support strat 2
- apply state pattern to handle power up effects
- update drop mechanism to accommodate different types of powerup items
The part of the code that I was working on was mostly isolated from the others' parts, so there weren't any merge conflicts. The code base is simple enough that any bugs encountered this week was not hard to deal with so nothing would constitute as real blockers for this week.
We were respectful of one another's time and ideas, as usual.
We knew who was working on which feature and trusted one another's ability to get it done. The standup meeting went smoothly without issue. In discussing features and changes, we were able to do so in a civil manner without conflict. We understood that everyone's intention is to contribute to the common goal of making a more interesting game.
- Extended enemy classes to drop powerups on death
- Refactored player object class to accommodate health pick up effect
- Implemented health pick up feature
- Design 4 more powerup features
- Implement 2 more powerup features
At this stage of the project, I was mostly still experimenting with project codebase and testing in powerup feature branch. Bugs encountered were minor and were not hard to figure out, so there were no real blocker encountered this week.
The team has been respectful towards one another's ideas and opinions. As we worked on the planned features and gained better understanding of the adopted codebase, ideas for those features evolved. We were respectful of each team member's expertise on his part of the codebase, and trusted one another to modify the specific implementations of the previously discussed plans. As a result, each team member's creativity was being utilized to a fuller extent, and we were even more enthusiastic than before about the additions we were making to the game.
- Dived into Greenfoot documentations and followed Greenfoot tutorials to learn how it works and how to use it
- Searched for open-source code that we would use as a foundation for the project; explored different projects to compare their feasibility
- Met with the team to discuss and finalize a project to work on
- We decided to improve a classic space-shooter clone made by someone else
- Collectively brainstormed new features to add to the base game
- Add power-up pickup feature to game
- Add power-up effects to game
- Organize and update scrum board/burndown chart
- No real blockers for this ideation phase of the project, the only minor difficulty was finding a time when everyone was available to discuss project ideas and make the initial decisions to get the work started.
All team members have been respectful of everyone's time. Before we started working on the project, we needed to have a lengthy discussion to finalize ideas and lay out the details of what we will do. In order to schedule a meeting for this, everyone informed the team of his own time availability. It turns out that initially we didn't have a good time slot during the week when everyone was available. So those with schedules that were a little more flexible were able to accommodate those with more rigid schedules, and we were able to resolve the scheduling conflict in a respectful way.
When we came together to discuss and decide on the project details, everyone was respectful of one another's opinions. During the brainstorming session, when someone would have questions or concerns with a proposed feature or idea, we were able to voice them in a respectful way. As a result, we ended up with a plan that was acceptible to everyone.
Zeus icons created by Freepik - Flaticon
Poseidon icons created by Freepik - Flaticon
Shield icons created by Freepik - Flaticon
Bomb icons created by Freepik - Flaticon
powerdown sound by leviclaassen
explode sound by jalastram
firesupport sound by EminYILDIRIM/
shield sound by OwlStorm
powerup sound by Eschwabe3
heal sound by taikodrum