Project 3 - Implementation Week 2

Week two was a big week for team 8 and the Nintendo Division. The first few days of week two were finishing the core implementation of the project from 80% to 100% and merging all the partitions together.

The first step for team 8 was to resolve several big issues with our class implementation. During the review process several bugs in our Unit tests and flaws in our game logic were discovered. We worked through these various issues step by step until with had a much more complete and logically sound implementation. The classes finally passed build automation tests and our code was passing all unit tests.

The merging process was handled by the division leader and team 5. During the process several issues were discovered but overall the merge went well and the game was in a playable state. All teams were assigned to begin playtesting and discover bugs.

During the playtesting process a major bug with the MovementManager was discovered. Under certain circumstances it was placing blocks in a floating position or not placing them at all causing an infinite game loop. We tracked the issue’s origin to a flaw in our game logic regarding how placement is triggered.

Fortunately I was able to apply a small but distinct refactor to the MovementManager class, preserving it’s overall functionality but fixing the bug.

The other big issue assigned to team 8 was implementing the PlaceDown feature, where a block is dropped immediately if spacebar is pressed. The problem was that while all other movements are calculated by the GameShape class, PlaceDown has no calculation in GameShape.

Team 8 was able to come up with a design to implement PlaceDown as a sequence of MoveDown calls in a single frame. This allows the feature to work within the current MovementManager and GameShape design with a need for complex code or major refactoring.

We continued playtesting throughout the weekend to make sure the game was in a state very close to finalization before the week begins and people get too busy.

Next
Next

Project 3 - Implementation Week 1