SE 371 – Project 3

Part 1: 
This project was pretty crazy in the sense that it involved 4 teams collectively working in one big division, ours was Division Atari, and we had around 32 students it it. I was selected as the Team Lead and I quickly organized the Division Discord, which we would use to communicate throughout the entire project. I organized roles, and channels, and helped schedule our first meetings as well.

This allowed the division to get into the swing of things relatively quickly.
The first part of Project 3 once again involved us creating a Design Doc, my team, team 3, was assigned to the Bricks package, and we quickly finished our section of the design document. Other than that there wasn’t much to do in the first part, so during team meetings, which I attended all of them as I was a primary part of the division as the server manager, and team 3 leader, we started planning for future work, and assigning repository managers.

After the last meeting for part 1, I created an event meeting for after part 2 began, and that was basically the jist of what happened for Project 3’s part 1

Part 2:

Part 2 is where coding actually began, and while I haven’t exactly stated it in Part 1, I can summarize what the code exactly consisted of here.
Project 3 involves our Division Atari receiving a buggy and unfinished Tetris game made in Java, and trying to identify the bugs and missing features and implementing them before the week is done. We did this through our use of GitHub issues, and the project board to track tasks and complete them.

At first Team 3 was assigned a few issues regarding the Bricks that fell in Tetris, that were quickly completed by other team members, but by the time Monday rolled around, we, as a division, realized that many vital issues with the code had not been resolved yet, so we decided to organize a ‘debugathon’ that would involve many authorities division members, sitting in #coding-lounge and working for several hours to iron out the many issues left with our code, with this I worked on a plethora of issues that are listed in our github project board.

Issue numbers:
#155 – Pressing any control causes blocks to fall down faster
this issue took the longest to fix, and involved the most classes and code spaghetti, very annoying

#158 – Bricks can repeat too often
Technically this could be considered a new feature, but what I essentially did was implement a 7-bag randomizer that is used by most modern forms of Tetris to help enhance the gameplay experience

#169 – Bricks rotation issues, Brick matrices are not 100% correct and don’t rotate correctly to the right
This one was funny, at some point someone added a fifth matrix to the L-Brick and that matrix turned it into a J-Brick if you rotated it enough, very bizarre, other than that this issue just required a lot of testing and retesting to try and get the rotations to feel good.

#153 – Ghost blocks
This one we never actually finished, although I got a really bugged version of it running on a separate branch, other than that this feature was a complete headache to even try and implement, and unfortunately it never made it in the end.

Other than that I worked on some miscellaneous OS and crash issues that I personally had here and there, and then we finished up the last pull request and completed the project.